Lap Siding Overlap and Course Spacing Calculator

ANALife Services AuthorityNational Calculator Authority›Lap Siding Overlap and Course Spacing Calculator

.calc-container { max-width: 640px; margin: 2rem 0; padding: 1.5rem; background: #fff; border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.06); font-family: system-ui, -apple-system, sans-serif; } .calc-container h3 { font-family: Georgia, serif; font-size: 1.15rem; color: #1a1a1a; margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; flex-wrap: wrap; } .calc-row label { min-width: 160px; font-size: 0.9rem; color: #333; font-weight: 500; } .calc-row input[type="number"], .calc-row select { flex: 1; min-width: 120px; max-width: 200px; padding: 0.5rem 0.6rem; border: 1px solid #ccc; border-radius: 4px; font-size: 0.9rem; font-family: system-ui, sans-serif; color: #1a1a1a; background: #fafaf8; } .calc-row input:focus, .calc-row select:focus { outline: none; border-color: var(--ac, #3d5a80); box-shadow: 0 0 0 2px rgba(26,74,138,0.12); } .calc-row .unit { font-size: 0.82rem; color: #888; min-width: 30px; } .calc-btn { display: inline-block; margin-top: 0.5rem; padding: 0.55rem 1.5rem; background: var(--ac, #3d5a80); color: #fff; border: none; border-radius: 4px; font-size: 0.9rem; font-weight: 600; cursor: pointer; font-family: system-ui, sans-serif; } .calc-btn:hover { opacity: 0.9; } .calc-result { margin-top: 1.25rem; padding: 1rem 1.25rem; background: #f0f6fc; border-left: 3px solid var(--ac, #3d5a80); border-radius: 0 6px 6px 0; display: none; } .calc-result.visible { display: block; } .calc-result-label { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; color: #666; margin-bottom: 0.25rem; } .calc-result-value { font-size: 1.6rem; font-weight: 700; color: var(--ac, #3d5a80); } .calc-result-detail { font-size: 0.85rem; color: #555; margin-top: 0.5rem; line-height: 1.5; } .calc-note { margin-top: 1rem; font-size: 0.8rem; color: #888; font-style: italic; } .calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-top: 0.75rem; } .calc-grid-item { padding: 0.6rem 0.8rem; background: #f8f9fa; border-radius: 4px; border: 1px solid #eee; } .calc-grid-item .label { font-size: 0.75rem; color: #888; text-transform: uppercase; letter-spacing: 0.04em; } .calc-grid-item .value { font-size: 1.1rem; font-weight: 600; color: #1a1a1a; } @media (max-width: 720px) { .calc-row { flex-direction: column; align-items: flex-start; gap: 0.3rem; } .calc-row label { min-width: auto; } .calc-row input[type="number"], .calc-row select { max-width: 100%; width: 100%; } .calc-grid { grid-template-columns: 1fr; } } .calc-chart { margin: 1rem 0; text-align: center; } .calc-chart svg { max-width: 100%; height: auto; } .calc-chart-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem 1.2rem; margin-top: 0.6rem; font-size: 0.8rem; color: #555; } .calc-chart-legend span { display: inline-flex; align-items: center; gap: 0.3rem; } .calc-chart-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; font-style: normal; } .calc-related { max-width: 640px; margin: 2rem 0 1rem; padding: 1.25rem 1.5rem; background: #f8f9fa; border: 1px solid #e8e8e8; border-radius: 8px; } .calc-related h3 { font-family: Georgia, serif; font-size: 1rem; color: #1a1a1a; margin: 0 0 0.75rem; padding-bottom: 0.4rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-related-list { list-style: none; padding: 0; margin: 0 0 0.75rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem 1.5rem; } .calc-related-list li a { font-size: 0.88rem; color: var(--ac, #3d5a80); text-decoration: none; } .calc-related-list li a:hover { text-decoration: underline; } .calc-browse-all { margin: 0.5rem 0 0; font-size: 0.9rem; font-weight: 600; } .calc-browse-all a { color: var(--ac, #3d5a80); text-decoration: none; } .calc-browse-all a:hover { text-decoration: underline; } @media (max-width: 720px) { .calc-related-list { grid-template-columns: 1fr; } }

Lap Siding Overlap and Course Spacing Calculator

Calculate the number of siding courses, course spacing (exposure), and overlap for horizontal lap siding installations.

Wall Height (inches)

Siding Board Width (inches)

Minimum Overlap (inches)

Typical minimum: 1¼″ (1.25 in)

Starter Course Height (inches)

Extra drop below sheathing bottom (typically 0.75″–1″)

Calculate

function lapCalc() { var resultDiv = document.getElementById('lap-result'); resultDiv.style.display = 'block';

var wallHeight = parseFloat(document.getElementById('lap-wall-height').value); var boardWidth = parseFloat(document.getElementById('lap-board-width').value); var minOverlap = parseFloat(document.getElementById('lap-min-overlap').value); var starterH = parseFloat(document.getElementById('lap-starter-height').value);

// --- Validation --- var errors = []; if (isNaN(wallHeight) || wallHeight = boardWidth) { errors.push('Minimum Overlap must be less than the Board Width.'); } if (!isNaN(wallHeight) && !isNaN(starterH) && starterH >= wallHeight) { errors.push('Starter Course Height must be less than Wall Height.'); }

if (errors.length > 0) { resultDiv.innerHTML = 'Please fix the following:' + errors.map(function(e){ return ''; }).join('') + ''; return; }

// --- Core Formulas --- // Maximum allowable exposure per course var maxExposure = boardWidth - minOverlap;

// Net wall height available for full courses (subtract starter drop) var netHeight = wallHeight - starterH;

// Minimum number of courses (ceiling so exposure never exceeds maxExposure) var numCourses = Math.ceil(netHeight / maxExposure);

// Actual exposure (evenly distributed) var exposure = netHeight / numCourses;

// Actual overlap achieved var actualOverlap = boardWidth - exposure;

// Total linear feet of siding needed per linear foot of wall width // Each course uses one full board width; overlap is shared between courses // Boards per vertical foot of wall = numCourses / (wallHeight/12) var wallHeightFt = wallHeight / 12; var coursesPerFt = numCourses / wallHeightFt;

// Coverage per board (exposure in feet) var exposureFt = exposure / 12;

// --- Format helpers --- function fmt(n, d) { return parseFloat(n.toFixed(d !== undefined ? d : 4)); } function frac(inches) { // Express decimal inches as nearest 1/8" var whole = Math.floor(inches); var dec = inches - whole; var eighths = Math.round(dec * 8); if (eighths === 0) return whole + '″'; if (eighths === 8) return (whole + 1) + '″'; var gcd = function(a,b){ return b ? gcd(b, a%b) : a; }; var g = gcd(eighths, 8); return (whole > 0 ? whole : '') + ' ' + (eighths/g) + '⁄' + (8/g) + '″'; }

resultDiv.innerHTML = '### Results ' + '' + 'ParameterValue' + 'Number of Courses' + numCourses + ' courses' + 'Course Exposure (Spacing)' + fmt(exposure, 4) + '″  (≈ ' + frac(exposure) + ')' + 'Actual Overlap' + fmt(actualOverlap, 4) + '″  (≈ ' + frac(actualOverlap) + ')' + 'Maximum Allowable Exposure' + fmt(maxExposure, 4) + '″' + 'Net Wall Height (excl. starter)' + fmt(netHeight, 4) + '″' + 'Courses per Vertical Foot' + fmt(coursesPerFt, 3) + ' courses/ft' + 'Exposure per Course (ft)' + fmt(exposureFt, 4) + ' ft' + '' + 'Tip: Mark your story pole every ' + fmt(exposure, 4) + '″ starting at ' + fmt(starterH, 4) + '″ below the bottom of the sheathing.

'; }

#### Formulas Used

Maximum Exposure Max Exposure = Board Width − Minimum Overlap

Number of Courses N = ⌈ (Wall Height − Starter Height) ÷ Max Exposure ⌉ (ceiling ensures exposure never exceeds the maximum)

Actual Exposure (Course Spacing) Exposure = (Wall Height − Starter Height) ÷ N

Actual Overlap Overlap = Board Width − Exposure

Courses per Vertical Foot Courses/ft = N ÷ (Wall Height ÷ 12)

#### Assumptions & References

More Calculators

Read Next

Study Time Planner Authority Network America › Life Services Authority › National Calculator Authority .calc-container { max-width: 640px;...

References