The Town Files

The 25 Most Affordable Small Towns in North Dakota

Ranked by home value ÷ income among 93 towns of 500–10,000 people in North Dakota. #1 is Grand Forks AFB, ND (homes cost 0.1× income).

Map of the 25 towns12345678910111213141516171819202122232425
Numbers match the ranking.
  1. 25Hillsboro, North Dakota

    Homes cost 2.1× income

    Hillsboro is a city of 1,649 people in Traill County, North Dakota. The median home is worth $174,800 and the median household earns $81,483, so homes cost 2.1× income (typical North Dakota town: 2.5×). Median rent is $639.

    1,649 people · Traill County · median home $174,800 · income $81,483 · Jan low 1°F

    Full Hillsboro, North Dakota profile: weather, storms, schools, jobs →

    Hillsboro vs the typical North Dakota townHillsboroTypical North Dakota townHome value$174,800$167,950Income$81,483$68,195Rent$639$775
    Census ACS 2020–2024 medians.
  2. 24Langdon, North Dakota

    Homes cost 2.1× income

    Langdon is a city of 1,909 people in Cavalier County, North Dakota. The median home is worth $135,900 and the median household earns $64,286, so homes cost 2.1× income (typical North Dakota town: 2.5×). Median rent is $786.

    1,909 people · Cavalier County · median home $135,900 · income $64,286 · Jan low -5°F · 47 in snow

    Full Langdon, North Dakota profile: weather, storms, schools, jobs →

    Langdon vs the typical North Dakota townLangdonTypical North Dakota townHome value$135,900$167,950Income$64,286$68,195Rent$786$775
    Census ACS 2020–2024 medians.
  3. 23Milnor, North Dakota

    Homes cost 2.0× income

    Milnor is a city of 624 people in Sargent County, North Dakota. The median home is worth $152,500 and the median household earns $76,875, so homes cost 2.0× income (typical North Dakota town: 2.5×). Median rent is $606.

    624 people · Sargent County · median home $152,500 · income $76,875 · Jan low -1°F · 47 in snow

    Full Milnor, North Dakota profile: weather, storms, schools, jobs →

    Milnor vs the typical North Dakota townMilnorTypical North Dakota townHome value$152,500$167,950Income$76,875$68,195Rent$606$775
    Census ACS 2020–2024 medians.
  4. 22Enderlin, North Dakota

    Homes cost 2.0× income

    Enderlin is a city of 881 people in Ransom County, North Dakota. The median home is worth $148,600 and the median household earns $74,625, so homes cost 2.0× income (typical North Dakota town: 2.5×). Median rent is $836.

    881 people · Ransom County · median home $148,600 · income $74,625 · Jan low 3°F · 44 in snow

    Full Enderlin, North Dakota profile: weather, storms, schools, jobs →

    Enderlin vs the typical North Dakota townEnderlinTypical North Dakota townHome value$148,600$167,950Income$74,625$68,195Rent$836$775
    Census ACS 2020–2024 medians.
  5. 21Carrington, North Dakota

    Homes cost 2.0× income

    Carrington is a city of 2,080 people in Foster County, North Dakota. The median home is worth $150,600 and the median household earns $77,171, so homes cost 2.0× income (typical North Dakota town: 2.5×). Median rent is $778.

    2,080 people · Foster County · median home $150,600 · income $77,171 · Jan low -1°F · 60 in snow

    Full Carrington, North Dakota profile: weather, storms, schools, jobs →

    Carrington vs the typical North Dakota townCarringtonTypical North Dakota townHome value$150,600$167,950Income$77,171$68,195Rent$778$775
    Census ACS 2020–2024 medians.
  6. 20Cooperstown, North Dakota

    Homes cost 1.9× income

    Cooperstown is a city of 983 people in Griggs County, North Dakota. The median home is worth $98,600 and the median household earns $51,375, so homes cost 1.9× income (typical North Dakota town: 2.5×). Median rent is $569.

    983 people · Griggs County · median home $98,600 · income $51,375 · Jan low -3°F · 42 in snow

    Full Cooperstown, North Dakota profile: weather, storms, schools, jobs →

    Cooperstown vs the typical North Dakota townCooperstownTypical North Dakota townHome value$98,600$167,950Income$51,375$68,195Rent$569$775
    Census ACS 2020–2024 medians.
  7. 19Shell Valley, North Dakota

    Homes cost 1.9× income

    Shell Valley is a community of 1,146 people in Rolette County, North Dakota. The median home is worth $90,800 and the median household earns $46,786, so homes cost 1.9× income (typical North Dakota town: 2.5×). Median rent is $428.

    1,146 people · Rolette County · median home $90,800 · income $46,786 · Jan low -5°F

    Full Shell Valley, North Dakota profile: weather, storms, schools, jobs →

    Shell Valley vs the typical North Dakota townShell ValleyTypical North Dakota townHome value$90,800$167,950Income$46,786$68,195Rent$428$775
    Census ACS 2020–2024 medians.
  8. 18Park River, North Dakota

    Homes cost 1.9× income

    Park River is a city of 1,424 people in Walsh County, North Dakota. The median home is worth $131,900 and the median household earns $69,408, so homes cost 1.9× income (typical North Dakota town: 2.5×). Median rent is $818.

    1,424 people · Walsh County · median home $131,900 · income $69,408 · Jan low -4°F · 35 in snow

    Full Park River, North Dakota profile: weather, storms, schools, jobs →

    Park River vs the typical North Dakota townPark RiverTypical North Dakota townHome value$131,900$167,950Income$69,408$68,195Rent$818$775
    Census ACS 2020–2024 medians.
  9. 17Forman, North Dakota

    Homes cost 1.8× income

    Forman is a city of 509 people in Sargent County, North Dakota. The median home is worth $128,100 and the median household earns $69,712, so homes cost 1.8× income (typical North Dakota town: 2.5×). Median rent is $758.

    509 people · Sargent County · median home $128,100 · income $69,712 · Jan low -1°F · 46 in snow

    Full Forman, North Dakota profile: weather, storms, schools, jobs →

    Forman vs the typical North Dakota townFormanTypical North Dakota townHome value$128,100$167,950Income$69,712$68,195Rent$758$775
    Census ACS 2020–2024 medians.
  10. 16Turtle Lake, North Dakota

    Homes cost 1.8× income

    Turtle Lake is a city of 542 people in McLean County, North Dakota. The median home is worth $120,100 and the median household earns $67,639, so homes cost 1.8× income (typical North Dakota town: 2.5×). Median rent is $779.

    542 people · McLean County · median home $120,100 · income $67,639 · Jan low 1°F · 44 in snow

    Full Turtle Lake, North Dakota profile: weather, storms, schools, jobs →

    Turtle Lake vs the typical North Dakota townTurtle LakeTypical North Dakota townHome value$120,100$167,950Income$67,639$68,195Rent$779$775
    Census ACS 2020–2024 medians.
  11. 15Hatton, North Dakota

    Homes cost 1.8× income

    Hatton is a city of 712 people in Traill County, North Dakota. The median home is worth $140,800 and the median household earns $76,111, so homes cost 1.8× income (typical North Dakota town: 2.5×). Median rent is $760.

    712 people · Traill County · median home $140,800 · income $76,111 · Jan low -4°F · 48 in snow

    Full Hatton, North Dakota profile: weather, storms, schools, jobs →

    Hatton vs the typical North Dakota townHattonTypical North Dakota townHome value$140,800$167,950Income$76,111$68,195Rent$760$775
    Census ACS 2020–2024 medians.
  12. 14Hankinson, North Dakota

    Homes cost 1.8× income

    Hankinson is a city of 921 people in Richland County, North Dakota. The median home is worth $131,000 and the median household earns $74,643, so homes cost 1.8× income (typical North Dakota town: 2.5×). Median rent is $590.

    921 people · Richland County · median home $131,000 · income $74,643 · Jan low 1°F · 47 in snow

    Full Hankinson, North Dakota profile: weather, storms, schools, jobs →

    Hankinson vs the typical North Dakota townHankinsonTypical North Dakota townHome value$131,000$167,950Income$74,643$68,195Rent$590$775
    Census ACS 2020–2024 medians.
  13. 13Kenmare, North Dakota

    Homes cost 1.8× income

    Kenmare is a city of 961 people in Ward County, North Dakota. The median home is worth $115,500 and the median household earns $64,077, so homes cost 1.8× income (typical North Dakota town: 2.5×). Median rent is $768.

    961 people · Ward County · median home $115,500 · income $64,077 · Jan low 0°F · 50 in snow

    Full Kenmare, North Dakota profile: weather, storms, schools, jobs →

    Kenmare vs the typical North Dakota townKenmareTypical North Dakota townHome value$115,500$167,950Income$64,077$68,195Rent$768$775
    Census ACS 2020–2024 medians.
  14. 12Hettinger, North Dakota

    Homes cost 1.8× income

    Hettinger is a city of 1,074 people in Adams County, North Dakota. The median home is worth $112,200 and the median household earns $62,750, so homes cost 1.8× income (typical North Dakota town: 2.5×). Median rent is $568.

    1,074 people · Adams County · median home $112,200 · income $62,750 · Jan low 5°F · 36 in snow

    Full Hettinger, North Dakota profile: weather, storms, schools, jobs →

    Hettinger vs the typical North Dakota townHettingerTypical North Dakota townHome value$112,200$167,950Income$62,750$68,195Rent$568$775
    Census ACS 2020–2024 medians.
  15. 11Mott, North Dakota

    Homes cost 1.7× income

    Mott is a city of 653 people in Hettinger County, North Dakota. The median home is worth $75,300 and the median household earns $44,762, so homes cost 1.7× income (typical North Dakota town: 2.5×). Median rent is $458.

    653 people · Hettinger County · median home $75,300 · income $44,762 · Jan low 4°F · 57 in snow

    Full Mott, North Dakota profile: weather, storms, schools, jobs →

    Mott vs the typical North Dakota townMottTypical North Dakota townHome value$75,300$167,950Income$44,762$68,195Rent$458$775
    Census ACS 2020–2024 medians.
  16. 10Lidgerwood, North Dakota

    Homes cost 1.6× income

    Lidgerwood is a city of 600 people in Richland County, North Dakota. The median home is worth $80,200 and the median household earns $49,667, so homes cost 1.6× income (typical North Dakota town: 2.5×). Median rent is $775.

    600 people · Richland County · median home $80,200 · income $49,667 · Jan low 2°F · 49 in snow

    Full Lidgerwood, North Dakota profile: weather, storms, schools, jobs →

    Lidgerwood vs the typical North Dakota townLidgerwoodTypical North Dakota townHome value$80,200$167,950Income$49,667$68,195Rent$775$775
    Census ACS 2020–2024 medians.
  17. 9Drayton, North Dakota

    Homes cost 1.5× income

    Drayton is a city of 757 people in Pembina County, North Dakota. The median home is worth $107,500 and the median household earns $70,250, so homes cost 1.5× income (typical North Dakota town: 2.5×). Median rent is $495.

    757 people · Pembina County · median home $107,500 · income $70,250 · Jan low -4°F · 44 in snow

    Full Drayton, North Dakota profile: weather, storms, schools, jobs →

    Drayton vs the typical North Dakota townDraytonTypical North Dakota townHome value$107,500$167,950Income$70,250$68,195Rent$495$775
    Census ACS 2020–2024 medians.
  18. 8Hebron, North Dakota

    Homes cost 1.5× income

    Hebron is a city of 794 people in Morton County, North Dakota. The median home is worth $98,100 and the median household earns $63,542, so homes cost 1.5× income (typical North Dakota town: 2.5×). Median rent is $873.

    794 people · Morton County · median home $98,100 · income $63,542 · Jan low 3°F · 41 in snow

    Full Hebron, North Dakota profile: weather, storms, schools, jobs →

    Hebron vs the typical North Dakota townHebronTypical North Dakota townHome value$98,100$167,950Income$63,542$68,195Rent$873$775
    Census ACS 2020–2024 medians.
  19. 7Ashley, North Dakota

    Homes cost 1.4× income

    Ashley is a city of 613 people in McIntosh County, North Dakota. The median home is worth $58,900 and the median household earns $42,540, so homes cost 1.4× income (typical North Dakota town: 2.5×). Median rent is $711.

    613 people · McIntosh County · median home $58,900 · income $42,540 · Jan low 1°F · 42 in snow

    Full Ashley, North Dakota profile: weather, storms, schools, jobs →

    Ashley vs the typical North Dakota townAshleyTypical North Dakota townHome value$58,900$167,950Income$42,540$68,195Rent$711$775
    Census ACS 2020–2024 medians.
  20. 6Wishek, North Dakota

    Homes cost 1.4× income

    Wishek is a city of 864 people in McIntosh County, North Dakota. The median home is worth $100,600 and the median household earns $69,904, so homes cost 1.4× income (typical North Dakota town: 2.5×). Median rent is $586.

    864 people · McIntosh County · median home $100,600 · income $69,904 · Jan low 1°F · 47 in snow

    Full Wishek, North Dakota profile: weather, storms, schools, jobs →

    Wishek vs the typical North Dakota townWishekTypical North Dakota townHome value$100,600$167,950Income$69,904$68,195Rent$586$775
    Census ACS 2020–2024 medians.
  21. 5Crosby, North Dakota

    Homes cost 1.4× income

    Crosby is a city of 1,065 people in Divide County, North Dakota. The median home is worth $115,400 and the median household earns $82,500, so homes cost 1.4× income (typical North Dakota town: 2.5×). Median rent is $900.

    1,065 people · Divide County · median home $115,400 · income $82,500 · Jan low 0°F · 41 in snow

    Full Crosby, North Dakota profile: weather, storms, schools, jobs →

    Crosby vs the typical North Dakota townCrosbyTypical North Dakota townHome value$115,400$167,950Income$82,500$68,195Rent$900$775
    Census ACS 2020–2024 medians.
  22. 4Pembina, North Dakota

    Homes cost 1.3× income

    Pembina is a city of 512 people in Pembina County, North Dakota. The median home is worth $136,200 and the median household earns $101,875, so homes cost 1.3× income (typical North Dakota town: 2.5×). Median rent is $718.

    512 people · Pembina County · median home $136,200 · income $101,875 · Jan low -5°F · 39 in snow

    Full Pembina, North Dakota profile: weather, storms, schools, jobs →

    Pembina vs the typical North Dakota townPembinaTypical North Dakota townHome value$136,200$167,950Income$101,875$68,195Rent$718$775
    Census ACS 2020–2024 medians.
  23. 3Minto, North Dakota

    Homes cost 1.3× income

    Minto is a city of 616 people in Walsh County, North Dakota. The median home is worth $109,300 and the median household earns $84,464, so homes cost 1.3× income (typical North Dakota town: 2.5×). Median rent is $597.

    616 people · Walsh County · median home $109,300 · income $84,464 · Jan low -5°F

    Full Minto, North Dakota profile: weather, storms, schools, jobs →

    Minto vs the typical North Dakota townMintoTypical North Dakota townHome value$109,300$167,950Income$84,464$68,195Rent$597$775
    Census ACS 2020–2024 medians.
  24. 2Napoleon, North Dakota

    Homes cost 1.3× income

    Napoleon is a city of 749 people in Logan County, North Dakota. The median home is worth $87,700 and the median household earns $68,750, so homes cost 1.3× income (typical North Dakota town: 2.5×). Median rent is $833.

    749 people · Logan County · median home $87,700 · income $68,750 · Jan low 1°F · 53 in snow

    Full Napoleon, North Dakota profile: weather, storms, schools, jobs →

    Napoleon vs the typical North Dakota townNapoleonTypical North Dakota townHome value$87,700$167,950Income$68,750$68,195Rent$833$775
    Census ACS 2020–2024 medians.
  25. 1Grand Forks AFB, North Dakota

    Homes cost 0.1× income

    Grand Forks AFB is a community of 2,002 people in Grand Forks County, North Dakota. The median home is worth $9,999 and the median household earns $72,782, so homes cost 0.1× income (typical North Dakota town: 2.5×). Median rent is $1,626.

    2,002 people · Grand Forks County · median home $9,999 · income $72,782 · Jan low -3°F · 49 in snow

    Full Grand Forks AFB, North Dakota profile: weather, storms, schools, jobs →

    Grand Forks AFB vs the typical North Dakota townGrand Forks AFBTypical North Dakota townHome value$9,999$167,950Income$72,782$68,195Rent$1,626$775
    Census ACS 2020–2024 medians.

More North Dakota rankings

Same ranking, other places

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