SeatSolver

Seating chart maker

Import the guest list you already have, name the pairs who cannot sit together, and get a table plan that holds every one of them. When six people drop out, you reprint six place cards, not two hundred. Free, no account, and your list never leaves your browser.

Your guest list

Drop an .xlsx or .csv here, paste from Google Sheets, or . You can also .

      Tables

      Rules

          Paste or drop your guest list, then choose how many tables the room has. The chart appears here.

          Three things this does that the others do not

          It reads the spreadsheet you already have. Not a template you fill in, not a form you retype names into: the .xlsx, the .csv, or the cells you copied out of Google Sheets, with your column names, your plus-ones, your totals row and your "do not seat with" column. It then shows you exactly which column it read as what, so you can check its reading against your file before anything is solved.

          It re-solves after an RSVP change without rebuilding the room. Six people drop out and four more say yes, and the chart you already printed place cards for stays almost exactly as it was. Only the guests who have to move, move, and the result names them.

          It handles the whole room. A hundred and fifty guests with households, plus-ones, meal choices, accessibility needs, VIP tables and a list of pairs who must not be seated together is an ordinary input here, not the edge case. It solves in well under a second.

          What it does, measured

          Every number below was measured on this build rather than estimated. The solver timings are the median of seven runs on an Apple M5 Pro; the guest list is 150 people in households, with four VIPs, two guests needing step-free access, five "cannot sit together" rules and one "must sit together" rule, going into 20 tables of eight.

          Measured on 17 September 2026
          150 guests into 20 tables, with rulessolved in 29 ms
          300 guests into 40 tablessolved in 29 ms
          Spreadsheet columns recognised14 kinds, 120 header spellings
          Seating chart PDF, 150 guests39 KB, written in the browser
          Place cards, 150 guests105 KB, 38 cut-and-fold sheets
          JavaScript downloaded to use the tool10 KB compressed
          Requests to any server but this onenone, including the PDF export
          Guest limit, export limit, accountnone, none, none

          How the seating is worked out

          Everyone who has to stay together - couples, households, anyone joined by a "must sit together" rule - is collected into a block, and blocks are what get placed. That is what makes "keep these two together" structurally true rather than a preference the search can trade away later.

          Blocks are then placed into tables and improved by a local search that scores each arrangement: a guest with no seat or a table with more people than chairs costs the most, a broken rule you typed costs the next most, accessibility and VIP placement next, and tidiness - even tables, one side of the family per table - least. The search stops when the score reaches zero or the time budget runs out, whichever comes first.

          The same list with the same settings always produces the same chart. If you fix one typo and re-solve, you are not handed a completely different room to re-read.

          What it tells you when it cannot do what you asked

          Some lists have no solution. If two people must sit apart but a chain of "must sit together" rules ties them into the same block, no arrangement satisfies both. If a family of twelve must sit together and the largest table holds ten, they cannot be seated.

          In both cases you get a sentence naming the guests and the rule that could not be honoured, instead of a chart that quietly broke it. Anyone who could not be seated is listed with the reason, and both of those lists are printed on the last page of the PDF. A seating chart that silently drops a rule is worse than no chart, because you will not find out until the night.

          What comes out

          A seating chart PDF, table by table, with meal choices if your list had them. A landscape floor plan of the room. Place cards on cut-and-fold sheets, printed on both halves so a folded tent card reads from both sides. An escort list sorted by surname for the door. Table signs, one page per table. And the whole chart as a CSV if you would rather take it back into a spreadsheet.

          No watermark, no export charge, no cap on how many times you export while you are still changing your mind.

          Where your guest list goes

          Nowhere. The file is read, the chart is solved and the PDF is written inside your browser, on your own machine. There is no upload step, which is why there is no account: there is nothing to have an account for.

          The list is kept in this browser between visits so you can close the tab and come back to it. Clearing your browser data clears it, and it is never sent anywhere.

          Questions

          Is it really free?
          Yes. No account, no trial, no guest limit and no charge to export. The solving and the PDF writing happen on your computer, so there is no per-chart cost for anyone to pass on to you.
          Can it import my Excel or Google Sheets guest list?
          Yes. Drop an .xlsx or .csv, or paste the cells straight out of Google Sheets. Your column names are matched as they are, and the tool shows you what it read each column as before it seats anyone.
          How do I stop two guests sitting together?
          Add a "cannot sit together" rule, or put the name in a "do not seat with" column in your spreadsheet. It is treated as a hard rule, and if no arrangement can satisfy it you are told which pair failed rather than handed a chart that ignored it.
          What happens when the RSVPs change?
          Re-solve. The existing chart is kept and only the guests who have to move are moved, and the result lists exactly who they were. You reprint a few place cards instead of all of them.
          Is my guest list uploaded?
          No. Nothing about your guests is sent anywhere. The whole tool runs in the browser tab, including reading the spreadsheet and writing the PDF.
          Can I drag people around afterwards?
          Yes. Click a guest and then another guest to swap them, or click a guest and then a table to move them. Anything you place by hand is pinned, and the solver works around it the next time you re-solve.

          Last checked against the tool on .