The Town Files

25 Small Towns in Iowa With the Cheapest Homes

Ranked by median home value among 99 towns of 500–10,000 people in Iowa. #1 is Chariton, IA (median home $81,900).

Map of the 25 towns12345678910111213141516171819202122232425
Numbers match the ranking.
  1. 25Maquoketa, Iowa

    Median home $132,500

    Maquoketa, Iowa
    Photo: Treymeister (talk) (public domain, Wikimedia Commons)

    Maquoketa is a city of 6,128 people in Jackson County, Iowa. The median home is worth $132,500 and the median household earns $60,240, so homes cost 2.2× income (typical Iowa town: 2.2×). Median rent is $795.

    6,128 people · Jackson County · median home $132,500 · income $60,240 · Jan low 11°F · 30 in snow

    Full Maquoketa, Iowa profile: weather, storms, schools, jobs →

    Maquoketa vs the typical Iowa townMaquoketaTypical Iowa townHome value$132,500$156,300Income$60,240$69,254Rent$795$820
    Census ACS 2020–2024 medians.
  2. 24Bloomfield, Iowa

    Median home $132,000

    Bloomfield, Iowa
    Photo: Eab969 at English Wikipedia (public domain, Wikimedia Commons)

    Bloomfield is a city of 2,682 people in Davis County, Iowa. The median home is worth $132,000 and the median household earns $60,769, so homes cost 2.2× income (typical Iowa town: 2.2×). Median rent is $951.

    2,682 people · Davis County · median home $132,000 · income $60,769 · Jan low 15°F · 24 in snow

    Full Bloomfield, Iowa profile: weather, storms, schools, jobs →

    Bloomfield vs the typical Iowa townBloomfieldTypical Iowa townHome value$132,000$156,300Income$60,769$69,254Rent$951$820
    Census ACS 2020–2024 medians.
  3. 23Albia, Iowa

    Median home $130,300

    Albia is a city of 3,721 people in Monroe County, Iowa. The median home is worth $130,300 and the median household earns $70,455, so homes cost 1.8× income (typical Iowa town: 2.2×). Median rent is $915.

    3,721 people · Monroe County · median home $130,300 · income $70,455 · Jan low 13°F · 30 in snow

    Full Albia, Iowa profile: weather, storms, schools, jobs →

    Albia vs the typical Iowa townAlbiaTypical Iowa townHome value$130,300$156,300Income$70,455$69,254Rent$915$820
    Census ACS 2020–2024 medians.
  4. 22Webster City, Iowa

    Median home $127,200

    Webster City is a city of 7,825 people in Hamilton County, Iowa. The median home is worth $127,200 and the median household earns $63,430, so homes cost 2.0× income (typical Iowa town: 2.2×). Median rent is $907.

    7,825 people · Hamilton County · median home $127,200 · income $63,430 · Jan low 7°F · 33 in snow

    Full Webster City, Iowa profile: weather, storms, schools, jobs →

    Webster City vs the typical Iowa townWebster CityTypical Iowa townHome value$127,200$156,300Income$63,430$69,254Rent$907$820
    Census ACS 2020–2024 medians.
  5. 21West Burlington, Iowa

    Median home $124,000

    West Burlington is a city of 3,197 people in Des Moines County, Iowa. The median home is worth $124,000 and the median household earns $48,542, so homes cost 2.6× income (typical Iowa town: 2.2×). Median rent is $800.

    3,197 people · Des Moines County · median home $124,000 · income $48,542 · Jan low 16°F · 22 in snow

    Full West Burlington, Iowa profile: weather, storms, schools, jobs →

    West Burlington vs the typical Iowa townWest BurlingtonTypical Iowa townHome value$124,000$156,300Income$48,542$69,254Rent$800$820
    Census ACS 2020–2024 medians.
  6. 20Iowa Falls, Iowa

    Median home $123,800

    Iowa Falls is a city of 5,106 people in Hardin County, Iowa. The median home is worth $123,800 and the median household earns $50,417, so homes cost 2.5× income (typical Iowa town: 2.2×). Median rent is $831.

    5,106 people · Hardin County · median home $123,800 · income $50,417 · Jan low 8°F · 28 in snow

    Full Iowa Falls, Iowa profile: weather, storms, schools, jobs →

    Iowa Falls vs the typical Iowa townIowa FallsTypical Iowa townHome value$123,800$156,300Income$50,417$69,254Rent$831$820
    Census ACS 2020–2024 medians.
  7. 19Sibley, Iowa

    Median home $122,000

    Sibley is a city of 2,860 people in Osceola County, Iowa. The median home is worth $122,000 and the median household earns $55,070, so homes cost 2.2× income (typical Iowa town: 2.2×). Median rent is $774.

    2,860 people · Osceola County · median home $122,000 · income $55,070 · Jan low 5°F · 42 in snow

    Full Sibley, Iowa profile: weather, storms, schools, jobs →

    Sibley vs the typical Iowa townSibleyTypical Iowa townHome value$122,000$156,300Income$55,070$69,254Rent$774$820
    Census ACS 2020–2024 medians.
  8. 18Perry, Iowa

    Median home $121,400

    Perry is a city of 7,836 people in Dallas County, Iowa. The median home is worth $121,400 and the median household earns $68,910, so homes cost 1.8× income (typical Iowa town: 2.2×). Median rent is $931.

    7,836 people · Dallas County · median home $121,400 · income $68,910 · Jan low 10°F · 34 in snow

    Full Perry, Iowa profile: weather, storms, schools, jobs →

    Perry vs the typical Iowa townPerryTypical Iowa townHome value$121,400$156,300Income$68,910$69,254Rent$931$820
    Census ACS 2020–2024 medians.
  9. 17Cresco, Iowa

    Median home $117,200

    Cresco is a city of 3,888 people in Howard County, Iowa. The median home is worth $117,200 and the median household earns $60,608, so homes cost 1.9× income (typical Iowa town: 2.2×). Median rent is $715.

    3,888 people · Howard County · median home $117,200 · income $60,608 · Jan low 6°F · 40 in snow

    Full Cresco, Iowa profile: weather, storms, schools, jobs →

    Cresco vs the typical Iowa townCrescoTypical Iowa townHome value$117,200$156,300Income$60,608$69,254Rent$715$820
    Census ACS 2020–2024 medians.
  10. 16Shenandoah, Iowa

    Median home $116,700

    Shenandoah is a city of 4,925 people in Page County, Iowa. The median home is worth $116,700 and the median household earns $59,783, so homes cost 2.0× income (typical Iowa town: 2.2×). Median rent is $774.

    4,925 people · Page County · median home $116,700 · income $59,783 · Jan low 14°F · 26 in snow

    Full Shenandoah, Iowa profile: weather, storms, schools, jobs →

    Shenandoah vs the typical Iowa townShenandoahTypical Iowa townHome value$116,700$156,300Income$59,783$69,254Rent$774$820
    Census ACS 2020–2024 medians.
  11. 15Clarion, Iowa

    Median home $116,200

    Clarion is a city of 2,810 people in Wright County, Iowa. The median home is worth $116,200 and the median household earns $64,625, so homes cost 1.8× income (typical Iowa town: 2.2×). Median rent is $763.

    2,810 people · Wright County · median home $116,200 · income $64,625 · Jan low 6°F · 31 in snow

    Full Clarion, Iowa profile: weather, storms, schools, jobs →

    Clarion vs the typical Iowa townClarionTypical Iowa townHome value$116,200$156,300Income$64,625$69,254Rent$763$820
    Census ACS 2020–2024 medians.
  12. 14Charles City, Iowa

    Median home $115,400

    Charles City is a city of 7,396 people in Floyd County, Iowa. The median home is worth $115,400 and the median household earns $59,180, so homes cost 1.9× income (typical Iowa town: 2.2×). Median rent is $735.

    7,396 people · Floyd County · median home $115,400 · income $59,180 · Jan low 9°F · 38 in snow

    Full Charles City, Iowa profile: weather, storms, schools, jobs →

    Charles City vs the typical Iowa townCharles CityTypical Iowa townHome value$115,400$156,300Income$59,180$69,254Rent$735$820
    Census ACS 2020–2024 medians.
  13. 13Creston, Iowa

    Median home $114,500

    Creston is a city of 7,536 people in Union County, Iowa. The median home is worth $114,500 and the median household earns $52,633, so homes cost 2.2× income (typical Iowa town: 2.2×). Median rent is $703.

    7,536 people · Union County · median home $114,500 · income $52,633 · Jan low 11°F · 27 in snow

    Full Creston, Iowa profile: weather, storms, schools, jobs →

    Creston vs the typical Iowa townCrestonTypical Iowa townHome value$114,500$156,300Income$52,633$69,254Rent$703$820
    Census ACS 2020–2024 medians.
  14. 12Emmetsburg, Iowa

    Median home $114,300

    Emmetsburg is a city of 3,706 people in Palo Alto County, Iowa. The median home is worth $114,300 and the median household earns $55,833, so homes cost 2.0× income (typical Iowa town: 2.2×). Median rent is $624.

    3,706 people · Palo Alto County · median home $114,300 · income $55,833 · Jan low 7°F · 37 in snow

    Full Emmetsburg, Iowa profile: weather, storms, schools, jobs →

    Emmetsburg vs the typical Iowa townEmmetsburgTypical Iowa townHome value$114,300$156,300Income$55,833$69,254Rent$624$820
    Census ACS 2020–2024 medians.
  15. 11Clarinda, Iowa

    Median home $114,200

    Clarinda is a city of 5,369 people in Page County, Iowa. The median home is worth $114,200 and the median household earns $46,348, so homes cost 2.5× income (typical Iowa town: 2.2×). Median rent is $660.

    5,369 people · Page County · median home $114,200 · income $46,348 · Jan low 12°F · 23 in snow

    Full Clarinda, Iowa profile: weather, storms, schools, jobs →

    Clarinda vs the typical Iowa townClarindaTypical Iowa townHome value$114,200$156,300Income$46,348$69,254Rent$660$820
    Census ACS 2020–2024 medians.
  16. 10Tama, Iowa

    Median home $106,800

    Tama is a city of 3,130 people in Tama County, Iowa. The median home is worth $106,800 and the median household earns $68,661, so homes cost 1.6× income (typical Iowa town: 2.2×). Median rent is $832.

    3,130 people · Tama County · median home $106,800 · income $68,661 · Jan low 9°F · 33 in snow

    Full Tama, Iowa profile: weather, storms, schools, jobs →

    Tama vs the typical Iowa townTamaTypical Iowa townHome value$106,800$156,300Income$68,661$69,254Rent$832$820
    Census ACS 2020–2024 medians.
  17. 9Postville, Iowa

    Median home $104,700

    Postville is a city of 2,503 people in Allamakee County, Iowa. The median home is worth $104,700 and the median household earns $49,485, so homes cost 2.1× income (typical Iowa town: 2.2×). Median rent is $861.

    2,503 people · Allamakee County · median home $104,700 · income $49,485 · Jan low 7°F · 40 in snow

    Full Postville, Iowa profile: weather, storms, schools, jobs →

    Postville vs the typical Iowa townPostvilleTypical Iowa townHome value$104,700$156,300Income$49,485$69,254Rent$861$820
    Census ACS 2020–2024 medians.
  18. 8Eagle Grove, Iowa

    Median home $104,600

    Eagle Grove, Iowa
    Photo: C. P. Myklebust (public domain, Wikimedia Commons)

    Eagle Grove is a city of 3,601 people in Wright County, Iowa. The median home is worth $104,600 and the median household earns $63,125, so homes cost 1.7× income (typical Iowa town: 2.2×). Median rent is $996.

    3,601 people · Wright County · median home $104,600 · income $63,125 · Jan low 6°F · 33 in snow

    Full Eagle Grove, Iowa profile: weather, storms, schools, jobs →

    Eagle Grove vs the typical Iowa townEagle GroveTypical Iowa townHome value$104,600$156,300Income$63,125$69,254Rent$996$820
    Census ACS 2020–2024 medians.
  19. 7Keokuk, Iowa

    Median home $104,300

    Keokuk is a city of 9,900 people in Lee County, Iowa. The median home is worth $104,300 and the median household earns $52,711, so homes cost 2.0× income (typical Iowa town: 2.2×). Median rent is $871.

    9,900 people · Lee County · median home $104,300 · income $52,711 · Jan low 17°F · 22 in snow

    Full Keokuk, Iowa profile: weather, storms, schools, jobs →

    Keokuk vs the typical Iowa townKeokukTypical Iowa townHome value$104,300$156,300Income$52,711$69,254Rent$871$820
    Census ACS 2020–2024 medians.
  20. 6Centerville, Iowa

    Median home $103,000

    Centerville is a city of 5,412 people in Appanoose County, Iowa. The median home is worth $103,000 and the median household earns $46,563, so homes cost 2.2× income (typical Iowa town: 2.2×). Median rent is $755.

    5,412 people · Appanoose County · median home $103,000 · income $46,563 · Jan low 12°F · 22 in snow

    Full Centerville, Iowa profile: weather, storms, schools, jobs →

    Centerville vs the typical Iowa townCentervilleTypical Iowa townHome value$103,000$156,300Income$46,563$69,254Rent$755$820
    Census ACS 2020–2024 medians.
  21. 5Estherville, Iowa

    Median home $101,400

    Estherville is a city of 5,904 people in Emmet County, Iowa. The median home is worth $101,400 and the median household earns $54,124, so homes cost 1.9× income (typical Iowa town: 2.2×). Median rent is $754.

    5,904 people · Emmet County · median home $101,400 · income $54,124 · Jan low 5°F · 40 in snow

    Full Estherville, Iowa profile: weather, storms, schools, jobs →

    Estherville vs the typical Iowa townEsthervilleTypical Iowa townHome value$101,400$156,300Income$54,124$69,254Rent$754$820
    Census ACS 2020–2024 medians.
  22. 4Red Oak, Iowa

    Median home $99,700

    Red Oak is a city of 5,596 people in Montgomery County, Iowa. The median home is worth $99,700 and the median household earns $50,109, so homes cost 2.0× income (typical Iowa town: 2.2×). Median rent is $812.

    5,596 people · Montgomery County · median home $99,700 · income $50,109 · Jan low 13°F · 27 in snow

    Full Red Oak, Iowa profile: weather, storms, schools, jobs →

    Red Oak vs the typical Iowa townRed OakTypical Iowa townHome value$99,700$156,300Income$50,109$69,254Rent$812$820
    Census ACS 2020–2024 medians.
  23. 3Hampton, Iowa

    Median home $99,400

    Hampton is a city of 4,337 people in Franklin County, Iowa. The median home is worth $99,400 and the median household earns $47,088, so homes cost 2.1× income (typical Iowa town: 2.2×). Median rent is $631.

    4,337 people · Franklin County · median home $99,400 · income $47,088 · Jan low 8°F · 29 in snow

    Full Hampton, Iowa profile: weather, storms, schools, jobs →

    Hampton vs the typical Iowa townHamptonTypical Iowa townHome value$99,400$156,300Income$47,088$69,254Rent$631$820
    Census ACS 2020–2024 medians.
  24. 2Oelwein, Iowa

    Median home $96,300

    Oelwein is a city of 5,920 people in Fayette County, Iowa. The median home is worth $96,300 and the median household earns $46,653, so homes cost 2.1× income (typical Iowa town: 2.2×). Median rent is $847.

    5,920 people · Fayette County · median home $96,300 · income $46,653 · Jan low 9°F · 39 in snow

    Full Oelwein, Iowa profile: weather, storms, schools, jobs →

    Oelwein vs the typical Iowa townOelweinTypical Iowa townHome value$96,300$156,300Income$46,653$69,254Rent$847$820
    Census ACS 2020–2024 medians.
  25. 1Chariton, Iowa

    Median home $81,900

    Chariton is a city of 4,193 people in Lucas County, Iowa. The median home is worth $81,900 and the median household earns $46,979, so homes cost 1.7× income (typical Iowa town: 2.2×). Median rent is $689.

    4,193 people · Lucas County · median home $81,900 · income $46,979 · Jan low 11°F · 24 in snow

    Full Chariton, Iowa profile: weather, storms, schools, jobs →

    Chariton vs the typical Iowa townCharitonTypical Iowa townHome value$81,900$156,300Income$46,979$69,254Rent$689$820
    Census ACS 2020–2024 medians.

More Iowa rankings

Same ranking, other places

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