Also in: Disaster Response and Recovery

Carbon Monoxide Alarm Requirement and Count (IRC R311)

Where carbon monoxide alarms are required -- and where, unlike smoke alarms, they are not.

Run the calculator

Example

You enter

You get

Checked against published worked examples from: International Code Council.

Details, formula, and sources

ScopeCO alarms are required only where there is a SOURCE -- R311.2 [R315.2 in IRC 2021] triggers on a fuel-fired appliance installed in the dwelling OR an attached garage -- so an all-electric house with a detached garage legitimately has none, and the attached-garage trigger is the one people miss. And even when required, the alarm goes OUTSIDE each separate sleeping area, NOT in each bedroom; applying the smoke-alarm count to CO is how people buy several too many. The single case that puts one inside a bedroom is R311.3 [R315.3 in IRC 2021]'s exception, a fuel-burning appliance in that bedroom or its attached bathroom. A per-story rule is NOT in the model IRC -- many states amend one in, so it is an explicit toggle rather than a hidden default.

Formula or tablerequired when a fuel-fired appliance is installed in the dwelling OR the dwelling has an attached garage; alarms = one outside each separate sleeping area, plus one inside each bedroom containing a fuel-burning appliance in the bedroom or its attached bathroom, plus (only where a local amendment adds it) one per story beyond the first.

Source and editionIRC R311.2 [R315.2 in IRC 2021] (where required, for new construction: outside each separate sleeping area in the immediate vicinity of the bedrooms, in dwelling units within which fuel-fired appliances are installed and in dwelling units that have attached garages) and IRC R311.3 [R315.3 in IRC 2021] (location, with the exception placing an alarm within a bedroom where a fuel-burning appliance is located in that bedroom or its attached bathroom).

Free accessBoth provisions are short prescriptive sentences reproduced in state adoptions and building-department bulletins. No table is reproduced.

What governsEstimate. AHJ and licensed professional govern.

API field namessleeping_areas, has_fuel_appliance, has_attached_garage, stories, per_story_amendment, area_alarms, bedroom_alarms, story_alarms, required_alarms

Related tools