What is a city variance and when do you need one?
A variance is a legal exception to a city zoning or building code rule, granted by the city's planning/zoning board. For solar, you might need one if your project conflicts with: setback rules, height limits, lot-coverage limits, historic-district aesthetics, or accessory-structure rules.
Common solar situations requiring a variance
Ground-mount arrays
- Setback violations: ground-mount in your back yard exceeds the side or rear setback (usually 5-15 ft from property line).
- Lot-coverage exceedance: array footprint pushes you over impervious-coverage or building-coverage maxima.
- Front-yard installation: most cities prohibit accessory structures in front yards; ground-mount in the front almost always needs a variance.
- Height of array: some cities limit accessory structure height to 6-8 ft. A typical pole-mount or pole-tracker exceeds this.
Historic district / architectural review
- Visible-from-street restrictions: some historic districts mandate panels not be visible from the street.
- Roof modifications: mounting solar on a designated historic roof may require approval from the historic preservation commission.
- Archaeological districts: ground-mount excavation can require archaeological review.
Roof-mount setback
- NEC 690.12 setbacks: firefighter access requires 36" setbacks from ridge and eaves on most pitched roofs — not usually a variance issue, but local AHJs sometimes have stricter rules.
- Fire setbacks (CA): California has expanded fire-code setbacks; variances available for steep roofs where setbacks would eliminate too much production.
Battery placement
- Property-line setback: outdoor battery placement may violate 3-5 ft setback rules.
- Garage/attached-structure restrictions: NFPA 855 limits battery kWh in attached garages; variance required to exceed.
How the variance process works
- Pre-application meeting (often optional but recommended). You meet with the city planner to discuss your project and identify the variance issue.
- Variance application. Forms vary by city; expect 5-15 pages. Include site plan, panel layout, photos, and the specific code citation you're seeking variance from.
- Application fee. Typically $200-1,500. Some cities have reduced solar variance fees.
- Public notice. The city posts notice and mails letters to neighbors within X feet (usually 200-500 ft) of your property. They get to comment or object.
- Hearing. Planning board or zoning board of appeals (ZBA) hearing, typically 30-60 days after application. You (or your installer) present the case. Neighbors can object.
- Decision. Board votes; written decision usually issued within 7-30 days.
- Appeal. If denied, you can appeal to a higher city body or state court within 30 days.
Variance approval criteria (typical)
Most cities require you to demonstrate ALL of the following:
- Hardship: strict application of the code creates an unnecessary hardship (e.g., no other viable solar location on your lot).
- Not self-created: the hardship isn't caused by your own actions (e.g., you didn't subdivide the lot to create the setback issue).
- Minimum variance: the variance you're requesting is the minimum needed (don't ask for more setback relief than necessary).
- No public harm: approving the variance won't harm public health/safety/welfare or substantially impair the value of nearby properties.
- Spirit of the ordinance: the variance is consistent with the general intent of the zoning code.
How to win a solar variance hearing
- Talk to your neighbors first. The biggest variance killer is neighbor objection. Get them on board before the hearing.
- Bring production data. Show why the variance location is the only viable spot (e.g., south-facing roof or back yard is the only unshaded area). Use a tool like PVWatts to demonstrate.
- Show alternatives don't work. Explain why ground-mount in a code-compliant location wouldn't work (shading, distance from inverter, etc.).
- Cite state solar access law. Many states' solar access laws inform the variance analysis — the city is supposed to weigh state policy favoring solar.
- Get installer support. A licensed installer can often present alongside you and answer technical questions. Some cities allow installer to apply on your behalf.
- Be flexible on conditions. Boards often grant the variance with conditions (e.g., dark frames, hidden conduit, specific setback). Accepting reasonable conditions usually wins approval.
Variance vs. zoning amendment
- Variance: exception for YOUR specific property. Doesn't change the underlying code.
- Zoning amendment: changes the underlying code for the whole zone or city. Much harder, takes 6-18 months. Usually only worth pursuing if the issue affects many homeowners.
- Special exception/conditional use permit: a pre-defined exception in the code (e.g., "ground-mount solar allowed in residential zones with conditional use permit"). Easier than a variance because the code already contemplates it.
Cities that have streamlined solar permitting
- SolarAPP+ (NREL): automated permit issuance for code-compliant residential systems. 100+ AHJs as of 2026. If your AHJ uses SolarAPP+, no variance needed for compliant projects.
- California: SB 379 mandates SolarAPP+ adoption for cities >5,000 people by Sept 2024 — most CA AHJs now do same-day permits.
- Texas: over 30 AHJs use SolarAPP+ as of 2026.
- Colorado: Denver, Boulder, Colorado Springs use SolarAPP+ or similar express permitting.
Frequently asked questions
How much does a variance cost?
Application fee $200-1,500. Add legal/architect costs $0-3,000 if you hire help. Most homeowners successfully self-represent for residential solar variances. Expect 60-120 days end-to-end.
Can my neighbor block my variance by objecting?
One objector rarely kills a variance, but coordinated objections from multiple neighbors can. Best practice: meet with neighbors before filing, address concerns, and ideally get supporting letters.
What if my variance is denied?
You can appeal within 30 days (varies by jurisdiction). Many appeals succeed because the lower board applied wrong criteria. Or you can revise the project to be code-compliant (smaller array, different location).
Do I need a variance if my installer says the project is "code-compliant"?
Then no variance is needed. The issue arises only when the project conflicts with a specific code requirement.