The Town Files

The 25 Best Quiet, Affordable Small Towns to Retire in Minnesota

Ranked on The Town Files lifestyle rankings among 939 towns of 500–10,000 people in Minnesota, scoring every town on all of these at once. #1 is Silver Bay, MN.

Map of the 25 towns12345678910111213141516171819202122232425
Numbers match the ranking.
The 25 Best Quiet, Affordable Small Towns to Retire in Minnesota1. Silver Bayscore 942. Elmorescore 933. Karlstadscore 934. Madisonscore 925. Babbittscore 926. Evansvillescore 917. Appletonscore 918. Hallockscore 909. Winnebagoscore 9010. Littleforkscore 9011. Brandonscore 8912. Stephenscore 8813. McIntoshscore 8714. Argylescore 8715. Lake Bentonscore 8716. Baudettescore 8617. Kenyonscore 8618. Libertyscore 8519. Heron Lakescore 8520. Tylerscore 8521. Wabanascore 8522. Fertilescore 8523. Blackduckscore 8424. Gibbonscore 8425. Sherburnscore 84
  1. 25Sherburn, Minnesota

    Retirement: 83rd percentile · Quiet: 71st percentile · Home value ÷ income: 97th percentile

    Sherburn is a city of 1,058 people in Martin County, Minnesota. Homes have a median value of $106,900 against household income of $59,777; January lows average 6°F.

    1,058 people · Martin County · median home $106,900 · income $59,777 · Jan low 6°F · 48 in snow

    Full Sherburn, Minnesota profile: weather, storms, schools, jobs →

    Sherburn: The 25 Best Quiet, Affordable Small Towns to Retire in Minnesota scoresRetirement83th pctQuiet71th pctAffordability97th pct
    Percentile vs Minnesota towns on each part of this ranking.
  2. 24Gibbon, Minnesota

    Retirement: 79th percentile · Quiet: 77th percentile · Home value ÷ income: 95th percentile

    Gibbon is a city of 784 people in Sibley County, Minnesota. Homes have a median value of $102,700 against household income of $55,278; January lows average 7°F.

    784 people · Sibley County · median home $102,700 · income $55,278 · Jan low 7°F · 44 in snow

    Full Gibbon, Minnesota profile: weather, storms, schools, jobs →

    Gibbon: The 25 Best Quiet, Affordable Small Towns to Retire in Minnesota scoresRetirement79th pctQuiet77th pctAffordability95th pct
    Percentile vs Minnesota towns on each part of this ranking.
  3. 23Blackduck, Minnesota

    Retirement: 91st percentile · Quiet: 82nd percentile · Home value ÷ income: 79th percentile

    Blackduck is a city of 845 people in Beltrami County, Minnesota. Homes have a median value of $96,900 against household income of $36,447; January lows average -5°F.

    845 people · Beltrami County · median home $96,900 · income $36,447 · Jan low -5°F · 49 in snow

    Full Blackduck, Minnesota profile: weather, storms, schools, jobs →

    Blackduck: The 25 Best Quiet, Affordable Small Towns to Retire in Minnesota scoresRetirement91th pctQuiet82th pctAffordability79th pct
    Percentile vs Minnesota towns on each part of this ranking.
  4. 22Fertile, Minnesota

    Retirement: 78th percentile · Quiet: 81st percentile · Home value ÷ income: 95th percentile

    Fertile is a city of 804 people in Polk County, Minnesota. Homes have a median value of $129,500 against household income of $67,125; January lows average -4°F.

    804 people · Polk County · median home $129,500 · income $67,125 · Jan low -4°F · 50 in snow

    Full Fertile, Minnesota profile: weather, storms, schools, jobs →

    Fertile: The 25 Best Quiet, Affordable Small Towns to Retire in Minnesota scoresRetirement78th pctQuiet81th pctAffordability95th pct
    Percentile vs Minnesota towns on each part of this ranking.
  5. 21Wabana, Minnesota

    Retirement: 98th percentile · Quiet: 94th percentile · Home value ÷ income: 62nd percentile

    Wabana is a township of 503 people in Itasca County, Minnesota. Homes have a median value of $302,900 against household income of $95,417; January lows average -3°F.

    503 people · Itasca County · median home $302,900 · income $95,417 · Jan low -3°F · 61 in snow

    Full Wabana, Minnesota profile: weather, storms, schools, jobs →

    Wabana: The 25 Best Quiet, Affordable Small Towns to Retire in Minnesota scoresRetirement98th pctQuiet94th pctAffordability62th pct
    Percentile vs Minnesota towns on each part of this ranking.
  6. 20Tyler, Minnesota

    Retirement: 93rd percentile · Quiet: 72nd percentile · Home value ÷ income: 89th percentile

    Tyler is a city of 1,138 people in Lincoln County, Minnesota. Homes have a median value of $151,100 against household income of $65,500; January lows average 5°F.

    1,138 people · Lincoln County · median home $151,100 · income $65,500 · Jan low 5°F · 42 in snow

    Full Tyler, Minnesota profile: weather, storms, schools, jobs →

    Tyler: The 25 Best Quiet, Affordable Small Towns to Retire in Minnesota scoresRetirement93th pctQuiet72th pctAffordability89th pct
    Percentile vs Minnesota towns on each part of this ranking.
  7. 19Heron Lake, Minnesota

    Retirement: 73rd percentile · Quiet: 84th percentile · Home value ÷ income: 99th percentile

    Heron Lake is a city of 602 people in Jackson County, Minnesota. Homes have a median value of $88,600 against household income of $68,000; January lows average 5°F.

    602 people · Jackson County · median home $88,600 · income $68,000 · Jan low 5°F · 46 in snow

    Full Heron Lake, Minnesota profile: weather, storms, schools, jobs →

    Heron Lake: The 25 Best Quiet, Affordable Small Towns to Retire in Minnesota scoresRetirement73th pctQuiet84th pctAffordability99th pct
    Percentile vs Minnesota towns on each part of this ranking.
  8. 18Liberty, Minnesota

    Retirement: 92nd percentile · Quiet: 85th percentile · Home value ÷ income: 79th percentile

    Liberty is a township of 746 people in Beltrami County, Minnesota. Homes have a median value of $261,400 against household income of $98,333; January lows average -3°F.

    746 people · Beltrami County · median home $261,400 · income $98,333 · Jan low -3°F

    Full Liberty, Minnesota profile: weather, storms, schools, jobs →

    Liberty: The 25 Best Quiet, Affordable Small Towns to Retire in Minnesota scoresRetirement92th pctQuiet85th pctAffordability79th pct
    Percentile vs Minnesota towns on each part of this ranking.
  9. 17Kenyon, Minnesota

    Retirement: 86th percentile · Quiet: 90th percentile · Home value ÷ income: 82nd percentile

    Kenyon is a city of 1,894 people in Goodhue County, Minnesota. Homes have a median value of $216,800 against household income of $82,500; January lows average 5°F.

    1,894 people · Goodhue County · median home $216,800 · income $82,500 · Jan low 5°F · 44 in snow

    Full Kenyon, Minnesota profile: weather, storms, schools, jobs →

    Kenyon: The 25 Best Quiet, Affordable Small Towns to Retire in Minnesota scoresRetirement86th pctQuiet90th pctAffordability82th pct
    Percentile vs Minnesota towns on each part of this ranking.
  10. 16Baudette, Minnesota

    Retirement: 99th percentile · Quiet: 74th percentile · Home value ÷ income: 86th percentile

    Baudette is a city of 966 people in Lake of the Woods County, Minnesota. Homes have a median value of $173,600 against household income of $71,061; January lows average -5°F.

    966 people · Lake of the Woods County · median home $173,600 · income $71,061 · Jan low -5°F

    Full Baudette, Minnesota profile: weather, storms, schools, jobs →

    Baudette: The 25 Best Quiet, Affordable Small Towns to Retire in Minnesota scoresRetirement99th pctQuiet74th pctAffordability86th pct
    Percentile vs Minnesota towns on each part of this ranking.
  11. 15Lake Benton, Minnesota

    Retirement: 93rd percentile · Quiet: 72nd percentile · Home value ÷ income: 95th percentile

    Lake Benton is a city of 687 people in Lincoln County, Minnesota. Homes have a median value of $99,800 against household income of $52,250; January lows average 5°F.

    687 people · Lincoln County · median home $99,800 · income $52,250 · Jan low 5°F · 42 in snow

    Full Lake Benton, Minnesota profile: weather, storms, schools, jobs →

    Lake Benton: The 25 Best Quiet, Affordable Small Towns to Retire in Minnesota scoresRetirement93th pctQuiet72th pctAffordability95th pct
    Percentile vs Minnesota towns on each part of this ranking.
  12. 14Argyle, Minnesota

    Retirement: 78th percentile · Quiet: 85th percentile · Home value ÷ income: 97th percentile

    Argyle is a city of 544 people in Marshall County, Minnesota. Homes have a median value of $191,800 against household income of $105,625; January lows average -5°F.

    544 people · Marshall County · median home $191,800 · income $105,625 · Jan low -5°F · 44 in snow

    Full Argyle, Minnesota profile: weather, storms, schools, jobs →

    Argyle: The 25 Best Quiet, Affordable Small Towns to Retire in Minnesota scoresRetirement78th pctQuiet85th pctAffordability97th pct
    Percentile vs Minnesota towns on each part of this ranking.
  13. 13McIntosh, Minnesota

    Retirement: 94th percentile · Quiet: 69th percentile · Home value ÷ income: 97th percentile

    McIntosh is a city of 606 people in Polk County, Minnesota. Homes have a median value of $103,600 against household income of $56,944; January lows average -5°F.

    606 people · Polk County · median home $103,600 · income $56,944 · Jan low -5°F

    Full McIntosh, Minnesota profile: weather, storms, schools, jobs →

    McIntosh: The 25 Best Quiet, Affordable Small Towns to Retire in Minnesota scoresRetirement94th pctQuiet69th pctAffordability97th pct
    Percentile vs Minnesota towns on each part of this ranking.
  14. 12Stephen, Minnesota

    Retirement: 78th percentile · Quiet: 85th percentile · Home value ÷ income: 100th percentile

    Stephen is a city of 592 people in Marshall County, Minnesota. Homes have a median value of $87,500 against household income of $71,250; January lows average -5°F.

    592 people · Marshall County · median home $87,500 · income $71,250 · Jan low -5°F · 44 in snow

    Full Stephen, Minnesota profile: weather, storms, schools, jobs →

    Stephen: The 25 Best Quiet, Affordable Small Towns to Retire in Minnesota scoresRetirement78th pctQuiet85th pctAffordability100th pct
    Percentile vs Minnesota towns on each part of this ranking.
  15. 11Brandon, Minnesota

    Retirement: 89th percentile · Quiet: 93rd percentile · Home value ÷ income: 86th percentile

    Brandon is a city of 501 people in Douglas County, Minnesota. Homes have a median value of $175,800 against household income of $73,375; January lows average 2°F.

    501 people · Douglas County · median home $175,800 · income $73,375 · Jan low 2°F · 46 in snow

    Full Brandon, Minnesota profile: weather, storms, schools, jobs →

    Brandon: The 25 Best Quiet, Affordable Small Towns to Retire in Minnesota scoresRetirement89th pctQuiet93th pctAffordability86th pct
    Percentile vs Minnesota towns on each part of this ranking.
  16. 10Littlefork, Minnesota

    Retirement: 86th percentile · Quiet: 97th percentile · Home value ÷ income: 86th percentile

    Littlefork is a city of 553 people in Koochiching County, Minnesota. Homes have a median value of $150,800 against household income of $64,130; January lows average -8°F.

    553 people · Koochiching County · median home $150,800 · income $64,130 · Jan low -8°F · 55 in snow

    Full Littlefork, Minnesota profile: weather, storms, schools, jobs →

    Littlefork: The 25 Best Quiet, Affordable Small Towns to Retire in Minnesota scoresRetirement86th pctQuiet97th pctAffordability86th pct
    Percentile vs Minnesota towns on each part of this ranking.
  17. 9Winnebago, Minnesota

    Retirement: 80th percentile · Quiet: 94th percentile · Home value ÷ income: 95th percentile

    Winnebago is a city of 1,391 people in Faribault County, Minnesota. Homes have a median value of $110,900 against household income of $59,643; January lows average 6°F.

    1,391 people · Faribault County · median home $110,900 · income $59,643 · Jan low 6°F · 47 in snow

    Full Winnebago, Minnesota profile: weather, storms, schools, jobs →

    Winnebago: The 25 Best Quiet, Affordable Small Towns to Retire in Minnesota scoresRetirement80th pctQuiet94th pctAffordability95th pct
    Percentile vs Minnesota towns on each part of this ranking.
  18. 8Hallock, Minnesota

    Retirement: 96th percentile · Quiet: 80th percentile · Home value ÷ income: 94th percentile

    Hallock is a city of 906 people in Kittson County, Minnesota. Homes have a median value of $140,000 against household income of $68,854; January lows average -4°F.

    906 people · Kittson County · median home $140,000 · income $68,854 · Jan low -4°F

    Full Hallock, Minnesota profile: weather, storms, schools, jobs →

    Hallock: The 25 Best Quiet, Affordable Small Towns to Retire in Minnesota scoresRetirement96th pctQuiet80th pctAffordability94th pct
    Percentile vs Minnesota towns on each part of this ranking.
  19. 7Appleton, Minnesota

    Retirement: 94th percentile · Quiet: 82nd percentile · Home value ÷ income: 97th percentile

    Appleton is a city of 1,392 people in Swift County, Minnesota. Homes have a median value of $77,000 against household income of $43,958; January lows average 4°F.

    1,392 people · Swift County · median home $77,000 · income $43,958 · Jan low 4°F · 51 in snow

    Full Appleton, Minnesota profile: weather, storms, schools, jobs →

    Appleton: The 25 Best Quiet, Affordable Small Towns to Retire in Minnesota scoresRetirement94th pctQuiet82th pctAffordability97th pct
    Percentile vs Minnesota towns on each part of this ranking.
  20. 6Evansville, Minnesota

    Retirement: 89th percentile · Quiet: 93rd percentile · Home value ÷ income: 92nd percentile

    Evansville is a city of 603 people in Douglas County, Minnesota. Homes have a median value of $133,000 against household income of $64,028; January lows average 2°F.

    603 people · Douglas County · median home $133,000 · income $64,028 · Jan low 2°F

    Full Evansville, Minnesota profile: weather, storms, schools, jobs →

    Evansville: The 25 Best Quiet, Affordable Small Towns to Retire in Minnesota scoresRetirement89th pctQuiet93th pctAffordability92th pct
    Percentile vs Minnesota towns on each part of this ranking.
  21. 5Babbitt, Minnesota

    Retirement: 83rd percentile · Quiet: 97th percentile · Home value ÷ income: 97th percentile

    Babbitt is a city of 1,397 people in St. Louis County, Minnesota. Homes have a median value of $102,300 against household income of $55,875; January lows average -7°F.

    1,397 people · St. Louis County · median home $102,300 · income $55,875 · Jan low -7°F · 84 in snow

    Full Babbitt, Minnesota profile: weather, storms, schools, jobs →

    Babbitt: The 25 Best Quiet, Affordable Small Towns to Retire in Minnesota scoresRetirement83th pctQuiet97th pctAffordability97th pct
    Percentile vs Minnesota towns on each part of this ranking.
  22. 4Madison, Minnesota

    Retirement: 93rd percentile · Quiet: 85th percentile · Home value ÷ income: 99th percentile

    Madison is a city of 1,518 people in Lac qui Parle County, Minnesota. Homes have a median value of $97,000 against household income of $61,172; January lows average 3°F.

    1,518 people · Lac qui Parle County · median home $97,000 · income $61,172 · Jan low 3°F · 47 in snow

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

    Madison: The 25 Best Quiet, Affordable Small Towns to Retire in Minnesota scoresRetirement93th pctQuiet85th pctAffordability99th pct
    Percentile vs Minnesota towns on each part of this ranking.
  23. 3Karlstad, Minnesota

    Retirement: 99th percentile · Quiet: 85th percentile · Home value ÷ income: 94th percentile

    Karlstad is a city of 710 people in Kittson County, Minnesota. Homes have a median value of $126,300 against household income of $64,000; January lows average -5°F.

    710 people · Kittson County · median home $126,300 · income $64,000 · Jan low -5°F · 44 in snow

    Full Karlstad, Minnesota profile: weather, storms, schools, jobs →

    Karlstad: The 25 Best Quiet, Affordable Small Towns to Retire in Minnesota scoresRetirement99th pctQuiet85th pctAffordability94th pct
    Percentile vs Minnesota towns on each part of this ranking.
  24. 2Elmore, Minnesota

    Retirement: 90th percentile · Quiet: 89th percentile · Home value ÷ income: 100th percentile

    Elmore is a city of 549 people in Faribault County, Minnesota. Homes have a median value of $46,700 against household income of $41,250; January lows average 5°F.

    549 people · Faribault County · median home $46,700 · income $41,250 · Jan low 5°F · 44 in snow

    Full Elmore, Minnesota profile: weather, storms, schools, jobs →

    Elmore: The 25 Best Quiet, Affordable Small Towns to Retire in Minnesota scoresRetirement90th pctQuiet89th pctAffordability100th pct
    Percentile vs Minnesota towns on each part of this ranking.
  25. 1Silver Bay, Minnesota

    Retirement: 97th percentile · Quiet: 96th percentile · Home value ÷ income: 89th percentile

    Silver Bay is a city of 1,857 people in Lake County, Minnesota. Homes have a median value of $158,900 against household income of $69,489; January lows average 1°F.

    1,857 people · Lake County · median home $158,900 · income $69,489 · Jan low 1°F · 94 in snow

    Full Silver Bay, Minnesota profile: weather, storms, schools, jobs →

    Silver Bay: The 25 Best Quiet, Affordable Small Towns to Retire in Minnesota scoresRetirement97th pctQuiet96th pctAffordability89th pct
    Percentile vs Minnesota towns on each part of this ranking.

Price vs ranking

Median home value vs ranking, Minnesota towns0255075100$19K$179K$339K$498K$658KMedian home valuePercentile
Orange squares are the 25 towns on this list; green dots are other towns on The Town Files in Minnesota.

More Minnesota rankings

Same ranking, other places

Methodology. We ranked 939 towns of 500–10,000 people in Minnesota (2020 Census population). Lifestyle measures are The Town Files lifestyle rankings, built from federal demographic, school, crime and housing data (2025), shown as percentiles. The combined score is the average of the percentiles shown for each town; a town must be above the middle on every one. Only towns better than 60% of their peers on this measure qualify, so lists can be shorter than 25. Sources: