Guest List Health Checker

Drop in your guest list and get an instant readiness score, plus the exact fixes to make before you import it anywhere. No signup, and your file never leaves your device.

Once it is tidy

Manage this list in MyGuestWork

A spreadsheet is a snapshot. Import the list into MyGuestWork and it becomes something you can work with: assign tables, track replies, and give guests a QR code that finds their seat for them.

You will need to upload your list again after signing up. This checker does not send it anywhere, including to us.

What makes a guest list ready to import?

Most guest lists start as a messy spreadsheet. Names half-finished, three versions merged together, columns nobody agreed on. That is normal, and most of it does not matter. The problem is that you cannot tell by looking which bits matter and which do not, so people either spend an evening tidying things that were already fine, or import a file that quietly drops a dozen guests.

This checker runs the same rules the MyGuestWork import runs, on your own device, and sorts what it finds by what would actually happen.

What actually loses guests

Those are the two things worth fixing before you do anything else.

What looks alarming and is not

A typo in an email address does not stop the guest importing. The import drops the bad email, notes it, and creates the guest with everything else intact. An RSVP column reading "maybe" does not stop anything either; the status is left blank and the guest arrives. A note longer than the field allows is shortened, not rejected. All worth tidying, none of them worth panicking about, which is why this tool lists them separately instead of colouring your whole list red.

Names, emails and who counts as a duplicate

Duplicate matching uses email first and name second, and the order matters. Two rows sharing an email address are the same person even if one says "Sarah Chen" and the other says "Sara Chen", because that is almost always a corrected spelling. Two rows sharing a name but with different email addresses are two people, because that is a father and son, or two cousins named for the same grandmother. Only when there is no email to go on does it fall back to matching names alone.

Column headers it understands

Headers are matched loosely, so "First Name", "first_name" and "FirstName" all land in the same place. A single "Name" column is split on the first space. Table, Seat, Room, Booth and Section all read as seating. Dietary, Diet and Allergies all read as dietary needs. A column it does not recognise is ignored on import rather than guessed at, so the checker tells you which ones those are, and a column called "Meal" is worth renaming to "Dietary" before you lose it.

Is my file safe to check here?

Your file is never uploaded. It is read by your own browser using the file picker, parsed there, and analysed there. Nothing is sent to a server, nothing is stored, and nothing is kept when you close the tab. You can turn off your wifi after this page has loaded and the checker still works, which is the easiest way to prove it to yourself.

We also switch off session-replay analytics on every page in this tools section, because a replay would record the guest names on your screen. That would defeat the point of doing the work on your device in the first place.

Frequently asked questions

No. The file you choose is read and analysed entirely inside your browser. Nothing is sent to a server and nothing is stored. You can disconnect from the internet after the page loads and the checker still works.

CSV and Excel files (.xlsx and .xls). Export from Google Sheets, Excel or Numbers and drop it straight in. The limit is 5 MB or 5,000 rows, which is the same ceiling a single event has.

It weighs what the real import would actually do with your file. Guests that would be lost, meaning rows with no name and rows that look like duplicates, count heavily. Problems the import shrugs off, like an invalid email or an unfamiliar RSVP value, count for much less, because the guest still arrives. Missing optional columns cost a few points each.

Because the import keeps that guest. It drops the invalid email, notes it, and imports everything else about them. Same with an RSVP value it does not recognise, and with a note that runs over the length limit. Those are worth tidying, but none of them stop a guest arriving, so the checker does not present them as if they do.

Only if neither has an email, or they share one. If two rows have the same name but different email addresses they are treated as two different people, which is what you want for a father and son with the same name. If they share an email address they are treated as the same person, even if the name is spelled differently.

Yes, deliberately. The column detection, row building and duplicate matching in this tool are the same code the MyGuestWork import runs, kept in step by a shared test suite. The point is that a list this tool calls ready is a list the import accepts.

MyGuestWork

Manage this list in MyGuestWork

One workspace for your guest list, your seating and the page guests use on the day.