GenerateRandomSearch

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.

How to use this tool

  1. Paste your guest list, one name per line.
  2. Write the must-sit-together rules, one per line: Ada and Bea, or Cal, Dee, Eli.
  3. Write the keep-apart rules the same way.
  4. Set the seats per table and read the plan.

Understanding the controls

Guests
One name per line. 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.

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.
  • A very tangled set of rules can defeat the search even when an arrangement exists; adding a table or a seat almost always settles it, and that is what the message says.

Privacy and your data

Your guest list and rules stay in your browser. Nothing you paste is transmitted or stored.