Seating Plan With Rules
Every table plan has the same two kinds of rule: these people must sit together, and those two must not. Doing it by hand is an evening with sticky notes, and the real trouble is not a bad plan but an impossible one — a rule that quietly contradicts another and is only discovered at the third rearrangement. Contradictions are found here first and named, and only then is a plan searched for.
What this generator does
Ties the must-sit-together people into blocks that move as one, checks the rules for contradictions, then places the blocks across tables — backtracking rather than giving up at the first clash, and trying only one of any tables that are alike.
How to use this tool
- Paste your guest list, one name per line.
- Write the must-sit-together rules, one per line: Ada and Bea, or Cal, Dee, Eli.
- Write the keep-apart rules the same way.
- Set the seats per table and read the plan.
Understanding the controls
- Guests
- One name per line, up to 300. Repeats are dropped, and any name in a rule that is not on the list is reported rather than guessed at.
- Must sit together
- One rule per line, written with and, a comma, an ampersand or a plus. Naming three people on a line ties all three together.
- Must sit apart
- The same form. Naming three keeps all three at different tables, which is three rules rather than one.
- Seats per table
- Two to thirty. The number of tables follows from the guest count, and adding a seat is often what makes an awkward set of rules work.
Worked examples
- A contradiction caught before searching
- "Ada, Bea" must sit together and "Ada, Cal" must sit together — tying all three into one block. If "Bea, Cal" is then written as a keep-apart rule, the solver reports it impossible immediately: Bea and Cal are already tied to the same block by the together-rules, so no table can seat them apart.
Common use cases
- A wedding table plan with families to keep together and relatives to keep apart
- Seating a dinner where two guests must not be at the same table
- Splitting a class into tables with particular pairings kept or avoided
- Checking whether a set of requests is even possible before promising anything
- Rearranging quickly when a rule changes at the last minute
How this generator works
Contradictions are found before any searching. A group larger than a table cannot be seated at all; and two people who must sit apart, but who are each tied to the same third person, cannot be separated — which is worth saying immediately rather than after an hour of shuffling. When the rules are consistent, the finished plan is checked rule by rule: everybody has exactly one seat, no table is over its number, every must-sit-with pair shares a table and every keep-apart pair does not.
Randomness and fairness
Nothing is random. The same guests and rules always give the same plan, so a plan can be reproduced from the lists alone.
For how randomness is produced across the whole site, see how Generate Random works.
Limitations and good to know
- It seats people at tables, not in particular chairs — who sits next to whom around a table is a separate question.
- All tables are the same size.
- Where several plans satisfy the rules, one is shown rather than all of them.
- The search stops after 400,000 placements. A very tangled set of rules can reach that even when an arrangement exists; the page then says the search was stopped and that a plan may exist, not that the rules clash. Adding a table or a seat almost always settles it.
Privacy and your data
Your guest list and rules stay in your browser. Nothing you paste is transmitted or stored.
Related generators
- Table Plan GeneratorAssigns families and couples to tables without ever splitting a group, measured against the fewest tables the guest count allows.
- Round Table Seating GeneratorSeats guests around one table honouring who must sit together and who must not, with the wrap-around pair checked like every other.
- Meeting Time Across ZonesFinds the times of day that fall inside everyone's working hours, with the clocks and the dates worked out for each place separately.
- Envy-Free Rent Split CalculatorPrices the rooms in a shared house so every housemate prefers their own room at their own share to anyone else's.