Barnhart is a census-designated place (CDP) in Jefferson County, Missouri, United States. The population was 6,631 in the estimated 2007 census. It was 6,108 at the 2000 census.
Barnhart is located at 38°20′16″N 90°24′14″W / 38.33778°N 90.40389°W / 38.33778; -90.40389 (38.337914, -90.403822).
According to the United States Census Bureau, the CDP has a total area of 5.3 square miles (13.7 km²), of which, 5.1 square miles (13.3 km²) of it is land and 0.1 square miles (0.4 km²) of it (2.65%) is water.