Wedding Seating Chart with Meal Choice

Upload a guest CSV or type names manually. The tool arranges guests by table, color-codes each meal choice (Beef, Fish, Veg, or custom), and exports a seating chart PDF plus a per-table meal tally PDF — all locally in your browser. No data is ever uploaded.

Drag & drop a CSV file here, or click to browse

Expected columns (order flexible, header required): Name, Table, Meal. Any extra columns are ignored.

Add a guest manually

Seating Chart

Upload a CSV or add guests above to see the seating chart.

Meal Tally by Table

Meal counts will appear here once guests are loaded.

How it works

  1. 1Prepare your CSV. Three columns: Name (guest full name), Table (number or name like "Head Table"), Meal (Beef, Fish, Veg — or any custom label). Save as .csv from Excel or Google Sheets.
  2. 2Upload or paste. Drag the file onto the drop zone or switch to the "Type / Paste" tab. You can also add individual guests with the manual row below.
  3. 3Review the chart. Each table card shows guests with a color-coded meal badge. Rearrange guests between tables by editing the manual row form — changes reflect instantly.
  4. 4Export PDFs. "Seating Chart PDF" lays out every table with guest names and meal badges. "Meal Summary PDF" gives you a concise per-table count (Beef / Fish / Veg / Other) for the catering team.

Everything runs entirely in your browser using pdf-lib for PDF generation and PapaParse for CSV parsing. No guest data is ever sent to a server.

Frequently asked questions

What format does the CSV need to be in?
Your file needs a header row with at least three columns: Name, Table, and Meal. Column names are case-insensitive, and column order does not matter. Extra columns (like RSVP status or dietary notes) are ignored. If you export directly from Excel or Google Sheets as CSV, no extra formatting is needed. Values do not need to be quoted unless they contain commas. Example row: Emma Johnson,5,Fish.
Can I use meal labels other than Beef, Fish, and Veg?
Yes. Any text in the Meal column is accepted. Common alternatives include Chicken, Vegan, Kosher, Kids Meal, or supplier codes like B / F / V. The tool assigns a distinct color to each unique meal label automatically — up to four colors cycle across Beef (gold), Fish (blue), Veg (teal), and Other (purple). If you have more than four distinct labels they all share the "Other" color, but the label text always prints in full.
What do the two PDFs contain?
The Seating Chart PDF lays out one page per table (or multiple tables per page for smaller weddings). Each guest entry shows their name and a labeled meal badge, matching the colors in the on-screen chart. The Meal Summary PDF is a compact one-page tally for the catering team: each row shows the table name/number and the count for each meal type, plus a grand total row. Both PDFs are generated locally — nothing is uploaded.
How many guests and tables does this handle?
The tool works well up to several hundred guests across 30–40 tables in a typical browser session. Very large weddings (500+ guests) will still process but may take a few seconds to generate the PDFs. There is no hard limit — all processing is in-memory on your device.
Can I edit the seating after uploading?
Yes. After importing a CSV you can add individual guests using the "Add a guest manually" form, which inserts them into the correct table instantly. To move a guest, use the add form to re-enter their name with the new table, then remove the old entry — or edit your original CSV and re-upload. Future updates will add drag-and-drop reordering directly on the chart.