Round Table Seating Generator
Seating a round table is not shuffling. Two people must sit together, two others must not, and the conditions interact — fixing one often breaks another. There is also a trap peculiar to round tables: the first and last seats are neighbours, so a plan can read perfectly down the list and still put the wrong two people side by side at the join. This solves the conditions properly and checks that join like any other pair.
What this generator does
Searches for a seating order satisfying every condition, treating the table as a genuine circle so the first and last seats count as neighbours. When no arrangement exists it says so, and distinguishes that from having run out of search budget.
How to use this tool
- Set how many guests, and how many pairs must sit together or apart.
- Generate, and read the order round the table.
- Check the last seat against the first — they are neighbours too.
- If no arrangement exists, the conditions genuinely conflict and one has to give.
Understanding the controls
- How many guests
- Between 4 and 14 around a single table. Rotating everybody one seat gives the same arrangement, so one guest is fixed and only genuinely different plans are considered.
- Pairs who must sit together
- Between 0 and 4. A guest has only two neighbours, so anybody required to sit with three or more people is impossible — which is spotted immediately rather than searched for.
- Pairs who must sit apart
- Between 0 and 4. These are checked all the way round, including the pair formed where the table closes.
- Seed
- Any word reproduces exactly the same guests, conditions and arrangement.
Common use cases
- Seating a dinner party where some guests should not be side by side
- Wedding top-table arrangements with couples kept together
- Board or committee seating with working relationships in mind
- Teaching constraint satisfaction with a problem everybody recognises
- Setting the same arrangement twice from a seed
How this generator works
The search places guests one seat at a time and abandons a branch as soon as a condition is broken. Two rules do most of the work: anybody owed a neighbour they have not yet been given can only receive them in the very next seat, so that seat is filled rather than searched; and a required neighbour already seated somewhere non-adjacent can never become adjacent, so that branch is dropped at once. Without those, fourteen guests means six billion arrangements and the search would give up on plans that are perfectly possible.
Randomness and fairness
The guests, the conditions and the order in which arrangements are tried are all random. A seed reproduces the same problem and the same answer 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
- One table. Several tables with conditions spanning them is the harder problem covered by the table plan tool.
- Conditions are about adjacency only — not about who faces whom, or which end of the table anybody sits at.
- Occasionally the search runs out of budget without proving anything. It says so rather than claiming the conditions conflict.
- Guests are generic names; the conditions are generated rather than entered.
- Arrangements are not stored between visits; seed one you want again.
Privacy and your data
The seating and every condition are worked out in your browser. Nothing about the arrangement or your seed is transmitted or kept.
Related generators
- Table Plan GeneratorAssigns families and couples to tables without ever splitting a group, measured against the fewest tables the guest count allows.
- Seating Plan GeneratorRandomly assign guests or students to numbered seats.
- Classroom Seating Chart GeneratorRandomise a classroom seating chart while keeping your own rules — front seats, pairs kept apart, pairs kept together and pinned seats.
- Unique Short Name GeneratorGives everyone in a list the shortest label nobody else shares, lengthening only the names that actually clash.