The Town Files

The 50 Most Affordable Towns in America

Ranked by home value ÷ income among 3,996 towns of 10,000–50,000 people in the U.S.. #1 is Flowing Wells, AZ (homes cost 1.0× income).

Map of the 50 towns1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
Numbers match the ranking.
  1. 50Fulton, New York

    Homes cost 1.9× income

    11,389 people · Oswego County · median home $101,000 · income $52,046 · Jan low 14°F · 159 in snow

  2. 49Centralia, Illinois

    Homes cost 1.9× income

    12,182 people · Marion County · median home $89,600 · income $47,807 · Jan low 21°F · 7 in snow

  3. 48Herrin, Illinois

    Homes cost 1.9× income

    12,352 people · Williamson County · median home $113,300 · income $59,975 · Jan low 23°F · 10 in snow

  4. 47Massena, New York

    Homes cost 1.9× income

    12,433 people · St. Lawrence County · median home $106,400 · income $54,595 · Jan low 6°F · 75 in snow

  5. 46Beeville, Texas

    Homes cost 1.9× income

    13,669 people · Bee County · median home $94,700 · income $50,784 · Jan low 44°F · 0 in snow

  6. 45Sterling, Illinois

    Homes cost 1.9× income

    14,764 people · Whiteside County · median home $108,700 · income $57,350 · Jan low 14°F · 29 in snow

  7. 44Hereford, Texas

    Homes cost 1.9× income

    14,972 people · Deaf Smith County · median home $109,700 · income $56,868 · Jan low 23°F · 14 in snow

  8. 43Mattoon, Illinois

    Homes cost 1.9× income

    16,870 people · Coles County · median home $97,700 · income $51,597 · Jan low 20°F · 15 in snow

  9. 42New Castle, Indiana

    Homes cost 1.9× income

    17,396 people · Henry County · median home $98,000 · income $51,606 · Jan low 17°F · 25 in snow

  10. 41Logansport, Indiana

    Homes cost 1.9× income

    18,366 people · Cass County · median home $92,200 · income $47,291 · Jan low 18°F · 19 in snow

  11. 40Park Forest, Illinois

    Homes cost 1.9× income

    21,687 people · Cook County · median home $115,300 · income $61,072 · Jan low 15°F · 28 in snow

  12. 39South Euclid, Ohio

    Homes cost 1.9× income

    21,883 people · Cuyahoga County · median home $153,700 · income $81,297 · Jan low 24°F · 85 in snow

  13. 38Burlington, Iowa

    Homes cost 1.9× income

    23,982 people · Des Moines County · median home $114,300 · income $59,000 · Jan low 16°F · 22 in snow

  14. 37Alton, Illinois

    Homes cost 1.9× income

    25,676 people · Madison County · median home $103,700 · income $54,568 · Jan low 22°F · 13 in snow

  15. 36West Odessa, Texas

    Homes cost 1.9× income

    33,340 people · Ector County · median home $126,300 · income $65,234 · Jan low 32°F · 2 in snow

  16. 35Massena, New York

    Homes cost 1.8× income

    10,151 people · St. Lawrence County · median home $94,400 · income $51,458 · Jan low 6°F · 75 in snow

  17. 34Taylorville, Illinois

    Homes cost 1.8× income

    10,506 people · Christian County · median home $104,100 · income $57,552 · Jan low 19°F · 14 in snow

  18. 33Sweetwater, Texas

    Homes cost 1.8× income

    10,622 people · Nolan County · median home $80,800 · income $44,892 · Jan low 31°F · 2 in snow

  19. 32Snyder, Texas

    Homes cost 1.8× income

    11,438 people · Scurry County · median home $104,000 · income $57,902 · Jan low 29°F · 2 in snow

  20. 31Port Lavaca, Texas

    Homes cost 1.8× income

    11,557 people · Calhoun County · median home $128,200 · income $70,123 · Jan low 46°F · 0 in snow

  21. 30German Flatts, New York

    Homes cost 1.8× income

    12,263 people · Herkimer County · median home $119,800 · income $67,791 · Jan low 14°F · 86 in snow

  22. 29Dunkirk, New York

    Homes cost 1.8× income

    12,743 people · Chautauqua County · median home $94,700 · income $53,299 · Jan low 17°F · 76 in snow

  23. 28Jennings, Missouri

    Homes cost 1.8× income

    12,895 people · St. Louis County · median home $68,800 · income $38,984 · Jan low 24°F · 17 in snow

  24. 27Pottsville, Pennsylvania

    Homes cost 1.8× income

    13,346 people · Schuylkill County · median home $100,500 · income $54,332 · Jan low 18°F · 37 in snow

  25. 26Mount Vernon, Illinois

    Homes cost 1.8× income

    14,600 people · Jefferson County · median home $99,800 · income $55,357 · Jan low 22°F · 10 in snow

  26. 25Pampa, Texas

    Homes cost 1.8× income

    16,867 people · Gray County · median home $100,700 · income $56,626 · Jan low 23°F · 16 in snow

  27. 24New Castle, Pennsylvania

    Homes cost 1.8× income

    21,926 people · Lawrence County · median home $77,400 · income $42,219 · Jan low 19°F · 28 in snow

  28. 23Maple Heights, Ohio

    Homes cost 1.8× income

    23,701 people · Cuyahoga County · median home $97,900 · income $53,414 · Jan low 24°F · 70 in snow

  29. 22Freeport, Illinois

    Homes cost 1.8× income

    23,973 people · Stephenson County · median home $92,100 · income $51,723 · Jan low 11°F · 35 in snow

  30. 21Granite City, Illinois

    Homes cost 1.8× income

    27,549 people · Madison County · median home $104,300 · income $59,205 · Jan low 22°F · 11 in snow

  31. 20Marshalltown, Iowa

    Homes cost 1.8× income

    27,591 people · Marshall County · median home $127,700 · income $69,068 · Jan low 9°F · 25 in snow

  32. 19Vernon, Texas

    Homes cost 1.7× income

    10,078 people · Wilbarger County · median home $87,000 · income $51,114 · Jan low 29°F · 1 in snow

  33. 18Coal, Pennsylvania

    Homes cost 1.7× income

    10,139 people · Northumberland County · median home $88,300 · income $51,010 · Jan low 19°F · 34 in snow

  34. 17Wood River, Illinois

    Homes cost 1.7× income

    10,464 people · Madison County · median home $108,100 · income $62,703 · Jan low 22°F · 11 in snow

  35. 16Arkansas City, Kansas

    Homes cost 1.7× income

    11,974 people · Cowley County · median home $86,800 · income $49,629 · Jan low 24°F · 6 in snow

  36. 15Borger, Texas

    Homes cost 1.7× income

    12,551 people · Hutchinson County · median home $103,400 · income $61,583 · Jan low 27°F · 15 in snow

  37. 14Sharon, Pennsylvania

    Homes cost 1.7× income

    13,147 people · Mercer County · median home $78,800 · income $45,670 · Jan low 19°F · 68 in snow

  38. 13Olean, New York

    Homes cost 1.7× income

    13,937 people · Cattaraugus County · median home $86,100 · income $51,261 · Jan low 13°F · 65 in snow

  39. 12Federal Heights, Colorado

    Homes cost 1.7× income

    14,382 people · Adams County · median home $95,300 · income $56,597 · Jan low 19°F · 45 in snow

  40. 11Ottumwa, Iowa

    Homes cost 1.7× income

    25,529 people · Wapello County · median home $106,300 · income $61,103 · Jan low 14°F · 24 in snow

  41. 10Danville, Illinois

    Homes cost 1.7× income

    29,204 people · Vermilion County · median home $79,000 · income $45,957 · Jan low 20°F · 15 in snow

  42. 9Streator, Illinois

    Homes cost 1.6× income

    12,500 people · LaSalle County · median home $94,700 · income $57,609 · Jan low 16°F · 26 in snow

  43. 8Fostoria, Ohio

    Homes cost 1.6× income

    13,046 people · Seneca County · median home $87,200 · income $54,151 · Jan low 19°F · 25 in snow

  44. 7Saginaw, Michigan

    Homes cost 1.6× income

    44,202 people · Saginaw County · median home $60,000 · income $38,579 · Jan low 16°F · 41 in snow

  45. 6East St. Louis, Illinois

    Homes cost 1.5× income

    18,469 people · St. Clair County · median home $52,600 · income $35,700 · Jan low 24°F · 14 in snow

  46. 5Ogdensburg, New York

    Homes cost 1.4× income

    10,064 people · St. Lawrence County · median home $85,400 · income $61,824 · Jan low 8°F · 83 in snow

  47. 4Kewanee, Illinois

    Homes cost 1.4× income

    12,509 people · Henry County · median home $73,200 · income $50,886 · Jan low 14°F · 31 in snow

  48. 3Johnstown, Pennsylvania

    Homes cost 1.2× income

    18,411 people · Cambria County · median home $45,400 · income $37,888 · Jan low 19°F · 84 in snow

  49. 2Raymondville, Texas

    Homes cost 1.0× income

    10,236 people · Willacy County · median home $52,200 · income $51,442 · Jan low 48°F · 0 in snow

  50. 1Flowing Wells, Arizona

    Homes cost 1.0× income

    15,657 people · Pima County · median home $41,100 · income $39,774 · Jan low 39°F · 0 in snow

More U.S. rankings

Methodology. We ranked 3,996 towns of 10,000–50,000 people in the U.S. (2020 Census population; towns with 2,500+ people have pages so far). Only towns better than 60% of their peers on this measure qualify, so lists can be shorter than 25. Sources: