Rent Affordability for A Plumber in Minnesota

A typical plumber in Minnesota earns about $69,784 a year, which supports approximately $1,745 a month in rent under the 30% rule. Below, every tracked Minnesota city is ranked by how local rent compares against that affordability ceiling.

As of May 2026. 38 of 70 cities tracked stay within the 30% rule; 32 are rent-burdened on this salary.

City↕Median rent↕% of income↑Affordability
Waseca, MN$990/mo17%very comfortable
Bemidji, MN$1,023/mo17.6%very comfortable
Albert Lea, MN$1,043/mo17.9%very comfortable
Winona, MN$1,065/mo18.3%very comfortable
Owatonna, MN$1,081/mo18.6%very comfortable
Moorhead, MN$1,093/mo18.8%very comfortable
Waite Park, MN$1,143/mo19.7%very comfortable
Austin, MN$1,161/mo20%very comfortable
Saint Cloud, MN$1,241/mo21.3%affordable
Mankato, MN$1,257/mo21.6%affordable
New Hope, MN$1,359/mo23.4%affordable
Crystal, MN$1,385/mo23.8%affordable
Fridley, MN$1,389/mo23.9%affordable
Little Canada, MN$1,390/mo23.9%affordable
Richfield, MN$1,393/mo24%affordable
Brooklyn Center, MN$1,395/mo24%affordable
New Brighton, MN$1,394/mo24%affordable
Anoka, MN$1,422/mo24.5%affordable
North Saint Paul, MN$1,422/mo24.5%affordable
West Saint Paul, MN$1,428/mo24.6%affordable
Duluth, MN$1,434/mo24.7%affordable
Maplewood, MN$1,488/mo25.6%affordable
Burnsville, MN$1,493/mo25.7%affordable
South Saint Paul, MN$1,504/mo25.9%affordable
Saint Paul, MN$1,524/mo26.2%affordable
Roseville, MN$1,553/mo26.7%affordable
Brooklyn Park, MN$1,558/mo26.8%affordable
Forest Lake, MN$1,573/mo27%affordable
Rochester, MN$1,602/mo27.5%affordable
Columbia Heights, MN$1,616/mo27.8%affordable
Hopkins, MN$1,617/mo27.8%affordable
Buffalo, MN$1,663/mo28.6%affordable
Monticello, MN$1,668/mo28.7%affordable
Coon Rapids, MN$1,672/mo28.8%affordable
Robbinsdale, MN$1,673/mo28.8%affordable
Bloomington, MN$1,681/mo28.9%affordable
Eagan, MN$1,679/mo28.9%affordable
Northfield, MN$1,739/mo29.9%affordable
Minneapolis, MN$1,747/mo30%stretched
White Bear Lake, MN$1,745/mo30%stretched
Shakopee, MN$1,763/mo30.3%stretched
Inver Grove Heights, MN$1,795/mo30.9%stretched
Minnetonka, MN$1,822/mo31.3%stretched
Cottage Grove, MN$1,827/mo31.4%stretched
Chaska, MN$1,828/mo31.4%stretched
Eden Prairie, MN$1,837/mo31.6%stretched
Spring Park, MN$1,838/mo31.6%stretched
Saint Louis Park, MN$1,851/mo31.8%stretched
Oakdale, MN$1,858/mo32%stretched
Champlin, MN$1,865/mo32.1%stretched
Elk River, MN$1,903/mo32.7%stretched
Plymouth, MN$1,907/mo32.8%stretched
Shoreview, MN$1,910/mo32.8%stretched
Saint Michael, MN$1,915/mo32.9%stretched
Savage, MN$1,929/mo33.2%stretched
Golden Valley, MN$1,940/mo33.4%stretched
Apple Valley, MN$1,985/mo34.1%stretched
Ramsey, MN$1,983/mo34.1%stretched
Edina, MN$2,015/mo34.6%stretched
Rosemount, MN$2,035/mo35%stretched
Blaine, MN$2,064/mo35.5%stretched
Prior Lake, MN$2,065/mo35.5%stretched
Vadnais Heights, MN$2,069/mo35.6%stretched
Lakeville, MN$2,101/mo36.1%stretched
Rogers, MN$2,143/mo36.9%stretched
Woodbury, MN$2,196/mo37.8%stretched
Maple Grove, MN$2,198/mo37.8%stretched
Victoria, MN$2,346/mo40.3%rent-burdened
Saint Anthony, MN$2,363/mo40.6%rent-burdened
Wayzata, MN$2,791/mo48%rent-burdened
Methodology: Salary is the BLS-derived state estimate for Minnesota. Rent is the latest ZORI monthly value for each city. Affordability uses the 30% rule (rent ≤ 30% of gross income).