Saint Charles is located at (38.788698, -90.511764). According to the United States Census Bureau, the city has a total area of 20.8 square miles (54.0 km²), of which, 20.4 square miles (52.7 km²) of it is land and 0.5 square miles (1.2 km²) of it (2.30%) is water.