GenerateRandomSearch

Table Plan Generator

The difficulty with a table plan is not the people, it is the groups. A family of five cannot be split across two tables to make the numbers work, and once you refuse to split anybody, tables start needing more capacity than a simple head count suggests. This assigns whole groups to tables, never splitting one, and shows how many tables that costs against the theoretical minimum.

What this generator does

Places each group of guests on a table with room for all of them, seating the largest groups first, and reports the occupancy of every table alongside the smallest number of tables the total guest count could possibly need.

How to use this tool

  1. Set how many groups there are and how many seats each table has.
  2. Read which groups share a table and how many seats each uses.
  3. Compare the tables used against the fewest possible.
  4. Increase the table size and watch the gap close.

Understanding the controls

How many groups
Between 2 and 12 families, couples or singles. Each is kept whole — that constraint is what makes this harder than dividing a head count.
Seats per table
Between 2 and 12. No group is ever generated larger than a table, since it could not be seated at all.
Seed
Any word reproduces the same groups and the same plan while the generator is unchanged.

Worked examples

Where the gap comes from
Four groups of 5 (20 guests) at tables seating 8: each table fits only one group of 5, leaving 3 seats nobody can use, so this needs 4 tables even though 20 ÷ 8 rounds up to a theoretical minimum of 3.

Common use cases

  • Planning wedding or event tables with families kept together
  • Working out how many tables to hire for a guest list
  • Showing why the head count alone understates the tables needed
  • Teaching bin packing with a problem people immediately recognise
  • Setting the same plan twice from a seed

How this generator works

Largest groups are placed first, into the first table with room. That ordering matters: fitting the big groups last tends to leave a scatter of gaps too small to use, and needs an extra table. Where another seating of whole groups would save a table, the plan is that one: with twelve groups at most, every seating can be tried. The floor shown is simply the guest count divided by the table size — no plan can beat it, and the gap above it is precisely the price of never splitting anybody up.

Randomness and fairness

The group sizes are random; the assignment is then deterministic. A seed reproduces the same plan exactly and is therefore explicitly not cryptographically secure. Without a seed the browser's cryptographically secure generator is used.

For how randomness is produced across the whole site, see how Generate Random works.

Limitations and good to know

  • Groups are kept together, but no preference about which groups sit near which is modelled.
  • Largest-first is where the plan starts, not where it stops: every other way of seating the groups whole is tried, and the plan uses the fewest tables any of them needs. It does not choose between plans that use the same number.
  • Every table is the same size, which real venues often do not manage.
  • Group sizes are generated rather than entered from a real guest list.
  • A plan is gone once you leave, so copy it before closing the page.

Privacy and your data

The groups and the plan are computed on your own device. Neither the arrangement nor your seed leaves the browser.