Conference room capacity calculator by seating layout
This conference room capacity calculator turns usable floor area and a planned seating layout into a clear occupancy estimate.
Run — free
Enter the room size in square feet, then select theater, classroom, boardroom, or banquet seating. The result applies a consistent planning allowance for each attendee, rounds down to a whole person, and shows the area left after that calculation. It is useful for early event planning, room comparisons, and booking decisions, while remaining distinct from an official fire-code or accessibility limit.
Start with usable room area
Measure the floor area that can actually support the meeting layout, not merely the gross dimensions printed on a property plan. Columns, built-in counters, stages, storage zones, registration tables, presentation equipment, and permanently blocked corners can all reduce the space available to attendees. If a room is rectangular, multiply its usable length by its usable width. For an irregular room, divide the floor into simple rectangles, calculate each area, and add them together. Enter that total as square_feet. The calculator accepts values from 1 through 10,000,000 square feet and keeps decimal measurements when supplied. It then divides the usable area by the allowance associated with the selected layout and rounds down, because a fraction of a seat cannot be assigned. Using usable area makes comparisons between rooms much more meaningful. A generous published room size can otherwise produce an estimate that looks precise but ignores the stage, aisles, service station, or audiovisual footprint your event actually needs. Keep your measurement notes with the estimate so planners know exactly which areas were included.
Choose the layout that matches the event
Select theater when chairs face a stage or presenter and attendees do not need tables; the estimate uses 10 square feet per person. Select classroom when rows include work surfaces, laptops, or note-taking space; it uses 20 square feet per person. Boardroom assumes a central conference table with chairs and circulation around it, so it uses 25 square feet per person. Banquet assumes attendees sit at dining tables and uses 15 square feet per person. These values are consistent planning allowances, which makes the result especially useful for comparing several arrangements in the same room. They are not promises that every chair, table, aisle, podium, buffet, or screen will fit in every room geometry. Choose the layout that describes the physical furniture plan, rather than the event name. A training session without desks may fit the theater selection, while a presentation with writing tables belongs under classroom. If you are comparing alternatives, run the same square footage once for each relevant layout and retain each result alongside its layout label.
Treat the result as a planning estimate
The maximum_recommended_occupancy is the whole-number result of dividing usable square footage by the layout allowance. The response also returns area_per_person_square_feet and unused_square_feet, making the calculation transparent and easy to audit. Use that number as an early planning ceiling, then confirm the final arrangement against local fire, building, accessibility, and venue requirements. Legal occupant loads may depend on exits, door widths, sprinklers, fixed seating, aisle dimensions, accessible routes, and the room's approved use; those factors are outside this calculator. Operational choices can lower capacity too. Camera platforms, translation booths, catering stations, wide comfort aisles, or an unusually large boardroom table all consume area. When an authority or venue publishes a lower limit, the lower limit controls. For a safer workflow, calculate the layout estimate, draft the actual floor plan, reserve required circulation and equipment zones, and obtain venue approval before invitations are finalized. Recalculate whenever the seating style or usable area changes, since even the same room can support substantially different attendance under another arrangement.
What you can do with it
Compare venue layouts
Run one room through several seating styles to see how tables and circulation allowances affect the preliminary attendee count.
Screen rooms for an event
Estimate whether a candidate conference room is large enough before requesting a detailed floor plan from the venue.
Document an early capacity assumption
Record the selected layout, area allowance, and rounded occupancy so stakeholders can review the basis of an attendance target.
FAQ
How much does the calculation cost?
Each API calculation costs $0.002. The browser version can be used directly on the page.
Which seating layouts are supported?
The supported values are theater, classroom, boardroom, and banquet. Any other layout value returns an invalid-input error.
Does this result replace the legal occupant load?
No. It is a space-planning estimate. Confirm the final capacity with the venue and the applicable fire, building, and accessibility requirements.
Should I enter gross or usable square footage?
Use the area available to the seating plan after excluding fixed obstacles, stages, service areas, equipment, and other unavailable space.
Why is occupancy rounded down?
Attendance must be a whole number, and rounding down avoids recommending a person when the selected layout allowance is not fully available.
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/life/conference-room-capacity-check \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"square_feet":1200,"layout":"classroom"}'const res = await fetch("https://api.kit.forhosting.com/life/conference-room-capacity-check", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"square_feet": 1200,
"layout": "classroom"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/conference-room-capacity-check",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"square_feet": 1200,
"layout": "classroom"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/conference-room-capacity-check", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"square_feet":1200,"layout":"classroom"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"square_feet":1200,"layout":"classroom"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/conference-room-capacity-check", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"square_feet": 1200,
"layout": "classroom"
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.conference_room_capacity_check",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |