Rent Affordability for A Firefighter in Minnesota

A typical firefighter in Minnesota earns about $65,322 a year, which supports approximately $1,633 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. 31 of 70 cities tracked stay within the 30% rule; 39 are rent-burdened on this salary.

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