Event Venue Capacity Planner
ANA›Life Services Authority›National Calculator Authority›Event Venue Capacity Planner
.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; } }
Event Venue Capacity Planner
Calculate the maximum safe guest capacity for your event venue based on total floor area, chosen layout style, and applicable safety codes. Adjust for staff, staging, and dance floors to get a realistic headcount.
Total Usable Floor Area (m²)
Seating / Layout Style
Theatre / Auditorium (0.9 m² per person) Banquet / Seated Dinner (1.2 m² per person) Classroom / Conference (1.5 m² per person) Standing / Cocktail Reception (0.5 m² per person) Cabaret / Round Tables (2.0 m² per person) Exhibition / Trade Show (3.0 m² per person)
Stage / Presentation Area (m²) 0 if none
Dance Floor / Activity Area (m²) 0 if none
Number of Staff / Crew on Floor
Number of Emergency Exits
Average Exit Width (metres)
Calculate Capacity
function eveCalc() { var errEl = document.getElementById('eve-error'); var resEl = document.getElementById('eve-result'); errEl.style.display = 'none'; resEl.style.display = 'none';
// --- Read inputs --- var totalArea = parseFloat(document.getElementById('eve-area').value); var spacePerP = parseFloat(document.getElementById('eve-layout').value); var stageArea = parseFloat(document.getElementById('eve-stage').value) || 0; var danceArea = parseFloat(document.getElementById('eve-dance').value) || 0; var staff = parseInt(document.getElementById('eve-staff').value) || 0; var exits = parseInt(document.getElementById('eve-exits').value) || 0; var exitWidth = parseFloat(document.getElementById('eve-exit-width').value);
// --- Validation --- var errors = []; if (isNaN(totalArea) || totalArea = totalArea) { errors.push("Stage + dance floor area must be less than total floor area."); }
if (errors.length > 0) { errEl.innerHTML = errors.join(''); errEl.style.display = 'block'; return; }
// --------------------------------------------------------------- // FORMULA // // 1. Net guest area = Total area − Stage area − Dance floor area // 2. Area-based capacity = floor( Net guest area / Space per person ) // 3. Subtract staff to get guest-only area capacity // 4. Exit-flow capacity (NFPA 101 / BS 9999): // Each 550 mm (0.55 m) of clear exit width accommodates 60 persons/min // For a 2.5-minute evacuation target: // Exit capacity = floor( (exits × exitWidth / 0.55) × 60 × 2.5 ) // 5. Final recommended capacity = min(area capacity, exit capacity) // ---------------------------------------------------------------
var netGuestArea = totalArea - nonGuestArea; var areaCapacity = Math.floor(netGuestArea / spacePerP); var guestCapacity = Math.max(0, areaCapacity - staff);
// Exit flow: units of 550 mm per exit, 60 persons per unit per minute, 2.5 min evacuation var exitUnits = (exits * exitWidth) / 0.55; var exitCapacity = Math.floor(exitUnits * 60 * 2.5);
var finalCapacity = Math.min(guestCapacity, exitCapacity); var limitingFactor = (guestCapacity 0) ? (netGuestArea / (finalCapacity + staff)).toFixed(2) : "N/A";
// Comfort tiers var comfortable = Math.floor(finalCapacity * 0.85); var optimal = Math.floor(finalCapacity * 0.70);
// --- Output --- resEl.innerHTML = '### Capacity Results ' + '' + 'Net Guest Floor Area' + '' + netGuestArea.toFixed(1) + ' m²' + 'Area-Based Capacity (incl. staff)' + '' + areaCapacity + ' persons' + 'Exit-Flow Capacity (NFPA 101)' + '' + exitCapacity + ' persons' + '✅ Maximum Guest Capacity' + '' + finalCapacity + ' guests' + 'Limiting Factor' + '' + limitingFactor + '' + 'Effective Density' + '' + density + ' m² per person' + 'Comfortable Capacity (85%)' + '' + comfortable + ' guests' + 'Optimal Comfort (70%)' + '' + optimal + ' guests' + '';
resEl.style.display = 'block'; }
#### Formulas Used
Step 1 — Net Guest Area:
Net Guest Area (m²) = Total Floor Area − Stage Area − Dance Floor Area
Step 2 — Area-Based Capacity:
Area Capacity = ⌊ Net Guest Area ÷ Space per Person ⌋
Space per person varies by layout (e.g. 1.2 m²/person for banquet seating).
Step 3 — Guest-Only Capacity:
Guest Capacity = Area Capacity − Staff Count
Step 4 — Exit-Flow Capacity (NFPA 101 / BS 9999):
Exit Units = (Number of Exits × Exit Width) ÷ 0.55 m
Exit Capacity = ⌊ Exit Units × 60 persons/min × 2.5 min ⌋
Each 550 mm of clear exit width handles 60 persons per minute; 2.5 minutes is the standard evacuation target.
Step 5 — Final Recommended Capacity:
Final Capacity = min(Guest Capacity, Exit Capacity)
#### Assumptions & References
- Space-per-person standards follow International Building Code (IBC) Table 1004.5 and BS 9999:2017 occupancy load factors.
- Theatre / Auditorium: 0.9 m²/person (IBC fixed seating equivalent).
- Banquet / Seated Dinner: 1.2 m²/person (IBC unconcentrated tables & chairs).
- Classroom / Conference: 1.5 m²/person (IBC business/educational use).
- Standing / Cocktail: 0.5 m²/person (IBC concentrated standing space).
- Cabaret / Round Tables: 2.0 m²/person (industry standard for 60″ rounds with service aisles).
- Exhibition / Trade Show: 3.0 m²/person (UFI / IAEE exhibition density guideline).
- Exit flow rate: 60 persons per 550 mm exit unit per minute per NFPA 101 Life Safety Code §7.3.3.
- Evacuation time target: 2.5 minutes per BS 9999:2017 Annex D and NFPA 101 guidance for assembly occupancies.
- Minimum exit width of 0.55 m (550 mm) per IBC §1005.1 and NFPA 101 §7.2.1.2.
More Calculators
- Health Care Cost Estimator
- BMI & Health Metrics Calculator
- Assisted Living Cost Estimator
- Zodiac Sign Calculator
- Moon Phase Calculator
- Numerology Life Path Number Calculator