The Town Files

The 25 Most Affordable Small Towns in Ohio

Ranked by home value ÷ income among 246 towns of 500–10,000 people in Ohio. #1 is Fort McKinley, OH (homes cost 1.3× income).

Map of the 25 towns12345678910111213141516171819202122232425
Numbers match the ranking.
  1. 25Pleasant Run, Ohio

    Homes cost 2.1× income

    Pleasant Run is a community of 4,861 people in Hamilton County, Ohio. The median home is worth $171,000 and the median household earns $79,537, so homes cost 2.1× income (typical Ohio town: 2.6×). Median rent is $1,537.

    4,861 people · Hamilton County · median home $171,000 · income $79,537 · Jan low 21°F · 14 in snow

    Full Pleasant Run, Ohio profile: weather, storms, schools, jobs →

    Pleasant Run vs the typical Ohio townPleasant RunTypical Ohio townHome value$171,000$171,100Income$79,537$67,019Rent$1,537$914
    Census ACS 2020–2024 medians.
  2. 24Delphos, Ohio

    Homes cost 2.1× income

    Delphos, Ohio
    Photo: Nyttend (public domain, Wikimedia Commons)

    Delphos is a city of 7,117 people in Allen County, Ohio. The median home is worth $129,600 and the median household earns $61,037, so homes cost 2.1× income (typical Ohio town: 2.6×). Median rent is $812.

    7,117 people · Allen County · median home $129,600 · income $61,037 · Jan low 18°F · 18 in snow

    Full Delphos, Ohio profile: weather, storms, schools, jobs →

    Delphos vs the typical Ohio townDelphosTypical Ohio townHome value$129,600$171,100Income$61,037$67,019Rent$812$914
    Census ACS 2020–2024 medians.
  3. 23Shelby, Ohio

    Homes cost 2.1× income

    Shelby, Ohio
    Photo: User:OHWiki (public domain, Wikimedia Commons)

    Shelby is a city of 9,282 people in Richland County, Ohio. The median home is worth $122,200 and the median household earns $58,351, so homes cost 2.1× income (typical Ohio town: 2.6×). Median rent is $780.

    9,282 people · Richland County · median home $122,200 · income $58,351 · Jan low 17°F · 49 in snow

    Full Shelby, Ohio profile: weather, storms, schools, jobs →

    Shelby vs the typical Ohio townShelbyTypical Ohio townHome value$122,200$171,100Income$58,351$67,019Rent$780$914
    Census ACS 2020–2024 medians.
  4. 22Dennison, Ohio

    Homes cost 2.0× income

    Dennison is a village of 2,709 people in Tuscarawas County, Ohio. The median home is worth $102,700 and the median household earns $51,992, so homes cost 2.0× income (typical Ohio town: 2.6×). Median rent is $840.

    2,709 people · Tuscarawas County · median home $102,700 · income $51,992 · Jan low 20°F · 26 in snow

    Full Dennison, Ohio profile: weather, storms, schools, jobs →

    Dennison vs the typical Ohio townDennisonTypical Ohio townHome value$102,700$171,100Income$51,992$67,019Rent$840$914
    Census ACS 2020–2024 medians.
  5. 21Delshire, Ohio

    Homes cost 2.0× income

    Delshire is a community of 3,158 people in Hamilton County, Ohio. The median home is worth $178,300 and the median household earns $91,372, so homes cost 2.0× income (typical Ohio town: 2.6×). Median rent is $1,101.

    3,158 people · Hamilton County · median home $178,300 · income $91,372 · Jan low 22°F · 16 in snow

    Full Delshire, Ohio profile: weather, storms, schools, jobs →

    Delshire vs the typical Ohio townDelshireTypical Ohio townHome value$178,300$171,100Income$91,372$67,019Rent$1,101$914
    Census ACS 2020–2024 medians.
  6. 20Hunter, Ohio

    Homes cost 2.0× income

    Hunter is a community of 3,363 people in Warren County, Ohio. The median home is worth $251,700 and the median household earns $127,411, so homes cost 2.0× income (typical Ohio town: 2.6×). Median rent is —.

    3,363 people · Warren County · median home $251,700 · income $127,411 · Jan low 20°F · 10 in snow

    Full Hunter, Ohio profile: weather, storms, schools, jobs →

    Hunter vs the typical Ohio townHunterTypical Ohio townHome value$251,700$171,100Income$127,411$67,019
    Census ACS 2020–2024 medians.
  7. 19North Baltimore, Ohio

    Homes cost 2.0× income

    North Baltimore is a village of 3,369 people in Wood County, Ohio. The median home is worth $117,900 and the median household earns $60,396, so homes cost 2.0× income (typical Ohio town: 2.6×). Median rent is $797.

    3,369 people · Wood County · median home $117,900 · income $60,396 · Jan low 18°F · 23 in snow

    Full North Baltimore, Ohio profile: weather, storms, schools, jobs →

    North Baltimore vs the typical Ohio townNorth BaltimoreTypical Ohio townHome value$117,900$171,100Income$60,396$67,019Rent$797$914
    Census ACS 2020–2024 medians.
  8. 18Crestline, Ohio

    Homes cost 2.0× income

    Crestline is a village of 4,525 people in Crawford County, Ohio. The median home is worth $104,600 and the median household earns $51,766, so homes cost 2.0× income (typical Ohio town: 2.6×). Median rent is $735.

    4,525 people · Crawford County · median home $104,600 · income $51,766 · Jan low 18°F · 26 in snow

    Full Crestline, Ohio profile: weather, storms, schools, jobs →

    Crestline vs the typical Ohio townCrestlineTypical Ohio townHome value$104,600$171,100Income$51,766$67,019Rent$735$914
    Census ACS 2020–2024 medians.
  9. 17Nelsonville, Ohio

    Homes cost 2.0× income

    Nelsonville is a city of 4,612 people in Athens County, Ohio. The median home is worth $99,200 and the median household earns $49,750, so homes cost 2.0× income (typical Ohio town: 2.6×). Median rent is $773.

    4,612 people · Athens County · median home $99,200 · income $49,750 · Jan low 19°F · 12 in snow

    Full Nelsonville, Ohio profile: weather, storms, schools, jobs →

    Nelsonville vs the typical Ohio townNelsonvilleTypical Ohio townHome value$99,200$171,100Income$49,750$67,019Rent$773$914
    Census ACS 2020–2024 medians.
  10. 16New Carlisle, Ohio

    Homes cost 2.0× income

    New Carlisle is a city of 5,559 people in Clark County, Ohio. The median home is worth $131,800 and the median household earns $64,443, so homes cost 2.0× income (typical Ohio town: 2.6×). Median rent is $840.

    5,559 people · Clark County · median home $131,800 · income $64,443 · Jan low 17°F · 19 in snow

    Full New Carlisle, Ohio profile: weather, storms, schools, jobs →

    New Carlisle vs the typical Ohio townNew CarlisleTypical Ohio townHome value$131,800$171,100Income$64,443$67,019Rent$840$914
    Census ACS 2020–2024 medians.
  11. 15Mingo Junction, Ohio

    Homes cost 1.9× income

    Mingo Junction is a village of 3,347 people in Jefferson County, Ohio. The median home is worth $104,000 and the median household earns $53,833, so homes cost 1.9× income (typical Ohio town: 2.6×). Median rent is $879.

    3,347 people · Jefferson County · median home $104,000 · income $53,833 · Jan low 19°F · 24 in snow

    Full Mingo Junction, Ohio profile: weather, storms, schools, jobs →

    Mingo Junction vs the typical Ohio townMingo JunctionTypical Ohio townHome value$104,000$171,100Income$53,833$67,019Rent$879$914
    Census ACS 2020–2024 medians.
  12. 14Lockland, Ohio

    Homes cost 1.9× income

    Lockland is a village of 3,514 people in Hamilton County, Ohio. The median home is worth $111,100 and the median household earns $57,969, so homes cost 1.9× income (typical Ohio town: 2.6×). Median rent is $940.

    3,514 people · Hamilton County · median home $111,100 · income $57,969 · Jan low 24°F · 16 in snow

    Full Lockland, Ohio profile: weather, storms, schools, jobs →

    Lockland vs the typical Ohio townLocklandTypical Ohio townHome value$111,100$171,100Income$57,969$67,019Rent$940$914
    Census ACS 2020–2024 medians.
  13. 13Ottawa Hills, Ohio

    Homes cost 1.9× income

    Ottawa Hills is a village of 4,790 people in Lucas County, Ohio. The median home is worth $314,900 and the median household earns $167,917, so homes cost 1.9× income (typical Ohio town: 2.6×). Median rent is $1,731.

    4,790 people · Lucas County · median home $314,900 · income $167,917 · Jan low 20°F · 35 in snow

    Full Ottawa Hills, Ohio profile: weather, storms, schools, jobs →

    Ottawa Hills vs the typical Ohio townOttawa HillsTypical Ohio townHome value$314,900$171,100Income$167,917$67,019Rent$1,731$914
    Census ACS 2020–2024 medians.
  14. 12Toronto, Ohio

    Homes cost 1.9× income

    Toronto, Ohio
    Photo: Nyttend (public domain, Wikimedia Commons)

    Toronto is a city of 5,303 people in Jefferson County, Ohio. The median home is worth $108,800 and the median household earns $55,972, so homes cost 1.9× income (typical Ohio town: 2.6×). Median rent is $748.

    5,303 people · Jefferson County · median home $108,800 · income $55,972 · Jan low 21°F · 27 in snow

    Full Toronto, Ohio profile: weather, storms, schools, jobs →

    Toronto vs the typical Ohio townTorontoTypical Ohio townHome value$108,800$171,100Income$55,972$67,019Rent$748$914
    Census ACS 2020–2024 medians.
  15. 11Campbell, Ohio

    Homes cost 1.9× income

    Campbell, Ohio
    Photo: Nyttend (public domain, Wikimedia Commons)

    Campbell is a city of 7,852 people in Mahoning County, Ohio. The median home is worth $82,300 and the median household earns $42,909, so homes cost 1.9× income (typical Ohio town: 2.6×). Median rent is $688.

    7,852 people · Mahoning County · median home $82,300 · income $42,909 · Jan low 19°F · 41 in snow

    Full Campbell, Ohio profile: weather, storms, schools, jobs →

    Campbell vs the typical Ohio townCampbellTypical Ohio townHome value$82,300$171,100Income$42,909$67,019Rent$688$914
    Census ACS 2020–2024 medians.
  16. 10Kenton, Ohio

    Homes cost 1.9× income

    Kenton is a city of 7,947 people in Hardin County, Ohio. The median home is worth $107,100 and the median household earns $56,033, so homes cost 1.9× income (typical Ohio town: 2.6×). Median rent is $625.

    7,947 people · Hardin County · median home $107,100 · income $56,033 · Jan low 18°F · 26 in snow

    Full Kenton, Ohio profile: weather, storms, schools, jobs →

    Kenton vs the typical Ohio townKentonTypical Ohio townHome value$107,100$171,100Income$56,033$67,019Rent$625$914
    Census ACS 2020–2024 medians.
  17. 9St. Marys, Ohio

    Homes cost 1.9× income

    St. Marys is a city of 8,397 people in Auglaize County, Ohio. The median home is worth $148,500 and the median household earns $79,516, so homes cost 1.9× income (typical Ohio town: 2.6×). Median rent is $848.

    8,397 people · Auglaize County · median home $148,500 · income $79,516 · Jan low 19°F · 10 in snow

    Full St. Marys, Ohio profile: weather, storms, schools, jobs →

    St. Marys vs the typical Ohio townSt. MarysTypical Ohio townHome value$148,500$171,100Income$79,516$67,019Rent$848$914
    Census ACS 2020–2024 medians.
  18. 8Napoleon, Ohio

    Homes cost 1.9× income

    Napoleon is a city of 8,862 people in Henry County, Ohio. The median home is worth $146,600 and the median household earns $76,639, so homes cost 1.9× income (typical Ohio town: 2.6×). Median rent is $819.

    8,862 people · Henry County · median home $146,600 · income $76,639 · Jan low 17°F · 25 in snow

    Full Napoleon, Ohio profile: weather, storms, schools, jobs →

    Napoleon vs the typical Ohio townNapoleonTypical Ohio townHome value$146,600$171,100Income$76,639$67,019Rent$819$914
    Census ACS 2020–2024 medians.
  19. 7Wintersville, Ohio

    Homes cost 1.8× income

    Wintersville, Ohio
    Photo: Nyttend (public domain, Wikimedia Commons)

    Wintersville is a village of 3,765 people in Jefferson County, Ohio. The median home is worth $141,100 and the median household earns $76,768, so homes cost 1.8× income (typical Ohio town: 2.6×). Median rent is $944.

    3,765 people · Jefferson County · median home $141,100 · income $76,768 · Jan low 19°F · 20 in snow

    Full Wintersville, Ohio profile: weather, storms, schools, jobs →

    Wintersville vs the typical Ohio townWintersvilleTypical Ohio townHome value$141,100$171,100Income$76,768$67,019Rent$944$914
    Census ACS 2020–2024 medians.
  20. 6Edgewood, Ohio

    Homes cost 1.8× income

    Edgewood is a community of 4,185 people in Ashtabula County, Ohio. The median home is worth $115,500 and the median household earns $62,917, so homes cost 1.8× income (typical Ohio town: 2.6×). Median rent is $831.

    4,185 people · Ashtabula County · median home $115,500 · income $62,917 · Jan low 19°F · 92 in snow

    Full Edgewood, Ohio profile: weather, storms, schools, jobs →

    Edgewood vs the typical Ohio townEdgewoodTypical Ohio townHome value$115,500$171,100Income$62,917$67,019Rent$831$914
    Census ACS 2020–2024 medians.
  21. 5Sebring, Ohio

    Homes cost 1.8× income

    Sebring is a village of 4,191 people in Mahoning County, Ohio. The median home is worth $90,300 and the median household earns $49,541, so homes cost 1.8× income (typical Ohio town: 2.6×). Median rent is $1,233.

    4,191 people · Mahoning County · median home $90,300 · income $49,541 · Jan low 17°F · 37 in snow

    Full Sebring, Ohio profile: weather, storms, schools, jobs →

    Sebring vs the typical Ohio townSebringTypical Ohio townHome value$90,300$171,100Income$49,541$67,019Rent$1,233$914
    Census ACS 2020–2024 medians.
  22. 4McDonald, Ohio

    Homes cost 1.7× income

    McDonald is a village of 3,172 people in Trumbull County, Ohio. The median home is worth $138,500 and the median household earns $81,855, so homes cost 1.7× income (typical Ohio town: 2.6×). Median rent is $863.

    3,172 people · Trumbull County · median home $138,500 · income $81,855 · Jan low 17°F · 28 in snow

    Full McDonald, Ohio profile: weather, storms, schools, jobs →

    McDonald vs the typical Ohio townMcDonaldTypical Ohio townHome value$138,500$171,100Income$81,855$67,019Rent$863$914
    Census ACS 2020–2024 medians.
  23. 3New Lebanon, Ohio

    Homes cost 1.7× income

    New Lebanon, Ohio
    Photo: Nyttend (public domain, Wikimedia Commons)

    New Lebanon is a village of 3,796 people in Montgomery County, Ohio. The median home is worth $115,600 and the median household earns $69,906, so homes cost 1.7× income (typical Ohio town: 2.6×). Median rent is $914.

    3,796 people · Montgomery County · median home $115,600 · income $69,906 · Jan low 20°F · 15 in snow

    Full New Lebanon, Ohio profile: weather, storms, schools, jobs →

    New Lebanon vs the typical Ohio townNew LebanonTypical Ohio townHome value$115,600$171,100Income$69,906$67,019Rent$914$914
    Census ACS 2020–2024 medians.
  24. 2Park Layne, Ohio

    Homes cost 1.6× income

    Park Layne is a community of 4,248 people in Clark County, Ohio. The median home is worth $131,400 and the median household earns $82,604, so homes cost 1.6× income (typical Ohio town: 2.6×). Median rent is $898.

    4,248 people · Clark County · median home $131,400 · income $82,604 · Jan low 17°F · 19 in snow

    Full Park Layne, Ohio profile: weather, storms, schools, jobs →

    Park Layne vs the typical Ohio townPark LayneTypical Ohio townHome value$131,400$171,100Income$82,604$67,019Rent$898$914
    Census ACS 2020–2024 medians.
  25. 1Fort McKinley, Ohio

    Homes cost 1.3× income

    Fort McKinley is a community of 3,473 people in Montgomery County, Ohio. The median home is worth $59,900 and the median household earns $45,687, so homes cost 1.3× income (typical Ohio town: 2.6×). Median rent is $1,049.

    3,473 people · Montgomery County · median home $59,900 · income $45,687 · Jan low 20°F · 12 in snow

    Full Fort McKinley, Ohio profile: weather, storms, schools, jobs →

    Fort McKinley vs the typical Ohio townFort McKinleyTypical Ohio townHome value$59,900$171,100Income$45,687$67,019Rent$1,049$914
    Census ACS 2020–2024 medians.

More Ohio rankings

Same ranking, other places

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