Charlo (Salish: sallu ) is an unincorporated community and census-designated place (CDP) in Lake County, Montana, United States. The population was 379 at the 2010 census, down from 439 at the 2000 census.
Charlo is located in southern Lake County at 47°26′24″N 114°10′23″W (47.440017, -114.173171), along Montana Highway 212. It is 4 miles (6 km) west of U.S. Route 93 and 22 miles (35 km) south of Polson, the county seat. Via Highway 212 it is 13 miles (21 km) northeast of Dixon. Ninepipe National Wildlife Refuge, surrounding Ninepipe Reservoir, is 1.5 miles (2.4 km) east of Charlo.
According to the United States Census Bureau, the CDP has a total area of 2.0 square miles (5.2 km2), of which 0.01 square miles (0.03 km2), or 0.58%, are water.
Charlo is within the Flathead Indian Reservation.
At the 2000 census, there were 439 people, 166 households and 112 families residing in the CDP. The population density was 219.4 per square mile (84.7/km²). There were 175 housing units at an average density of 87.5 per square mile (33.8/km²). The racial makeup of the CDP was 76.77% White, 1.14% African American, 17.77% Native American, 2.05% from other races, and 2.28% from two or more races.