United States Rankings Most affordable U.S. cities to buy a home National ranking
The places where homes cost the fewest years of income Raymondville, TX ranks first by median home value divided by median household income (1.0 years). Ranked: 5,300 places with 10,000 or more residents in 2020 and reliable estimates of both. A ratio of 3 means the median home is worth three years of the median household income; it ignores interest rates, taxes and insurance.
Where do homes cost the least relative to local incomes? The places where homes cost the fewest years of income, first to fifth: Raymondville, TX (1.0 years), Flowing Wells, AZ (1.0 years), Johnstown, PA (1.2 years), Ogdensburg, NY (1.4 years) and Danville Township, IL (1.4 years).
The places where homes cost the fewest years of income, by median home value divided by median household income. Rank Place Type Median home value divided by median household income Residents County 1 Raymondville, TX city 1.0 years 10,082 Willacy County 2 Flowing Wells, AZ CDP 1.0 years 16,559 Pima County 3 Johnstown, PA city 1.2 years 17,654 Cambria County 4 Ogdensburg, NY city 1.4 years 9,123 St. Lawrence County 5 Danville Township, IL township 1.4 years 26,302 Vermilion County 6 Flint, MI city 1.4 years 79,306 Genesee County 7 Kewanee, IL city 1.4 years 12,115 Henry County 8 East St. Louis, IL city 1.5 years 17,682 St. Clair County 9 Saginaw, MI city 1.6 years 42,863 Saginaw County 10 Fostoria, OH city 1.6 years 12,920 Seneca County and 2 more 11 Streator, IL city 1.6 years 12,190 LaSalle County and 1 more 12 Coloma Township, IL township 1.7 years 10,277 Whiteside County 13 Borger, TX city 1.7 years 11,842 Hutchinson County 14 Olean, NY city 1.7 years 13,508 Cattaraugus County 15 Federal Heights, CO city 1.7 years 14,075 Adams County 16 Vernon, TX city 1.7 years 9,747 Wilbarger County 17 Centreville Township, IL township 1.7 years 19,067 St. Clair County 18 Granite City Township, IL township 1.7 years 24,439 Madison County 19 Danville, IL city 1.7 years 28,138 Vermilion County 20 Wood River, IL city 1.7 years 10,224 Madison County 21 Sharon, PA city 1.7 years 12,648 Mercer County 22 Coal Township, PA township 1.7 years 9,721 Northumberland County 23 Ottumwa, IA city 1.7 years 25,319 Wapello County 24 Arkansas City, KS city 1.7 years 11,800 Cowley County 25 Bruce Township, IL township 1.8 years 11,675 LaSalle County 26 Granite City, IL city 1.8 years 26,807 Madison County 27 Jennings, MO city 1.8 years 13,093 St. Louis County 28 Town of German Flatts, NY town 1.8 years 11,969 Herkimer County 29 Centralia Township, IL township 1.8 years 13,816 Marion County 30 Decatur Township, IL township 1.8 years 45,203 Macon County 31 Dunkirk, NY city 1.8 years 12,326 Chautauqua County 32 Pampa, TX city 1.8 years 16,414 Gray County 33 Freeport, IL city 1.8 years 23,202 Stephenson County 34 Woodside Township, IL township 1.8 years 11,300 Sangamon County 35 Mattoon Township, IL township 1.8 years 14,433 Coles County 36 Snyder, TX city 1.8 years 11,166 Scurry County 37 Mount Vernon Township, IL township 1.8 years 12,192 Jefferson County 38 Sweetwater, TX city 1.8 years 10,141 Nolan County 39 Mount Vernon, IL city 1.8 years 14,187 Jefferson County 40 Pontiac Township, IL township 1.8 years 11,955 Livingston County 41 Taylorville, IL city 1.8 years 10,522 Christian County 42 Port Lavaca, TX city 1.8 years 11,060 Calhoun County 43 Peru Township, IN township 1.8 years 10,612 Miami County 44 Maple Heights, OH city 1.8 years 22,902 Cuyahoga County 45 New Castle, PA city 1.8 years 21,175 Lawrence County 46 Massena, NY village 1.8 years 9,898 St. Lawrence County 47 Youngstown, OH city 1.8 years 58,832 Mahoning County 48 Marshalltown, IA city 1.8 years 27,536 Marshall County 49 Pottsville, PA city 1.8 years 13,170 Schuylkill County 50 Fort Madison, IA city 1.9 years 9,935 Lee County 51 Beeville, TX city 1.9 years 13,086 Bee County 52 Sterling Township, IL township 1.9 years 16,822 Whiteside County 53 Struthers, OH city 1.9 years 9,837 Mahoning County 54 Centralia, IL city 1.9 years 11,863 Marion County and 2 more 55 Taylorville Township, IL township 1.9 years 11,358 Christian County 56 Long Creek Township, IL township 1.9 years 10,139 Macon County 57 Nanticoke, PA city 1.9 years 10,712 Luzerne County 58 Park Forest, IL village 1.9 years 21,079 Cook County and 1 more 59 Herrin, IL city 1.9 years 12,268 Williamson County 60 Wood River Township, IL township 1.9 years 29,456 Madison County 61 South Euclid, OH city 1.9 years 21,248 Cuyahoga County 62 Newell Township, IL township 1.9 years 13,326 Vermilion County 63 Mattoon, IL city 1.9 years 16,667 Coles County 64 Sterling, IL city 1.9 years 14,394 Whiteside County 65 Pontiac, IL city 1.9 years 10,806 Livingston County 66 New Castle, IN city 1.9 years 17,390 Henry County 67 Harrisburg Township, IL township 1.9 years 9,656 Saline County 68 Alton, IL city 1.9 years 25,013 Madison County 69 Pipe Creek Township, Madison County, IN township 1.9 years 12,354 Madison County 70 Pekin Township, IL township 1.9 years 27,057 Tazewell County 71 Hereford, TX city 1.9 years 14,976 Deaf Smith County 72 Decatur, IL city 1.9 years 67,884 Macon County 73 West Odessa, TX CDP 1.9 years 32,594 Ector County 74 Burlington, IA city 1.9 years 23,336 Des Moines County 75 Fulton, NY city 1.9 years 11,188 Oswego County 76 Town of Massena, NY town 1.9 years 12,058 St. Lawrence County 77 Logansport, IN city 1.9 years 18,287 Cass County 78 San Benito, TX city 2.0 years 24,980 Cameron County 79 Center Township, Grant County, IN township 2.0 years 21,606 Grant County 80 Jacksonville, IL city 2.0 years 17,752 Morgan County 81 Clinton, IA city 2.0 years 24,049 Clinton County 82 Marion, Grant County, IN city 2.0 years 28,234 Grant County 83 Bay City, MI city 2.0 years 31,868 Bay County 84 West Mifflin, PA borough 2.0 years 18,707 Allegheny County 85 Town of Malone, NY town 2.0 years 11,677 Franklin County 86 Town of Chenango, NY town 2.0 years 10,594 Broome County 87 Pekin, IL city 2.0 years 31,277 Tazewell County 88 Ottawa Township, IL township 2.0 years 11,179 LaSalle County 89 Eel Township, IN township 2.0 years 18,549 Cass County 90 South Rock Island Township, IL township 2.0 years 18,056 Rock Island County 91 Galesburg, IL city 2.0 years 28,581 Knox County 92 Pease Township, OH township 2.0 years 12,375 Belmont County 93 Canton Township, IL township 2.0 years 13,770 Fulton County 94 Peru, IN city 2.0 years 10,962 Miami County 95 LaSalle Township, IL township 2.0 years 13,152 LaSalle County 96 Chester, PA city 2.0 years 33,996 Delaware County 97 Canton, IL city 2.0 years 13,297 Fulton County 98 Garfield Heights, OH city 2.0 years 28,790 Cuyahoga County 99 Jamestown, NY city 2.0 years 27,663 Chautauqua County 100 St. Marys Township, OH township 2.0 years 11,069 Auglaize County
Source: ACS 2020-2024 5-year estimates, U.S. Census Bureau · Check it at data.census.gov
How is this ranking made? One figure is read for each of the places with 10,000 or more residents in 2020 and reliable estimates of both: the median home value divided by median household income. Places whose survey estimate has a coefficient of variation over 40% are left out, because the survey cannot place them reliably. Equal published figures share a rank. A ranking measures one number; it is not a judgment of a place.
Towns and townships are ranked beside cities, villages and census-designated places, and a census-designated place can lie inside a township, so one area can appear twice, once as each.
Across the 100 places shown, the median home value divided by median household income runs from 2.0 years (St. Marys Township, OH) to 1.0 years (Raymondville, TX); the middle place on the list stands at 1.9 years.
Source: PlainCities ranking method applied to the ACS 2020-2024 5-year estimates, U.S. Census Bureau · How ranks are computed
How these figures are made: methodology and release checks · reading a margin of error · every state · corrections