The Town Files

The 25 Most Affordable Small Towns in Vermont

Ranked by home value ÷ income among 72 towns of 500–10,000 people in Vermont. #1 is Hardwick, VT (homes cost 2.0× income).

Map of the 25 towns12345678910111213141516171819202122232425
Numbers match the ranking.
  1. 25Newport, Vermont

    Homes cost 3.3× income

    Newport is a city of 4,455 people in Orleans County, Vermont. The median home is worth $179,400 and the median household earns $54,646, so homes cost 3.3× income (typical Vermont town: 3.6×). Median rent is $850.

    4,455 people · Orleans County · median home $179,400 · income $54,646 · Jan low 4°F · 99 in snow

    Full Newport, Vermont profile: weather, storms, schools, jobs →

    Newport vs the typical Vermont townNewportTypical Vermont townHome value$179,400$278,700Income$54,646$76,895Rent$850$1,117
    Census ACS 2020–2024 medians.
  2. 24Lyndon, Vermont

    Homes cost 3.3× income

    Lyndon is a town of 5,491 people in Caledonia County, Vermont. The median home is worth $227,000 and the median household earns $68,786, so homes cost 3.3× income (typical Vermont town: 3.6×). Median rent is $1,096.

    5,491 people · Caledonia County · median home $227,000 · income $68,786 · Jan low 4°F · 142 in snow

    Full Lyndon, Vermont profile: weather, storms, schools, jobs →

    Lyndon vs the typical Vermont townLyndonTypical Vermont townHome value$227,000$278,700Income$68,786$76,895Rent$1,096$1,117
    Census ACS 2020–2024 medians.
  3. 23Berlin, Vermont

    Homes cost 3.2× income

    Berlin is a town of 2,849 people in Washington County, Vermont. The median home is worth $273,600 and the median household earns $86,691, so homes cost 3.2× income (typical Vermont town: 3.6×). Median rent is $1,169.

    2,849 people · Washington County · median home $273,600 · income $86,691 · Jan low 7°F · 76 in snow

    Full Berlin, Vermont profile: weather, storms, schools, jobs →

    Berlin vs the typical Vermont townBerlinTypical Vermont townHome value$273,600$278,700Income$86,691$76,895Rent$1,169$1,117
    Census ACS 2020–2024 medians.
  4. 22St. Johnsbury, Vermont

    Homes cost 3.2× income

    St. Johnsbury is a community of 5,994 people in Caledonia County, Vermont. The median home is worth $174,500 and the median household earns $53,711, so homes cost 3.2× income (typical Vermont town: 3.6×). Median rent is $912.

    5,994 people · Caledonia County · median home $174,500 · income $53,711 · Jan low 9°F · 87 in snow

    Full St. Johnsbury, Vermont profile: weather, storms, schools, jobs →

    St. Johnsbury vs the typical Vermont townSt. JohnsburyTypical Vermont townHome value$174,500$278,700Income$53,711$76,895Rent$912$1,117
    Census ACS 2020–2024 medians.
  5. 21Barre, Vermont

    Homes cost 3.2× income

    Barre is a city of 8,491 people in Washington County, Vermont. The median home is worth $210,400 and the median household earns $65,625, so homes cost 3.2× income (typical Vermont town: 3.6×). Median rent is $1,093.

    8,491 people · Washington County · median home $210,400 · income $65,625 · Jan low 7°F · 76 in snow

    Full Barre, Vermont profile: weather, storms, schools, jobs →

    Barre vs the typical Vermont townBarreTypical Vermont townHome value$210,400$278,700Income$65,625$76,895Rent$1,093$1,117
    Census ACS 2020–2024 medians.
  6. 20Johnson, Vermont

    Homes cost 3.1× income

    Johnson is a town of 3,491 people in Lamoille County, Vermont. The median home is worth $169,400 and the median household earns $55,346, so homes cost 3.1× income (typical Vermont town: 3.6×). Median rent is $948.

    3,491 people · Lamoille County · median home $169,400 · income $55,346 · Jan low 5°F · 139 in snow

    Full Johnson, Vermont profile: weather, storms, schools, jobs →

    Johnson vs the typical Vermont townJohnsonTypical Vermont townHome value$169,400$278,700Income$55,346$76,895Rent$948$1,117
    Census ACS 2020–2024 medians.
  7. 19Shaftsbury, Vermont

    Homes cost 3.1× income

    Shaftsbury is a town of 3,598 people in Bennington County, Vermont. The median home is worth $267,300 and the median household earns $86,071, so homes cost 3.1× income (typical Vermont town: 3.6×). Median rent is $1,079.

    3,598 people · Bennington County · median home $267,300 · income $86,071 · Jan low 13°F · 75 in snow

    Full Shaftsbury, Vermont profile: weather, storms, schools, jobs →

    Shaftsbury vs the typical Vermont townShaftsburyTypical Vermont townHome value$267,300$278,700Income$86,071$76,895Rent$1,079$1,117
    Census ACS 2020–2024 medians.
  8. 18Springfield, Vermont

    Homes cost 3.1× income

    Springfield is a community of 4,189 people in Windsor County, Vermont. The median home is worth $147,200 and the median household earns $46,760, so homes cost 3.1× income (typical Vermont town: 3.6×). Median rent is $818.

    4,189 people · Windsor County · median home $147,200 · income $46,760 · Jan low 9°F · 83 in snow

    Full Springfield, Vermont profile: weather, storms, schools, jobs →

    Springfield vs the typical Vermont townSpringfieldTypical Vermont townHome value$147,200$278,700Income$46,760$76,895Rent$818$1,117
    Census ACS 2020–2024 medians.
  9. 17St. Johnsbury, Vermont

    Homes cost 3.1× income

    St. Johnsbury is a town of 7,364 people in Caledonia County, Vermont. The median home is worth $177,700 and the median household earns $57,738, so homes cost 3.1× income (typical Vermont town: 3.6×). Median rent is $914.

    7,364 people · Caledonia County · median home $177,700 · income $57,738 · Jan low 9°F · 87 in snow

    Full St. Johnsbury, Vermont profile: weather, storms, schools, jobs →

    St. Johnsbury vs the typical Vermont townSt. JohnsburyTypical Vermont townHome value$177,700$278,700Income$57,738$76,895Rent$914$1,117
    Census ACS 2020–2024 medians.
  10. 16Weathersfield, Vermont

    Homes cost 3.0× income

    Weathersfield is a town of 2,842 people in Windsor County, Vermont. The median home is worth $252,700 and the median household earns $83,095, so homes cost 3.0× income (typical Vermont town: 3.6×). Median rent is $1,401.

    2,842 people · Windsor County · median home $252,700 · income $83,095 · Jan low 9°F · 83 in snow

    Full Weathersfield, Vermont profile: weather, storms, schools, jobs →

    Weathersfield vs the typical Vermont townWeathersfieldTypical Vermont townHome value$252,700$278,700Income$83,095$76,895Rent$1,401$1,117
    Census ACS 2020–2024 medians.
  11. 15Barton, Vermont

    Homes cost 3.0× income

    Barton is a town of 2,872 people in Orleans County, Vermont. The median home is worth $201,200 and the median household earns $66,250, so homes cost 3.0× income (typical Vermont town: 3.6×). Median rent is $793.

    2,872 people · Orleans County · median home $201,200 · income $66,250 · Jan low -1°F · 117 in snow

    Full Barton, Vermont profile: weather, storms, schools, jobs →

    Barton vs the typical Vermont townBartonTypical Vermont townHome value$201,200$278,700Income$66,250$76,895Rent$793$1,117
    Census ACS 2020–2024 medians.
  12. 14Castleton, Vermont

    Homes cost 3.0× income

    Castleton is a town of 4,458 people in Rutland County, Vermont. The median home is worth $224,800 and the median household earns $73,854, so homes cost 3.0× income (typical Vermont town: 3.6×). Median rent is $1,137.

    4,458 people · Rutland County · median home $224,800 · income $73,854 · Jan low 8°F · 76 in snow

    Full Castleton, Vermont profile: weather, storms, schools, jobs →

    Castleton vs the typical Vermont townCastletonTypical Vermont townHome value$224,800$278,700Income$73,854$76,895Rent$1,137$1,117
    Census ACS 2020–2024 medians.
  13. 13Rockingham, Vermont

    Homes cost 3.0× income

    Rockingham is a town of 4,832 people in Windham County, Vermont. The median home is worth $210,900 and the median household earns $70,857, so homes cost 3.0× income (typical Vermont town: 3.6×). Median rent is $1,062.

    4,832 people · Windham County · median home $210,900 · income $70,857 · Jan low 13°F · 60 in snow

    Full Rockingham, Vermont profile: weather, storms, schools, jobs →

    Rockingham vs the typical Vermont townRockinghamTypical Vermont townHome value$210,900$278,700Income$70,857$76,895Rent$1,062$1,117
    Census ACS 2020–2024 medians.
  14. 12Barre, Vermont

    Homes cost 3.0× income

    Barre is a town of 7,923 people in Washington County, Vermont. The median home is worth $281,400 and the median household earns $93,210, so homes cost 3.0× income (typical Vermont town: 3.6×). Median rent is $1,524.

    7,923 people · Washington County · median home $281,400 · income $93,210 · Jan low 7°F · 76 in snow

    Full Barre, Vermont profile: weather, storms, schools, jobs →

    Barre vs the typical Vermont townBarreTypical Vermont townHome value$281,400$278,700Income$93,210$76,895Rent$1,524$1,117
    Census ACS 2020–2024 medians.
  15. 11Fairfax, Vermont

    Homes cost 2.9× income

    Fairfax is a town of 5,014 people in Franklin County, Vermont. The median home is worth $378,200 and the median household earns $128,963, so homes cost 2.9× income (typical Vermont town: 3.6×). Median rent is $1,080.

    5,014 people · Franklin County · median home $378,200 · income $128,963 · Jan low 8°F · 127 in snow

    Full Fairfax, Vermont profile: weather, storms, schools, jobs →

    Fairfax vs the typical Vermont townFairfaxTypical Vermont townHome value$378,200$278,700Income$128,963$76,895Rent$1,080$1,117
    Census ACS 2020–2024 medians.
  16. 10Springfield, Vermont

    Homes cost 2.9× income

    Springfield, Vermont
    Photo: user:H0n0r. Original uploader was H0n0r at en.wikipedia (public domain, Wikimedia Commons)

    Springfield is a town of 9,062 people in Windsor County, Vermont. The median home is worth $192,400 and the median household earns $66,571, so homes cost 2.9× income (typical Vermont town: 3.6×). Median rent is $963.

    9,062 people · Windsor County · median home $192,400 · income $66,571 · Jan low 9°F · 83 in snow

    Full Springfield, Vermont profile: weather, storms, schools, jobs →

    Springfield vs the typical Vermont townSpringfieldTypical Vermont townHome value$192,400$278,700Income$66,571$76,895Rent$963$1,117
    Census ACS 2020–2024 medians.
  17. 9Fair Haven, Vermont

    Homes cost 2.8× income

    Fair Haven is a town of 2,736 people in Rutland County, Vermont. The median home is worth $176,500 and the median household earns $62,404, so homes cost 2.8× income (typical Vermont town: 3.6×). Median rent is $830.

    2,736 people · Rutland County · median home $176,500 · income $62,404 · Jan low 12°F · 75 in snow

    Full Fair Haven, Vermont profile: weather, storms, schools, jobs →

    Fair Haven vs the typical Vermont townFair HavenTypical Vermont townHome value$176,500$278,700Income$62,404$76,895Rent$830$1,117
    Census ACS 2020–2024 medians.
  18. 8Pittsford, Vermont

    Homes cost 2.8× income

    Pittsford is a town of 2,862 people in Rutland County, Vermont. The median home is worth $197,000 and the median household earns $69,705, so homes cost 2.8× income (typical Vermont town: 3.6×). Median rent is $781.

    2,862 people · Rutland County · median home $197,000 · income $69,705 · Jan low 8°F · 83 in snow

    Full Pittsford, Vermont profile: weather, storms, schools, jobs →

    Pittsford vs the typical Vermont townPittsfordTypical Vermont townHome value$197,000$278,700Income$69,705$76,895Rent$781$1,117
    Census ACS 2020–2024 medians.
  19. 7Poultney, Vermont

    Homes cost 2.8× income

    Poultney, Vermont
    Photo: Unknown authorUnknown author (public domain, Wikimedia Commons)

    Poultney is a town of 3,020 people in Rutland County, Vermont. The median home is worth $206,200 and the median household earns $72,617, so homes cost 2.8× income (typical Vermont town: 3.6×). Median rent is $913.

    3,020 people · Rutland County · median home $206,200 · income $72,617 · Jan low 12°F · 78 in snow

    Full Poultney, Vermont profile: weather, storms, schools, jobs →

    Poultney vs the typical Vermont townPoultneyTypical Vermont townHome value$206,200$278,700Income$72,617$76,895Rent$913$1,117
    Census ACS 2020–2024 medians.
  20. 6Derby, Vermont

    Homes cost 2.8× income

    Derby is a town of 4,579 people in Orleans County, Vermont. The median home is worth $225,000 and the median household earns $80,250, so homes cost 2.8× income (typical Vermont town: 3.6×). Median rent is $1,096.

    4,579 people · Orleans County · median home $225,000 · income $80,250 · Jan low 4°F · 99 in snow

    Full Derby, Vermont profile: weather, storms, schools, jobs →

    Derby vs the typical Vermont townDerbyTypical Vermont townHome value$225,000$278,700Income$80,250$76,895Rent$1,096$1,117
    Census ACS 2020–2024 medians.
  21. 5Royalton, Vermont

    Homes cost 2.5× income

    Royalton is a town of 2,750 people in Windsor County, Vermont. The median home is worth $263,200 and the median household earns $103,938, so homes cost 2.5× income (typical Vermont town: 3.6×). Median rent is $1,040.

    2,750 people · Windsor County · median home $263,200 · income $103,938 · Jan low 9°F · 81 in snow

    Full Royalton, Vermont profile: weather, storms, schools, jobs →

    Royalton vs the typical Vermont townRoyaltonTypical Vermont townHome value$263,200$278,700Income$103,938$76,895Rent$1,040$1,117
    Census ACS 2020–2024 medians.
  22. 4Williamstown, Vermont

    Homes cost 2.5× income

    Williamstown is a town of 3,515 people in Orange County, Vermont. The median home is worth $234,900 and the median household earns $94,418, so homes cost 2.5× income (typical Vermont town: 3.6×). Median rent is $1,659.

    3,515 people · Orange County · median home $234,900 · income $94,418 · Jan low 7°F · 76 in snow

    Full Williamstown, Vermont profile: weather, storms, schools, jobs →

    Williamstown vs the typical Vermont townWilliamstownTypical Vermont townHome value$234,900$278,700Income$94,418$76,895Rent$1,659$1,117
    Census ACS 2020–2024 medians.
  23. 3Bradford, Vermont

    Homes cost 2.4× income

    Bradford, Vermont
    Photo: Jscarreiro (talk) (Uploads) (public domain, Wikimedia Commons)

    Bradford is a town of 2,790 people in Orange County, Vermont. The median home is worth $258,600 and the median household earns $108,162, so homes cost 2.4× income (typical Vermont town: 3.6×). Median rent is $1,221.

    2,790 people · Orange County · median home $258,600 · income $108,162 · Jan low 4°F · 66 in snow

    Full Bradford, Vermont profile: weather, storms, schools, jobs →

    Bradford vs the typical Vermont townBradfordTypical Vermont townHome value$258,600$278,700Income$108,162$76,895Rent$1,221$1,117
    Census ACS 2020–2024 medians.
  24. 2Hyde Park, Vermont

    Homes cost 2.4× income

    Hyde Park is a town of 3,020 people in Lamoille County, Vermont. The median home is worth $198,400 and the median household earns $84,375, so homes cost 2.4× income (typical Vermont town: 3.6×). Median rent is $1,007.

    3,020 people · Lamoille County · median home $198,400 · income $84,375 · Jan low 5°F · 158 in snow

    Full Hyde Park, Vermont profile: weather, storms, schools, jobs →

    Hyde Park vs the typical Vermont townHyde ParkTypical Vermont townHome value$198,400$278,700Income$84,375$76,895Rent$1,007$1,117
    Census ACS 2020–2024 medians.
  25. 1Hardwick, Vermont

    Homes cost 2.0× income

    Hardwick, Vermont
    Photo: The original uploader was Vertexn at English Wikipedia. (public domain, Wikimedia Commons)

    Hardwick is a town of 2,920 people in Caledonia County, Vermont. The median home is worth $184,700 and the median household earns $92,297, so homes cost 2.0× income (typical Vermont town: 3.6×). Median rent is $875.

    2,920 people · Caledonia County · median home $184,700 · income $92,297 · Jan low 5°F · 119 in snow

    Full Hardwick, Vermont profile: weather, storms, schools, jobs →

    Hardwick vs the typical Vermont townHardwickTypical Vermont townHome value$184,700$278,700Income$92,297$76,895Rent$875$1,117
    Census ACS 2020–2024 medians.

More Vermont rankings

Same ranking, other places

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