16″ is standard for wood; 12″ is often required for composite decking.
Average DIY pressure-treated deck is $20-$35/sq ft.
Total Deck Area:–
Number of Joists Needed:–
Ledger & Rim Board Length:–
Est. Decking Boards (16′ Standard):–
Total Concrete Footings (Est.):–
Estimated Total Material Cost:–
How to Calculate Deck Framing Materials
Planning a deck build requires accurate material estimation to minimize waste and ensure structural integrity. The framing of a deck consists primarily of the ledger board (attached to the house), joists (the support structure), beams, and posts. This calculator helps estimated the lumber required based on standard building practices.
Understanding Joist Spacing
Joist spacing is the distance between the center of one joist to the center of the next. This is a critical factor in determining how much lumber you need and how strong your deck floor will be.
16 inches On-Center (O.C.): This is the industry standard for pressure-treated wood decking. It provides a balance between cost and stiffness.
12 inches On-Center (O.C.): Often required for composite decking materials (like Trex) or diagonal decking patterns. Composite boards are more flexible than wood and need tighter support to prevent sagging.
24 inches On-Center (O.C.): Rarely used for residential decks unless using thick 2×6 decking planks, as standard 5/4″ boards will bounce significantly.
The Math Behind the Calculation
To calculate the frame manually, builders use the following logic:
Area: Multiply Width × Projection.
Joist Count: Convert the Width to inches, divide by the spacing (e.g., 16), and add 1 for the end joist. Formula: (Width_in_inches / Spacing) + 1.
Ledger & Rim: You need a ledger board against the house and a rim joist (header) at the front. Both equal the width of the deck. Side rim joists are equal to the projection length.
Decking Surface: Standard decking boards are nominally 6 inches wide but actually 5.5 inches. With a typical 1/8″ gap, the coverage is roughly 0.47 feet per board.
Important Framing Components
Beyond the simple joist count, remember that a safe deck requires:
Blocking/Bridging: Short pieces of lumber installed between joists to prevent twisting.
Hardware: Joist hangers, galvanized nails, structural screws, and carriage bolts for the ledger.
Footings: Concrete piers that support the posts and beams. The number of footings depends on the beam span and local frost line codes.
Note: This calculator provides an estimation for planning purposes. Always consult local building codes and a structural engineer for specific load requirements in your area.
function calculateDeckFrame() {
// Get inputs
var width = parseFloat(document.getElementById('deckWidth').value);
var projection = parseFloat(document.getElementById('deckProjection').value);
var spacing = parseFloat(document.getElementById('joistSpacing').value);
var costPerSqFt = parseFloat(document.getElementById('estCostPerSqFt').value);
// Validation
if (isNaN(width) || width <= 0) {
alert("Please enter a valid Deck Width.");
return;
}
if (isNaN(projection) || projection <= 0) {
alert("Please enter a valid Deck Projection.");
return;
}
if (isNaN(costPerSqFt) || costPerSqFt < 0) {
costPerSqFt = 0;
}
// Calculations
// 1. Area
var area = width * projection;
// 2. Joist Count
// Convert width to inches, divide by spacing, add 1 for end, round up
var widthInInches = width * 12;
var rawJoists = (widthInInches / spacing);
var joistCount = Math.ceil(rawJoists) + 1; // +1 for the closing joist
// 3. Rim and Ledger Lengths
// Ledger (against house) + Front Rim Joist = 2 * width
// Side Rims (if not using the outer joists as rims, but usually outer joists act as rims.
// However, we calculate linear feet of material for the perimeter)
// Let's assume standard box frame: 1 Ledger + 1 Front Header + 2 Side Rims (often doubled)
// For estimation: Ledger + Front Rim = 2 * width.
var rimLinearFeet = (width * 2);
// 4. Decking Boards Calculation
// Standard 5.5" board width + 0.125" gap = 5.625" coverage per board width
// 5.625" = 0.46875 feet
// Number of rows needed = Projection / 0.46875
var coveragePerBoardFt = 5.625 / 12;
var rowsOfDecking = projection / coveragePerBoardFt;
var totalLinearFtDecking = rowsOfDecking * width;
// Convert total linear feet to number of 16' boards (common purchase size) + 10% waste
var wasteFactor = 1.10;
var boards16ft = Math.ceil((totalLinearFtDecking * wasteFactor) / 16);
// 5. Footings Estimate (Heuristic)
// Rule of thumb: Beam span often 8-10ft.
// Simplified: 1 footing every 8 feet of width, usually 1 beam at mid-span or end depending on projection.
// If projection 14ft, might need 2.
// This is a rough estimate for estimation only.
var beamRows = projection > 14 ? 2 : 1;
var postsPerRow = Math.ceil(width / 8) + 1;
var totalFootings = beamRows * postsPerRow;
// 6. Cost Calculation
var totalCost = area * costPerSqFt;
// Update DOM
document.getElementById('resArea').innerHTML = area.toFixed(1) + " sq. ft.";
document.getElementById('resJoistCount').innerHTML = joistCount + " joists (Length: " + projection + "')";
document.getElementById('resRimLen').innerHTML = rimLinearFeet.toFixed(1) + " linear ft";
document.getElementById('resDeckingCount').innerHTML = boards16ft + " boards (16′ length)";
document.getElementById('resFootings').innerHTML = "~" + totalFootings;
document.getElementById('resTotalCost').innerHTML = "$" + totalCost.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
// Show results
document.getElementById('results').style.display = "block";
}