Skip to main content
DIYorBuyLocal brand glyph, house with calculator gridDIYorBuyLocal

Minnesota permits

Do you need a permit in Minnesota?

Minnesota enforces the Minnesota State Building Code statewide, including a stringent energy code. Permits are issued by the municipality or county. Minnesota requires a Residential Building Contractor license through the Department of Labor and Industry for businesses doing residential work. Electrical and plumbing have separate state licensing.

Free calculator

These are statewide ranges. Get your exact Minnesota cost for your zip code and project size.

Run my numbers →

Can a homeowner pull the permit?

Yes, in most cases. Owner-occupied primary residences may pull homeowner permits. Plumbing generally requires a licensed plumber on covered work.

Where to file: Municipal or county building department. Minneapolis, St. Paul, and suburbs have online portals. Plan review 1-3 weeks. Statewide code consistency reduces jurisdiction surprises.

Permits by trade in Minnesota

TradeWhen requiredCitationTypical feeDIY?
PlumbingIn-wall work, fixtures, water heater, gasMN Plumbing Code$60-$250No
ElectricalNew circuits, panel, service upgrade, EV chargerMN Electrical Code; NEC$60-$250Conditional
Mechanical (HVAC)Furnace/boiler, AC, ductwork, refrigerantMN Mechanical + energy code$75-$250No
Building (structural)Additions, structural mods, decks, finished basementsMN State Building Code$100-$700Yes
RoofingRe-roofs, structural deck repairMN code / local$60-$250Yes
Residential Building ContractorBusiness license for hired residential workMN DLIN/AYes

Hover a Conditional or No entry for the homeowner rule. Always confirm with your local building department, since requirements vary by jurisdiction.

Ready to build

Get the full plan for your project

A Project Blueprint gives you the materials list, tool inventory, Minnesota permit steps, and a step-by-step build sequence, calibrated to your zip. Human-reviewed before delivery.

Browse Project Blueprints →Or grab a free planning checklist →