The wedding guest list Google Sheets template
A copy-and-go spreadsheet set up with the exact columns Seat the Day reads, so your guest list becomes a seating chart without reformatting anything. Free, no email required.
Most couples start their guest list in whatever format feels natural — a running list, a notes app, a spreadsheet they wing themselves. That works fine for tracking RSVPs. It tends to break down when you try to use the same sheet for seating, because the columns you need for managing guests are different from the columns you need for arranging tables.
This template is set up to work both ways from the start. Below it, you'll find exactly how Seat the Day reads a sheet — useful whether you copy the template or build your own.
Get the template
Open in Google Sheets and make a copy. No sign-up, no email required.
Copy the template →Opens Google Sheets. Sign into your Google account to copy it to your Drive.
What's in the template
Every column, what it does, and how Seat the Day treats it. Only a name is genuinely required — the rest earn their place as your list fills in.
| Column | What it's for |
|---|---|
First Name required |
The name that shows on the seating chart and place cards. A first name or nickname is usually right — "Grandmother Eleanor" is a mouthful on a place card. |
Last Name required |
Joined with the first name when your chart loads. If you'd rather keep names in one column, delete both and use a single Name column instead — either shape works. |
Title |
Mr., Mrs., Dr., and so on. This one is for you, not the app — Seat the Day ignores it. Handy if you're mail-merging invitations from the same sheet. |
Side |
Whatever you type is used as-is. Bride and Groom, or names like Sarah and Jane, or Family A and Family B. Seat the Day picks up the distinct values it finds and builds your side filters from them, so spell each one consistently — Bride and bride would come through as two separate sides. Blank means neutral. |
WP |
Marks the wedding party, so you can keep them together at a head table or deliberately spread them across the room. A yes/no column — see below. |
Group |
College friends, work, family, neighbours, clergy — whatever groupings make sense for your wedding. Free text, no fixed list. Seat the Day collects the values you use and turns them into filters in the unseated guest list. |
Allergies Flag |
Puts a warning marker on the guest so allergies stay visible while you're arranging tables. This is a yes/no flag, not a description — write y, not Shellfish. Keep the specifics in a column of your own. |
Meal Choice |
Chicken, fish, vegetarian, kids' meal — whatever your venue offers. This travels with the guest when you drag them to a table, so your per-table counts stay right. |
Seating Notes |
Requests in plain language: With Tom Smith, Not with Mark, Needs an aisle seat, Near the dance floor. Use full names where you can — "with Dwyer" is ambiguous if three Dwyers are on the list. This column syncs both ways: notes you add inside the app are written back here. |
How the yes/no columns work
WP and Allergies Flag accept y, yes, true, 1, or x, in any capitalization. Anything else counts as no — including other words. Blank means no, so you only fill in the rows that apply.
Building your own sheet instead
You don't have to use the template. Seat the Day reads whatever sheet you already have, as long as it follows three rules.
1. Name the tab Guests
At the bottom of your spreadsheet, rename the tab holding your guest list to Guests. This is the one part that isn't flexible: if no tab has that name, syncing stops and the app asks you to create one. Other tabs are left alone, so keep your budget, vendor list, or RSVP tracker in the same file if you like.
2. Put headers in row 1, guests from row 2 down
Everyone who needs a seat needs their own row, including plus-ones and children. Rows with no name are skipped, so blank spacer rows are harmless.
3. Use a header name Seat the Day recognizes
Capitalization and stray spaces don't matter, but the name has to match one of these spellings. MealChoice run together won't be recognized, and neither will Meal Preference.
| Field | Headers it answers to |
|---|---|
| Name | Name Guest Guest Name Full Name — or First Name plus Last Name |
| Side | Side B/G Bride/Groom |
| Wedding party | WP Wedding Party WeddingParty Wedding_Party |
| Group | Group Groups |
| Allergies | Allergies Flag Allergies Dietary |
| Meal | Meal Choice Meal Entree Dinner Choice |
| Seating notes | Seating Notes Notes Seat Notes Seat Requirements |
Column order is irrelevant — Seat the Day finds each one by name, so Name can sit in column A or column M. Unrecognized columns are ignored completely, so addresses, phone numbers, gift tracking, and anything else can live right alongside your guest data.
Order means seating order here, not a catering order. Seat, Table, and Notes are all claimed too, and Dietary is read as the allergies yes/no flag — so a free-text dietary column under that name won't behave the way you'd expect. Name your own columns something else and they'll be left alone.
What Seat the Day adds to your sheet
On the first sync, the app appends three columns to the end of your header row. It fills them in as you build your chart and reads them back afterward, which is how your seating survives closing the tab.
| Column | What it holds |
|---|---|
TableId | Which table the guest is seated at. Blank means they're still unseated. |
Order | The guest's position in the list. This is what keeps your unseated list and table rosters in a stable order instead of reshuffling every time you load. |
SeatIndex | The specific chair at that table, for when you've placed someone in an exact seat rather than just assigning them to the table. Blank if you haven't gone to that level of detail. |
Your Seating Notes column is the fourth the app writes to — but only if it already exists. Seat the Day won't create that one for you, so if you want notes syncing back from the app, add the header yourself. The template already has it.
The app also creates a second tab called Tables, holding your table list: id, label, capacity, and floor plan position. You never need to edit it directly.
How syncing works
One rule explains most of what's safe to change and what isn't: columns are found by name, rows are found by position.
That's why you can reorder columns, insert new ones, or rename a header to another accepted spelling at any point and the sync keeps up — it looks for Meal Choice wherever it happens to be sitting.
Rows work differently. Each guest is tracked by the row they occupy, so row 7 is that guest's identity as far as the sync is concerned. Sorting your list, inserting a row in the middle, or deleting someone while the chart is open in another window shifts everyone below them, and the next save can write assignments to the wrong rows.
It's easy to stay clear of: make row changes with the app closed, or reload the app afterward. Adding new guests at the bottom is always safe.
How to use the template while you're still collecting RSVPs
Start early, before RSVPs close
Add every invited guest from the start, not just confirmed attendees. Track responses in a column of your own — RSVP works well, and Seat the Day ignores it, so you can use whatever values you like.
Clear out declines before you seat
Seat the Day imports every row that has a name, so anyone who declined will show up in your unseated list waiting for a chair. Before you start arranging, delete those rows or move them to a separate tab. Do this while the app is closed, since deleting rows shifts everything below them.
Keep values consistent
Side and Group are read exactly as typed, so College and college become two different groups and clutter your filters. The template uses dropdowns for these to keep them tidy — worth adding if you build your own.
Share it with whoever else is tracking guests
Parents often manage a branch of the guest list independently. Give them edit access to the sheet so everyone's working in the same document, instead of sending you updates by text that you reconcile by hand.
Connecting it to Seat the Day
When your list is ready, open the Share button at the top right of your sheet and add this address:
seating-chart-sync@ballast-advisory.iam.gserviceaccount.com
Give it Editor access. Viewer isn't enough — the app has to write table assignments back into the sheet, and read-only access will fail the moment you seat someone. Google will offer to notify the new collaborator; uncheck that box, since it's a service account rather than a person's inbox.
Then copy your spreadsheet's URL from the address bar and paste it into Seat the Day. That's the whole connection. Nothing is uploaded or copied, the file stays yours, and you're granting access to one specific spreadsheet — not your Google account or the rest of your Drive. You can revoke it any time from the same Share dialog.
If something gets deleted
Nothing here is fragile, but deleting the wrong thing loses work:
- Delete
TableId,Order, orSeatIndexand the columns come back on the next sync — but the seating they recorded is gone, and your chart loads empty. - Delete the
Tablestab and it's recreated too, minus every table, capacity, and floor plan position you'd set up. - Delete or rename the
Gueststab and syncing stops until a tab with that name exists again.
In every case your guest list itself is untouched. Only the seating is lost, and you can rebuild the chart from the same sheet.