DECKFORGE
Capability matrix

What DeckForge checks — and what it doesn’t.

Every check below is read straight out of the rule engine when this page is built. Nothing here is written by hand, so nothing here can outlive the check it describes. Each one lists the code section it cites and, beside it, the edge it does not reach.

27code checks
8buildability advisories
26metros with their own data
50state baselines

Advisories are counted separately on purpose. They are notes about cost and crew time, and folding them into the code total would inflate how much code checking actually happens.

Structure

9 checks
Joist spanCode check

Whether the joists can span from the house to the beam at the size, spacing and species chosen.

Does not cover: Tabulated at 40 psf live + 10 psf dead, No. 2 grade. It does not size joists for snow, a hot tub, a roof, or any other concentrated load — those escalate the project out of prescriptive scope instead.

CitesIRC 2021 R507.6 / AWC DCA6 Table 1
BasisPublished span/size table
Needs from youdeck depth · joist size · joist spacing · species
Joist cantileverCode check

Whether the joist overhang past the beam is within the fraction of back-span the tables allow.

Does not cover: Checks the overhang length only. It does not check uplift at the inboard end, or a cantilever carrying a guard post, a stair, or a concentrated load.

CitesIRC 2021 R507.6 / AWC DCA6
BasisPublished span/size table
Needs from youdeck depth · beam setback · joist size
Beam spanCode check

Whether the beam can carry its tributary load between posts at the size and ply count chosen.

Does not cover: Prescriptive tables only. Beams outside the tabulated sizes, spans or species get no verdict, and no engineered beam (LVL, steel, flitch) is modelled.

CitesIRC 2021 R507.5 / AWC DCA6 Table 2
BasisPublished span/size table
Needs from youdeck width · post count · beam size · beam plies · species
Post heightCode check

Whether the posts are within the maximum unbraced height for their size.

Does not cover: Height against a table, nothing more. It does not design bracing, check the post-to-beam connection capacity, or account for wind or seismic load on tall posts.

CitesIRC 2021 Table R507.4
BasisPublished span/size table
Needs from youheight above grade · post size · footing depth
Footing sizeCode check

Whether the footing's bearing area is enough for the load it carries on the local presumptive soil.

Does not cover: Uses one presumptive soil bearing value for the jurisdiction. It is not a soils investigation: expansive soil, fill, a slope, or a high water table can all make a compliant footing wrong.

CitesIRC 2021 R507.3.1
BasisCalculated from the design
Needs from youdeck size · post count · footing size · location
Footing thicknessCode check

Whether the concrete footing is at least the 6-inch minimum thickness.

Does not cover: Thickness against the code minimum only. A footing carrying a heavy load on a large pad may need to be thicker than 6 inches to spread that load without cracking; that is a design check, not a minimum, and is not made here.

CitesIRC 2021 R403.1.1
BasisCalculated from the design
Needs from youfooting thickness
Frost depthCode check

Whether the footing bears below the frost line recorded for the jurisdiction.

Does not cover: Compares against the frost depth in our jurisdiction data, which is a state or metro figure. Confirm the required depth with the building department — it is one of the most commonly amended local numbers.

CitesIRC 2021 R403.1.4 / R507.3
BasisLocal jurisdiction data
Needs from youfooting depth · location
Shape within prescriptive scopeCode check

Whether the outline is a shape the prescriptive framing model can actually frame and check.

Does not cover: This is the check that refuses rather than answers. Angled and curved edges are detected and stopped here; no framing is generated for them and no other check should be read as covering them.

CitesIRC 2021 R507.1 (scope) / AWC DCA6 §1
BasisMeasured from the drawing
Needs from youdeck outline
Decking spanCode check

Whether the joists are close enough together for the decking laid across them.

Does not cover: Assumes boards laid perpendicular to the joists; a diagonal lay needs closer joists and is not modelled. The composite limit is the typical manufacturer figure, not a code table — the product's own install guide governs and must be checked.

CitesIRC 2021 R507.7
BasisPublished span/size table
Needs from youdecking type · joist spacing

Ledger & attachment

3 checks
Ledger fastenersCode check

Whether the ledger fastener type and spacing match the schedule for this deck's span.

Does not cover: Assumes a sound 2-inch nominal band joist on a wood-framed wall. It cannot check what the ledger is actually attached to — brick veneer, stucco, a cantilevered floor, or a rim that has rotted are all beyond it, and all require field verification.

CitesIRC 2021 R507.9.1.1IRC 2021 Table R507.9.1.3(1)
BasisPublished span/size table
Needs from youattachment method · fastener type · fastener spacing · deck depth
Ledger flashingCode check

Whether flashing has been recorded at the ledger.

Does not cover: It checks that you recorded flashing, not that it is correct. Lapping with the weather-resistive barrier, end dams and material compatibility are all field items no drawing can settle.

CitesIRC 2021 R507.2.4
BasisOnly what you record
Needs from youattachment method · flashing recorded
Lateral load connectionCode check

Whether a lateral load path has been recorded for a ledger-attached deck.

Does not cover: Presence, not capacity. Whether the hold-downs actually reach sound floor framing inside the house is a field verification, and the alternate bracing methods the code allows are not modelled.

CitesIRC 2021 R507.9.2
BasisOnly what you record
Needs from youattachment method · lateral connection recorded

Guards

3 checks
Guard requiredCode check

Whether each open edge more than 30 inches above grade carries a guard, judged edge by edge from the corner heights.

Does not cover: Each edge is judged by the taller of its two recorded corners. On sloping ground the governing point may be a corner you have not measured, and a low spot between corners is not seen.

CitesIRC 2021 R312.1.1
BasisMeasured from the drawing
Needs from youheight above grade · guard present · guarded edges
Guard heightCode check

Whether the guard reaches the 36-inch minimum where one is required.

Does not cover: Height only. The guard post attachment that resists the load is not checked — that connection is a common failure point and is outside what DeckForge decides.

CitesIRC 2021 R312.1.2
BasisMeasured from the drawing
Needs from youguard height
Guard openingsCode check

Whether the guard infill rejects a 4-inch sphere: baluster spacing under 4 inches, and some infill at all where a guard is required.

Does not cover: Checks even baluster spacing and the absence of infill only. Cable infill gets a warning to verify on site, because deflection under load cannot be measured from a drawing; glass, the triangular opening at a stair, and the gap under the bottom rail are not evaluated.

CitesIRC 2021 R312.1.3
BasisMeasured from the drawing
Needs from youguard infill type · baluster gap

Stairs

9 checks
Riser heightCode check

Whether the rise actually built — the drop divided by the riser count — is within 7¾ inches.

Does not cover: Derived from the deck height, so it is only as good as that measurement. The code's ⅜-inch tolerance between the tallest and shortest riser is a built-work check no drawing can make.

CitesIRC 2021 R311.7.5.1
BasisCalculated from the design
Needs from youheight above grade · riser count
Tread depthCode check

Whether treads are at least 10 inches nosing to nosing.

Does not cover: Rectangular treads on a straight flight. Winders and their varying depth are not modelled.

CitesIRC 2021 R311.7.5.2
BasisMeasured from the drawing
Needs from youtread depth
Stair widthCode check

Whether the stairway is at least 36 inches wide.

Does not cover: Compares the recorded width. It does not subtract the projection of a handrail, which the code allows only up to 4½ inches.

CitesIRC 2021 R311.7.1
BasisMeasured from the drawing
Needs from youstair width
HandrailCode check

Whether a stair of four or more risers has a handrail, at a height between 34 and 38 inches.

Does not cover: Presence and height. Graspability, continuity over the full flight, and the returns at each end are field items.

CitesIRC 2021 R311.7.8
BasisMeasured from the drawing
Needs from youriser count · handrail present · handrail height
Stair guardCode check

Whether a flight rising more than 30 inches has a guard of at least 34 inches on its open sides.

Does not cover: Height only, and only where the total rise is recorded. Guard post attachment is not checked.

CitesIRC 2021 R312.1.2
BasisMeasured from the drawing
Needs from youheight above grade · stair guard present · stair guard height
Stair guard openingsCode check

Whether stair guard infill rejects the 4⅜-inch sphere allowed on stairs.

Does not cover: Raised as a warning, not a failure, because it reads the deck's baluster spacing — the stair guard may be built to a different spacing that nothing here records. The triangular opening formed by tread, riser and bottom rail is not checked.

CitesIRC 2021 R312.1.3
BasisMeasured from the drawing
Needs from youguard infill type · baluster gap
Open risersCode check

Whether the opening under each tread rejects a 4-inch sphere, where risers are open.

Does not cover: Only runs on a stair recorded as having open risers. A stair built with open risers that nobody recorded is not caught — DeckForge cannot infer this from anything else in the design.

CitesIRC 2021 R311.7.5.3
BasisOnly what you record
Needs from youopen risers recorded · riser count
Flight riseCode check

Whether a single flight climbs more than the 151 inches allowed between landings.

Does not cover: It can tell you a flight is too tall. It cannot lay out the intermediate landing that would fix it — that needs a designer.

CitesIRC 2021 R311.7.3
BasisCalculated from the design
Needs from youheight above grade
Landing at the bottomCode check

Whether a landing at least 36 inches deep and as wide as the stair is recorded at the bottom of the flight.

Does not cover: An unrecorded landing is a warning rather than a failure on purpose: an existing patio or pad at the bottom often already qualifies, and DeckForge cannot see the ground there. Only a landing you have recorded as undersized is failed.

CitesIRC 2021 R311.7.6
BasisOnly what you record
Needs from youlanding recorded · landing depth · landing width · stair width

House & openings

4 checks
Door not blockedCode check

Whether the deck leaves each recorded exterior door usable rather than framing across it.

Does not cover: Only doors you have recorded on the house wall. An opening not entered is an opening not checked, and the threshold-to-deck step down is not evaluated.

CitesIRC 2021 R311.2
BasisMeasured from the drawing
Needs from youhouse wall openings · deck outline
Stair clear of a doorwayCode check

Whether a stair opening lands immediately in front of a door.

Does not cover: Plan geometry only, for recorded openings. Door swing direction is not modelled.

CitesIRC 2021 R311.3
BasisMeasured from the drawing
Needs from youhouse wall openings · stair placement
Bay window over the ledgerCode check

Whether a bay window or other projection interrupts the wall the ledger needs to attach to.

Does not cover: Flags the conflict; it does not design the fix. Framing around a projection, or converting that bay to freestanding support, is a design decision.

CitesIRC 2021 R507.9.1 (ledger attachment)
BasisMeasured from the drawing
Needs from youhouse wall openings · attachment method
Guard across a doorAdvisory

Whether a required guard would run across a recorded doorway.

Does not cover: A buildability warning, not a code verdict — it points at a conflict between two things that are each individually compliant. Resolving it is a layout decision.

CitesNo code section — this is advice, not a verdict
BasisMeasured from the drawing
Needs from youhouse wall openings · guard present

Buildability

6 checks
Beam splices over postsAdvisory

Whether beam splices land over a post rather than in a span.

Does not cover: A warning about layout, not a capacity check. DeckForge does not evaluate the strength of any splice, and a splice landing over a post is not thereby verified.

CitesNo code section — this is advice, not a verdict
BasisMeasured from the drawing
Needs from youdeck width · post count · beam stock length
Sliver deck boardAdvisory

Whether the last deck board would be ripped to an awkwardly narrow strip.

Does not cover: Appearance and fastening practicality only. It has no bearing on compliance.

CitesNo code section — this is advice, not a verdict
BasisMeasured from the drawing
Needs from youdeck depth · board width
Stringer throatAdvisory

Whether enough uncut material remains behind the stair notches.

Does not cover: Cites the DCA6 guidance figure as a rule of thumb and is reported as a warning. It is not a stringer capacity calculation, and DeckForge does not size stringers.

CitesNo code section — this is advice, not a verdict
BasisCalculated from the design
Needs from youriser count · tread depth · stringer stock size
Lumber wasteAdvisory

Whether the cut plan wastes an unusual proportion of the stock purchased.

Does not cover: Cost signal only. It says nothing about whether the deck is compliant or buildable.

CitesNo code section — this is advice, not a verdict
BasisCalculated from the design
Needs from youfull takeoff
Footing countAdvisory

Whether the design calls for an unusually high number of footings for its size.

Does not cover: A cost and labour signal. Fewer footings is not automatically better, and reducing them changes beam spans that must then be re-checked.

CitesNo code section — this is advice, not a verdict
BasisCalculated from the design
Needs from youdeck size · post count · beam count
Distinct cut lengthsAdvisory

Whether the cut list has proliferated into many one-off lengths.

Does not cover: Crew-time signal only, with no compliance meaning.

CitesNo code section — this is advice, not a verdict
BasisCalculated from the design
Needs from youfull takeoff

Local amendments

1 check
Local amendmentsAdvisory

Surfaces the amendments recorded for this jurisdiction so they are read before submission.

Does not cover: It repeats what is in our jurisdiction data; it does not enforce it. Most places resolve to a state baseline with no municipal amendments recorded, and an amendment we do not hold is one you will not see here.

CitesVaries by jurisdiction
BasisLocal jurisdiction data
Needs from youlocation

Not modelled at all

9 areas

These are genuine absences rather than partial implementations. Where a design strays into one, DeckForge is built to say so instead of returning a verdict.

Snow, wind, seismic, flood and wildfire loadsSpans are tabulated at 40 psf live. A ground snow load above that escalates the project to professional review rather than resizing anything; wind, seismic, flood and wildfire are not modelled at all.
Anything heavy on the deckA hot tub, outdoor kitchen, roof or pergola can be declared, and each one takes the project out of prescriptive scope. DeckForge does not size the framing they need — it declines to answer.
Multi-level and rooftop decksOne level is modelled. Rooftop decks, decks over living space, and commercial occupancy are out of scope entirely.
Curved and angled outer edgesDetected and refused. No framing is generated for them and no check should be read as covering them.
Soil beyond a presumptive valueOne bearing value per jurisdiction. No site investigation, expansive soils, fill, slopes, retaining walls or high water table.
Property boundariesSetbacks, easements, utilities and lot lines are not modelled. Nothing here checks a deck against a property line.
Connection and guard-post capacityHardware appears in the takeoff and guard height is checked, but the capacity of the post-to-frame connection that resists guard load is not evaluated.
Stair headroomIRC R311.7.2 is not checked — there is no overhead geometry to measure against.
EngineeringDeckForge applies prescriptive tables. It does not perform engineering analysis and is not a substitute for a licensed design professional where one is required.

How local is “local”

26 metro areas have their own recorded code edition, frost depth, soil bearing and amendments. Every other place resolves to its state baseline, which means local amendments for it are unknown to us. Every report says which of the two it used — a state baseline is never presented as local verification.

Local dataA row exists for this city, with its adopted edition and any amendments we hold. Amendments change; confirm with the building department before submitting.
State baselineNo municipal row for this place. Frost depth, permit rules and local amendments may all differ from the state-wide figures used.
No location setGeneric IRC 2021 placeholders, including a 12″ frost depth that is wrong for most of the country. Results are labelled as such and should not be relied on.

What we will not tell you

That your permit is approvedDeckForge produces a set built for permit submission. Approval is the authority having jurisdiction’s decision, and nothing here binds it.
That your deck is safeChecks are run against prescriptive tables for what you entered. What gets built, and what the ground and the house are actually like, are field conditions no drawing settles.
What it will costMaterial figures come from one national rule-of-thumb set, shown as a range and labelled an estimate. Labour is not modelled.
Anything a language model made upNo structural result, span, capacity, quantity, citation or compliance verdict in DeckForge is produced by AI. They come from published tables and arithmetic over what you entered, and the same inputs always give the same answer.
Engine 1.3.0Rule set irc2021-dca6.2Jurisdiction data compiled 2026-01-01A design aid — not a substitute for local review

Every saved version records the engine and rule-set versions that judged it, the code edition, the jurisdiction and how specific its data was — so a result can still be read months later.