What this code requires
CRC R325.1 requires every habitable room in a California residence to have natural light and ventilation supplied by windows or other glazed openings. The glazing area must be at least 8% of the room's floor area for light, and the openable portion of those windows must equal at least 4% of the floor area for ventilation. Both numbers must be shown on the plans with room-by-room calculations.
How to fix it
Build a room-by-room light and ventilation table
Create a schedule on your architectural sheets showing every habitable room: bedroom 1, bedroom 2, living room, kitchen, dining, any bonus rooms. For each, list the floor area in square feet, the required glazing area (floor area × 0.08), the total glazing area provided by windows and glass doors, the required openable ventilation area (floor area × 0.04), and the total openable area provided. This table is what plan-checkers look for. Put it on the floor plan sheet or on a dedicated code compliance sheet.
Verify window sizes against each room's floor area
For each habitable room, multiply the floor area by 0.08 to get the minimum glazing requirement. Compare that against the total glass area of all windows and glazed doors in that room. Window schedules typically list rough opening or unit size — use the actual glass area, not the rough opening. A 3068 double-hung has roughly 12–13 sq ft of glass depending on the manufacturer. Check your window schedule for the exact specs. If a room is short, either add a window, increase a window size, or add a glazed door opening to that space.
Confirm the openable area hits 4% — not just the total glass
R325.1 sets two separate thresholds: 8% for total glazing and 4% for openable ventilation. Fixed windows count toward the 8% glazing requirement but contribute zero toward the 4% ventilation requirement. If a bedroom has a large fixed picture window plus a small awning window, only the awning's openable area counts for ventilation. Run both calculations for every room (natural ventilation is not required in rooms other than kitchens where a whole-house mechanical ventilation system is installed, R325.1.2 Exception 1). The fix is usually swapping a fixed lite for an operable unit, or adding a casement where a fixed window currently sits.
Handle garage conversions and ADUs separately
For garage-to-ADU conversions, the original garage door opening doesn't count. You need new windows in the habitable space sized to meet R325.1. Walk the converted floor plan room by room. The garage slab is often 300–600 sq ft — that means you need 24–48 sq ft of glazing and 12–24 sq ft of openable area. Most conversions fall short because the designer added a couple of windows without running the calculation. Show the math on the plans.
Document any borrowed-light arrangements properly
If a room gets light and air from an adjacent space, R325.1.3 lets you treat it as part of that room only where at least half of the common wall is open and unobstructed, with an opening of at least one-tenth of the interior room's floor area and at least 25 square feet. An interior glass partition or transom does not qualify. The combined rooms' glazing must then meet the requirement for their total floor area. Show this in your calculation table: note which rooms share glazing credit, the area of the interior window, and the math demonstrating both rooms still comply. Without this documentation, the plan-checker will reject the arrangement.
Tag each window on the floor plan to the compliance table
Cross-reference the windows in your compliance table back to the floor plan using a window mark or tag. Plan-checkers want to trace the math: they should be able to look at room 1, find window W1A in the table, and verify it on the plan without hunting. Ambiguous plans that say 'see window schedule' without a cross-reference slow the review down and sometimes come back as a correction even when the numbers are technically fine.
Take the CRC R325.1 fix steps with you
All 6 steps in one email, so you have them on site instead of on this page.
Why you got flagged
The most common reason plan-checkers flag R325.1 is that the calculations aren't on the plans at all. A lot of contractors note the window sizes and move on, but the plan-checker is looking for a table or note showing the math: floor area, required glazing (8%), provided glazing, required ventilation opening (4%), provided ventilation opening — for each habitable room separately. No table, no approval.
The second scenario is a room that looks fine at a glance but fails when you run the numbers. A 12x14 bedroom (168 sq ft) needs 13.4 sq ft of glazing. A single 3068 window gives you about 12.3 sq ft — just short. The plan-checker will catch it even if the designer didn't. This happens most often in tight floor plans where windows were sized for aesthetics, not code compliance.
ADU projects get flagged on this one constantly. When a garage conversion becomes an ADU, the existing garage door opening often doesn't count as habitable-room glazing, and the new windows added to the side walls are frequently under-sized. The plans show windows, but without the 8%/4% calcs, the plan-checker has no way to verify compliance — so they flag it.
A less obvious trigger: rooms that borrow light through interior windows or translucent partitions. R325.1 has specific rules about when that counts. If the plans show a windowless bedroom getting light from an adjoining room through a fixed glass panel, the plan-checker will want to see the calculation showing the borrowed area meets the requirement, and will want confirmation the adjoining space has sufficient exterior glazing to cover both rooms.
The official code
2025 California Residential Code — California Building Standards Commission
Read the source →