The Town Files

25 Small Towns in Illinois With the Mildest Winters

Ranked by january average low (°f) among 238 towns of 500–10,000 people in Illinois. #1 is Anna, IL (January lows average 25.4°F).

Map of the 25 towns12345678910111213141516171819202122232425
Numbers match the ranking.
25 Small Towns in Illinois With the Mildest Winters1. Anna252. Metropolis253. Mount Carmel254. Murphysboro255. Fairfield256. Highland247. Mascoutah248. Lebanon249. Freeburg2410. Smithton2411. Scott AFB2412. New Baden2413. Trenton2414. Caseyville2415. Millstadt2416. Madison2417. Washington Park2418. Harrisburg2419. Chester2420. Red Bud2421. Eldorado2422. Du Quoin2423. Pinckneyville2424. Carterville2325. Johnston City23
  1. 25Johnston City, Illinois

    January lows average 23.4°F

    Johnston City is a city of 3,384 people in Williamson County, Illinois. January lows average 23.4°F and July highs 88.1°F, with about 38 days a year at 90°F+ and 10 inches of snow.

    3,384 people · Williamson County · median home $88,100 · income $42,465 · Jan low 23°F · 10 in snow

    Full Johnston City, Illinois profile: weather, storms, schools, jobs →

    Johnston City average highs and lows by month20°40°60°80°JFMAMJJASOND23°88°
    NOAA 1991–2020 normals, Carbondale Sewage Plt station.
  2. 24Carterville, Illinois

    January lows average 23.4°F

    Carterville is a city of 5,848 people in Williamson County, Illinois. January lows average 23.4°F and July highs 88.1°F, with about 38 days a year at 90°F+ and 11 inches of snow.

    5,848 people · Williamson County · median home $197,100 · income $62,337 · Jan low 23°F · 11 in snow

    Full Carterville, Illinois profile: weather, storms, schools, jobs →

    Carterville average highs and lows by month20°40°60°80°JFMAMJJASOND23°88°
    NOAA 1991–2020 normals, Carbondale Sewage Plt station.
  3. 23Pinckneyville, Illinois

    January lows average 23.9°F

    Pinckneyville, Illinois
    Photo: Nyttend (public domain, Wikimedia Commons)

    Pinckneyville is a city of 5,066 people in Perry County, Illinois. January lows average 23.9°F and July highs 87.2°F, with about 38 days a year at 90°F+ and 9 inches of snow.

    5,066 people · Perry County · median home $133,500 · income $69,583 · Jan low 24°F · 9 in snow

    Full Pinckneyville, Illinois profile: weather, storms, schools, jobs →

    Pinckneyville average highs and lows by month20°40°60°80°JFMAMJJASOND24°87°
    NOAA 1991–2020 normals, Du Quoin 4 Se station.
  4. 22Du Quoin, Illinois

    January lows average 23.9°F

    Du Quoin is a city of 5,827 people in Perry County, Illinois. January lows average 23.9°F and July highs 87.2°F, with about 38 days a year at 90°F+ and 12 inches of snow.

    5,827 people · Perry County · median home $83,100 · income $54,409 · Jan low 24°F · 12 in snow

    Full Du Quoin, Illinois profile: weather, storms, schools, jobs →

    Du Quoin average highs and lows by month20°40°60°80°JFMAMJJASOND24°87°
    NOAA 1991–2020 normals, Du Quoin 4 Se station.
  5. 21Eldorado, Illinois

    January lows average 24.0°F

    Eldorado is a city of 3,743 people in Saline County, Illinois. January lows average 24.0°F and July highs 89.1°F, with about 43 days a year at 90°F+ and 9 inches of snow.

    3,743 people · Saline County · median home $66,200 · income $37,154 · Jan low 24°F · 9 in snow

    Full Eldorado, Illinois profile: weather, storms, schools, jobs →

    Eldorado average highs and lows by month20°40°60°80°JFMAMJJASOND24°89°
    NOAA 1991–2020 normals, Harrisburg station.
  6. 20Red Bud, Illinois

    January lows average 24.0°F

    Red Bud is a city of 3,804 people in Randolph County, Illinois. January lows average 24.0°F and July highs 89.1°F, with about 58 days a year at 90°F+ and 10 inches of snow.

    3,804 people · Randolph County · median home $171,000 · income $71,850 · Jan low 24°F · 10 in snow

    Full Red Bud, Illinois profile: weather, storms, schools, jobs →

    Red Bud average highs and lows by month20°40°60°80°JFMAMJJASOND24°89°
    NOAA 1991–2020 normals, Kaskaskia Rvr Navigation Lock station.
  7. 19Chester, Illinois

    January lows average 24.0°F

    Chester is a city of 6,814 people in Randolph County, Illinois. January lows average 24.0°F and July highs 89.1°F, with about 58 days a year at 90°F+ and 12 inches of snow.

    6,814 people · Randolph County · median home $111,700 · income $80,625 · Jan low 24°F · 12 in snow

    Full Chester, Illinois profile: weather, storms, schools, jobs →

    Chester average highs and lows by month20°40°60°80°JFMAMJJASOND24°89°
    NOAA 1991–2020 normals, Kaskaskia Rvr Navigation Lock station.
  8. 18Harrisburg, Illinois

    January lows average 24.0°F

    Harrisburg, Illinois
    Photo: Ruhe1986 (talk) (public domain, Wikimedia Commons)

    Harrisburg is a city of 8,219 people in Saline County, Illinois. January lows average 24.0°F and July highs 89.1°F, with about 43 days a year at 90°F+ and 7 inches of snow.

    8,219 people · Saline County · median home $84,100 · income $43,415 · Jan low 24°F · 7 in snow

    Full Harrisburg, Illinois profile: weather, storms, schools, jobs →

    Harrisburg average highs and lows by month20°40°60°80°JFMAMJJASOND24°89°
    NOAA 1991–2020 normals, Harrisburg station.
  9. 17Washington Park, Illinois

    January lows average 24.1°F

    Washington Park is a village of 2,592 people in St. Clair County, Illinois. January lows average 24.1°F and July highs 89.0°F, with about 46 days a year at 90°F+ and 14 inches of snow.

    2,592 people · St. Clair County · median home $37,500 · income $38,750 · Jan low 24°F · 14 in snow

    Full Washington Park, Illinois profile: weather, storms, schools, jobs →

    Washington Park average highs and lows by month20°40°60°80°JFMAMJJASOND24°89°
    NOAA 1991–2020 normals, Cahokia St Louis Ap station.
  10. 16Madison, Illinois

    January lows average 24.1°F

    Madison is a city of 3,171 people in Madison County, Illinois. January lows average 24.1°F and July highs 89.0°F, with about 46 days a year at 90°F+ and 13 inches of snow.

    3,171 people · Madison County · median home $58,900 · income $49,326 · Jan low 24°F · 13 in snow

    Full Madison, Illinois profile: weather, storms, schools, jobs →

    Madison average highs and lows by month20°40°60°80°JFMAMJJASOND24°89°
    NOAA 1991–2020 normals, Cahokia St Louis Ap station.
  11. 15Millstadt, Illinois

    January lows average 24.1°F

    Millstadt is a village of 4,071 people in St. Clair County, Illinois. January lows average 24.1°F and July highs 89.0°F, with about 46 days a year at 90°F+ and 9 inches of snow.

    4,071 people · St. Clair County · median home $230,500 · income $90,901 · Jan low 24°F · 9 in snow

    Full Millstadt, Illinois profile: weather, storms, schools, jobs →

    Millstadt average highs and lows by month20°40°60°80°JFMAMJJASOND24°89°
    NOAA 1991–2020 normals, Cahokia St Louis Ap station.
  12. 14Caseyville, Illinois

    January lows average 24.1°F

    Caseyville is a village of 4,400 people in St. Clair County, Illinois. January lows average 24.1°F and July highs 89.0°F, with about 46 days a year at 90°F+ and 12 inches of snow.

    4,400 people · St. Clair County · median home $96,800 · income $60,669 · Jan low 24°F · 12 in snow

    Full Caseyville, Illinois profile: weather, storms, schools, jobs →

    Caseyville average highs and lows by month20°40°60°80°JFMAMJJASOND24°89°
    NOAA 1991–2020 normals, Cahokia St Louis Ap station.
  13. 13Trenton, Illinois

    January lows average 24.3°F

    Trenton is a city of 2,690 people in Clinton County, Illinois. January lows average 24.3°F and July highs 90.2°F, with about 53 days a year at 90°F+ and 10 inches of snow.

    2,690 people · Clinton County · median home $178,200 · income $80,795 · Jan low 24°F · 10 in snow

    Full Trenton, Illinois profile: weather, storms, schools, jobs →

    Trenton average highs and lows by month20°40°60°80°100°JFMAMJJASOND24°90°
    NOAA 1991–2020 normals, Belleville Siu Rsch station.
  14. 12New Baden, Illinois

    January lows average 24.3°F

    New Baden is a village of 3,428 people in Clinton County, Illinois. January lows average 24.3°F and July highs 90.2°F, with about 53 days a year at 90°F+ and 10 inches of snow.

    3,428 people · Clinton County · median home $172,200 · income $81,393 · Jan low 24°F · 10 in snow

    Full New Baden, Illinois profile: weather, storms, schools, jobs →

    New Baden average highs and lows by month20°40°60°80°100°JFMAMJJASOND24°90°
    NOAA 1991–2020 normals, Belleville Siu Rsch station.
  15. 11Scott AFB, Illinois

    January lows average 24.3°F

    Scott AFB, Illinois
    Photo: United States Geological Survey (USGS) (public domain, Wikimedia Commons)

    Scott AFB is a community of 3,688 people in St. Clair County, Illinois. January lows average 24.3°F and July highs 90.2°F, with about 53 days a year at 90°F+ and 11 inches of snow.

    3,688 people · St. Clair County · median home — · income $103,390 · Jan low 24°F · 11 in snow

    Full Scott AFB, Illinois profile: weather, storms, schools, jobs →

    Scott AFB average highs and lows by month20°40°60°80°100°JFMAMJJASOND24°90°
    NOAA 1991–2020 normals, Belleville Siu Rsch station.
  16. 10Smithton, Illinois

    January lows average 24.3°F

    Smithton is a village of 4,006 people in St. Clair County, Illinois. January lows average 24.3°F and July highs 90.2°F, with about 53 days a year at 90°F+ and 12 inches of snow.

    4,006 people · St. Clair County · median home $256,300 · income $135,455 · Jan low 24°F · 12 in snow

    Full Smithton, Illinois profile: weather, storms, schools, jobs →

    Smithton average highs and lows by month20°40°60°80°100°JFMAMJJASOND24°90°
    NOAA 1991–2020 normals, Belleville Siu Rsch station.
  17. 9Freeburg, Illinois

    January lows average 24.3°F

    Freeburg is a village of 4,582 people in St. Clair County, Illinois. January lows average 24.3°F and July highs 90.2°F, with about 53 days a year at 90°F+ and 11 inches of snow.

    4,582 people · St. Clair County · median home $241,200 · income $92,065 · Jan low 24°F · 11 in snow

    Full Freeburg, Illinois profile: weather, storms, schools, jobs →

    Freeburg average highs and lows by month20°40°60°80°100°JFMAMJJASOND24°90°
    NOAA 1991–2020 normals, Belleville Siu Rsch station.
  18. 8Lebanon, Illinois

    January lows average 24.3°F

    Lebanon is a city of 4,691 people in St. Clair County, Illinois. January lows average 24.3°F and July highs 90.2°F, with about 53 days a year at 90°F+ and 11 inches of snow.

    4,691 people · St. Clair County · median home $170,700 · income $88,750 · Jan low 24°F · 11 in snow

    Full Lebanon, Illinois profile: weather, storms, schools, jobs →

    Lebanon average highs and lows by month20°40°60°80°100°JFMAMJJASOND24°90°
    NOAA 1991–2020 normals, Belleville Siu Rsch station.
  19. 7Mascoutah, Illinois

    January lows average 24.3°F

    Mascoutah is a city of 8,754 people in St. Clair County, Illinois. January lows average 24.3°F and July highs 90.2°F, with about 53 days a year at 90°F+ and 11 inches of snow.

    8,754 people · St. Clair County · median home $224,900 · income $97,375 · Jan low 24°F · 11 in snow

    Full Mascoutah, Illinois profile: weather, storms, schools, jobs →

    Mascoutah average highs and lows by month20°40°60°80°100°JFMAMJJASOND24°90°
    NOAA 1991–2020 normals, Belleville Siu Rsch station.
  20. 6Highland, Illinois

    January lows average 24.3°F

    Highland is a city of 9,991 people in Madison County, Illinois. January lows average 24.3°F and July highs 90.2°F, with about 53 days a year at 90°F+ and 10 inches of snow.

    9,991 people · Madison County · median home $202,900 · income $82,551 · Jan low 24°F · 10 in snow

    Full Highland, Illinois profile: weather, storms, schools, jobs →

    Highland average highs and lows by month20°40°60°80°100°JFMAMJJASOND24°90°
    NOAA 1991–2020 normals, Belleville Siu Rsch station.
  21. 5Fairfield, Illinois

    January lows average 24.5°F

    Fairfield, Illinois
    Photo: Nyttend (public domain, Wikimedia Commons)

    Fairfield is a city of 4,883 people in Wayne County, Illinois. January lows average 24.5°F and July highs 89.6°F, with about 44 days a year at 90°F+ and 12 inches of snow.

    4,883 people · Wayne County · median home $88,800 · income $41,989 · Jan low 25°F · 12 in snow

    Full Fairfield, Illinois profile: weather, storms, schools, jobs →

    Fairfield average highs and lows by month20°40°60°80°JFMAMJJASOND25°90°
    NOAA 1991–2020 normals, Fairfield Radio Wfiw station.
  22. 4Murphysboro, Illinois

    January lows average 24.8°F

    Murphysboro is a city of 7,093 people in Jackson County, Illinois. January lows average 24.8°F and July highs 88.4°F, with about 40 days a year at 90°F+ and 10 inches of snow.

    7,093 people · Jackson County · median home $85,900 · income $44,154 · Jan low 25°F · 10 in snow

    Full Murphysboro, Illinois profile: weather, storms, schools, jobs →

    Murphysboro average highs and lows by month20°40°60°80°JFMAMJJASOND25°88°
    NOAA 1991–2020 normals, Carbondale Southern Il Ap station.
  23. 3Mount Carmel, Illinois

    January lows average 25.0°F

    Mount Carmel, Illinois
    Photo: Nyttend (public domain, Wikimedia Commons)

    Mount Carmel is a city of 7,015 people in Wabash County, Illinois. January lows average 25.0°F and July highs 87.4°F, with about 46 days a year at 90°F+ and 9 inches of snow.

    7,015 people · Wabash County · median home $89,300 · income $47,009 · Jan low 25°F · 9 in snow

    Full Mount Carmel, Illinois profile: weather, storms, schools, jobs →

    Mount Carmel average highs and lows by month20°40°60°80°JFMAMJJASOND25°87°
    NOAA 1991–2020 normals, Mt Carmel station.
  24. 2Metropolis, Illinois

    January lows average 25.1°F

    Metropolis is a city of 5,969 people in Massac County, Illinois. January lows average 25.1°F and July highs 88.6°F, with about 42 days a year at 90°F+ and 3 inches of snow.

    5,969 people · Massac County · median home $86,000 · income $50,399 · Jan low 25°F · 3 in snow

    Full Metropolis, Illinois profile: weather, storms, schools, jobs →

    Metropolis average highs and lows by month20°40°60°80°JFMAMJJASOND25°89°
    NOAA 1991–2020 normals, Brookport Dam 52 station.
  25. 1Anna, Illinois

    January lows average 25.4°F

    Anna is a city of 4,303 people in Union County, Illinois. January lows average 25.4°F and July highs 89.7°F, with about 43 days a year at 90°F+ and 10 inches of snow.

    4,303 people · Union County · median home $134,300 · income $33,137 · Jan low 25°F · 10 in snow

    Full Anna, Illinois profile: weather, storms, schools, jobs →

    Anna average highs and lows by month20°40°60°80°JFMAMJJASOND25°90°
    NOAA 1991–2020 normals, Anna 2 Nne station.

More Illinois rankings

Same ranking, other places

Methodology. We ranked 238 towns of 500–10,000 people in Illinois (2020 Census population). Only towns better than 60% of their peers on this measure qualify, so lists can be shorter than 25. Sources: