Door Swing Clearance Calculator

ANALife Services AuthorityNational Calculator Authority›Door Swing Clearance 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; } }

Door Swing Clearance Calculator

Calculate the floor area swept by a door and the minimum clearance space required based on door width and swing angle.

Door Width (inches)

Door Thickness (inches)

Swing Angle (degrees)

Output Unit

Inches Feet Centimeters Meters

Calculate

function dooCalc() { var widthIn = parseFloat(document.getElementById('doo-width').value); var thickIn = parseFloat(document.getElementById('doo-thickness').value); var angleDeg = parseFloat(document.getElementById('doo-angle').value); var unit = document.getElementById('doo-unit').value; var res = document.getElementById('doo-result');

// --- Validation --- if (isNaN(widthIn) || widthIn Please enter a valid door width (12–96 inches).'; return; } if (widthIn 96) { res.innerHTML = 'Door width must be between 12 and 96 inches.'; return; } if (isNaN(thickIn) || thickIn Please enter a valid door thickness (0.5–6 inches).'; return; } if (thickIn 6) { res.innerHTML = 'Door thickness must be between 0.5 and 6 inches.'; return; } if (isNaN(angleDeg) || angleDeg Please enter a valid swing angle (1–180 degrees).'; return; } if (angleDeg > 180) { res.innerHTML = 'Swing angle cannot exceed 180 degrees.'; return; }

// --- Core Calculations (all in inches) --- // The door sweeps an annular sector: // Outer radius = door width (hinge point to far edge) // Inner radius = door thickness (hinge point to near edge, i.e. the door thickness) // Angle in radians var angleRad = angleDeg * Math.PI / 180; var outerR = widthIn; // outer radius = door width var innerR = thickIn; // inner radius = door thickness

// Swept floor area (annular sector) in sq inches: // A = (θ / 2) × (R_outer² − R_inner²) var sweptAreaSqIn = (angleRad / 2) * (outerR * outerR - innerR * innerR);

// Arc length swept by the outer edge (inches): // arc = R_outer × θ var arcLengthIn = outerR * angleRad;

// Chord length (straight-line distance between start and end positions of outer edge): // chord = 2 × R_outer × sin(θ/2) var chordLengthIn = 2 * outerR * Math.sin(angleRad / 2);

// Minimum clearance depth (sagitta — max perpendicular depth of the swing arc): // For a full 90° or more, the bounding box depth equals the door width. // General case: sagitta = R_outer × (1 − cos(θ/2)) [depth of arc from chord] // But the practical clearance box is: // width = R_outer × sin(θ) if θ ≤ 90°, else R_outer // depth = R_outer × (1 − cos(θ)) if θ ≤ 90°, else R_outer // This calculator uses the bounding rectangle of the swept sector: var boundW, boundD; if (angleDeg 90 the door passes the perpendicular; bounding box width = outerR boundW = outerR; // maximum lateral extent boundD = outerR * (1 - Math.cos(angleRad)); // grows from outerR at 90° to 2*outerR at 180° } // Bounding box area: var boundAreaSqIn = boundW * boundD;

// --- Unit Conversion --- var factor, areaFactor, unitLabel, areaLabel; if (unit === 'in') { factor = 1; areaFactor = 1; unitLabel = 'in'; areaLabel = 'in²'; } else if (unit === 'ft') { factor = 1/12; areaFactor = 1/144; unitLabel = 'ft'; areaLabel = 'ft²'; } else if (unit === 'cm') { factor = 2.54; areaFactor = 6.4516; unitLabel = 'cm'; areaLabel = 'cm²'; } else { factor = 0.0254; areaFactor = 0.00064516; unitLabel = 'm'; areaLabel = 'm²'; }

var sweptArea = sweptAreaSqIn * areaFactor; var arcLength = arcLengthIn * factor; var chordLength = chordLengthIn * factor; var bW = boundW * factor; var bD = boundD * factor; var boundArea = boundAreaSqIn * areaFactor;

function fmt(v, dec) { return v.toFixed(dec !== undefined ? dec : 2); }

res.innerHTML = '### Results ' + '' + 'ParameterValue' + 'Swept Floor Area (annular sector)' + fmt(sweptArea) + ' ' + areaLabel + '' + 'Arc Length (outer edge travel)' + fmt(arcLength) + ' ' + unitLabel + '' + 'Chord Length (start to end of outer edge)' + fmt(chordLength) + ' ' + unitLabel + '' + 'Clearance Bounding Box Width' + fmt(bW) + ' ' + unitLabel + '' + 'Clearance Bounding Box Depth' + fmt(bD) + ' ' + unitLabel + '' + 'Clearance Bounding Box Area' + fmt(boundArea) + ' ' + areaLabel + '' + ''; }

#### Formulas Used

Swept Area (Annular Sector): A = (θ / 2) × (Router² − Rinner²) where Router = door width, Rinner = door thickness, θ = swing angle in radians.

Arc Length (outer edge): L = Router × θ

Chord Length: C = 2 × Router × sin(θ / 2)

Clearance Bounding Box (θ ≤ 90°): Width = Router × sin(θ) Depth = Router × (1 − cos(θ))

Clearance Bounding Box (90° < θ ≤ 180°): Width = Router Depth = Router × (1 − cos(θ))

#### Assumptions & References

More Calculators

Read Next

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

References