St. Charles is a village located in Saginaw County, Michigan. St. Charles has a 2026 population of 1,945. St. Charles is currently declining at a rate of -0.56% annually and its population has decreased by -2.56% since the most recent census, which recorded a population of 1,996 in 2020.