St. Francis is a town located in Todd County, South Dakota. St. Francis has a 2026 population of 468. St. Francis is currently growing at a rate of 0.65% annually but its population has decreased by -0.43% since the most recent census, which recorded a population of 470 in 2020.