St. John is a city located in Stafford County, Kansas. St. John has a 2026 population of 1,173. It is also the county seat of Stafford County. St. John is currently declining at a rate of -0.85% annually and its population has decreased by -4.17% since the most recent census, which recorded a population of 1,224 in 2020.