Free Wedding Guest List Template (Sheets + Excel)

Every column a guest list needs, the formulas that do the counting for you, and the tier method for cutting a list that has grown too long.

Pressed Love Collective··18 min read

Every other wedding decision downstream of the guest list depends on the guest list being right: the venue you can book, the catering quote, the invitations you send, the seating chart, the favours, the transport. This is a free wedding guest list template you can rebuild in Google Sheets or Excel in about fifteen minutes — the full column specification, the formulas that make it count itself, and the four genuinely hard decisions (who pays, plus-ones, children, the B-list) that determine what goes in it.

What a guest list has to do

Most guest lists start as a shared note on someone's phone and stay that way for four months. That works right up until the moment you need a number, and then it fails all at once, because a list of names cannot answer any of the questions you actually have to answer:

  • How many people are coming, as of today?
  • How many envelopes or messages do I need to send, and to which households?
  • Who has not replied, and how do I reach them?
  • How many vegetarians, and which tables are they on?
  • If we have to lose fifteen people, which fifteen?

A guest list template answers all five, and it does so because of one structural rule that everything else hangs off: one row per person, never one row per couple. The moment you type “Elena and Marco” into a single cell, or worse “Elena + guest”, every count the sheet produces is wrong, and you will not notice until the caterer asks for a final number. Two people, two rows, joined by a shared party name.

The free wedding guest list template

Copy these headers into row 1 of a blank Google Sheet or Excel workbook, in this order. The column letters matter, because the formulas further down refer to them.

ColHeaderExampleWhat it is for
AGuest nameElena RossiOne human per row. Full name as they would want it on a place card
BParty / householdRossi familyGroups people who get one envelope, one message and one reply. The most useful column in the sheet
CEmailelena.rossi@example.comOne per party is enough. Fill the party lead's row and leave the rest blank
DPhone+39 333 000 0000Store with the country code. Format the column as plain text or the leading + disappears
EPostal addressVia Garibaldi 14, 20121 Milano, ITNeeded for thank-you cards even if the invitation is digital. One address per party
FSidePartner A / Partner B / BothLets you check the split is what you agreed. Ignore it after the list closes
GTier1 / 2 / 3 / 4How you cut the list later without re-arguing every name. Explained below
HInvited toFull day / Ceremony / Reception / EveningDrives which invitation each person gets and which headcount they land in
IRSVPYes / No / PendingExactly three values, enforced by a dropdown. Every formula keys off this
JMealFish / Beef / VegYour caterer will ask for this by table, so keep the wording identical to the menu
KDietary / allergyCoeliacSeparate from meal choice. This is a safety field, not a preference field
LPlus-oneYes — named / Yes — unnamed / NoA named plus-one gets their own row. An unnamed one is a seat you are holding blind
MTableT4Leave blank until roughly 80% of replies are in. This is the handover to your seating chart
NNotesStaying at the villa; needs step-free accessAccessibility, travel, anything the venue or your planner must know

Three optional columns earn their place for most couples. Put them in O, P and Q so the formulas below keep working:

  • O — Age group (Adult / Teen / Child / Infant). Caterers price children differently and venues need high chair numbers.
  • P — Invite sent (a date). This is what makes chasing possible: you can only sensibly nudge someone once you know when you asked.
  • Q — Replied on (a date). Tells you whether replies are still arriving or have stopped, which is the difference between waiting and chasing.

Setting it up so it stays clean

Four minutes of setup prevents most of the mess:

  1. Freeze row 1 (View → Freeze → 1 row in Sheets; View → Freeze Panes in Excel).
  2. Add data validation dropdowns to columns F, G, H, I, J, L and O. This is the single highest-value step in the whole build: without it you will end up with “yes”, “Yes”, “YES” and “y” in the same column, and every COUNTIF will quietly undercount.
  3. Format column D as plain text before you paste any phone numbers.
  4. Set the default RSVP value to Pending, not blank. Blank is ambiguous — it could mean not yet asked, or asked and ignored.

The formulas that make it count itself

Paste these into any empty block to the right of your data — column S onwards works well. They are written with bounded ranges (rows 2 to 500) so that they behave identically in Google Sheets and in Excel. If your list is longer than 500 people, change the 500.

HEADCOUNT
  People invited        =COUNTA($A$2:$A$500)
  Households            =COUNTA(UNIQUE($B$2:$B$500))
  Confirmed yes         =COUNTIF($I$2:$I$500,"Yes")
  Declined              =COUNTIF($I$2:$I$500,"No")
  Still pending         =COUNTIF($I$2:$I$500,"Pending")
  Plan-for number       =COUNTIF($I$2:$I$500,"Yes")+COUNTIF($I$2:$I$500,"Pending")

RSVP RATE
  Replies in            =COUNTIF($I$2:$I$500,"Yes")+COUNTIF($I$2:$I$500,"No")
  Reply rate            =(COUNTIF($I$2:$I$500,"Yes")+COUNTIF($I$2:$I$500,"No"))
                         /COUNTA($A$2:$A$500)
  Acceptance rate       =COUNTIF($I$2:$I$500,"Yes")
                         /MAX(1,COUNTIF($I$2:$I$500,"Yes")+COUNTIF($I$2:$I$500,"No"))

MEAL TOTALS  (confirmed guests only - this is what the caterer wants)
  Fish                  =COUNTIFS($I$2:$I$500,"Yes",$J$2:$J$500,"Fish")
  Beef                  =COUNTIFS($I$2:$I$500,"Yes",$J$2:$J$500,"Beef")
  Veg                   =COUNTIFS($I$2:$I$500,"Yes",$J$2:$J$500,"Veg")
  Meal not chosen yet   =COUNTIFS($I$2:$I$500,"Yes",$J$2:$J$500,"")
  Children's meals      =COUNTIFS($I$2:$I$500,"Yes",$O$2:$O$500,"Child")

  Every dietary note in one line, for the caterer email:
    =TEXTJOIN("; ",TRUE,FILTER($A$2:$A$500&" - "&$K$2:$K$500,
              ($I$2:$I$500="Yes")*($K$2:$K$500<>"")))

BY SIDE  (check the split you agreed is the split you have)
  Partner A invited     =COUNTIF($F$2:$F$500,"Partner A")
  Partner B invited     =COUNTIF($F$2:$F$500,"Partner B")
  Partner A confirmed   =COUNTIFS($F$2:$F$500,"Partner A",$I$2:$I$500,"Yes")

BY TIER  (what the list looks like if you cut from the bottom)
  Tier 1 only           =COUNTIF($G$2:$G$500,1)
  Tiers 1-2             =COUNTIF($G$2:$G$500,"<=2")
  Tiers 1-3             =COUNTIF($G$2:$G$500,"<=3")
  Everyone              =COUNTIF($G$2:$G$500,"<=4")

OUTSTANDING REPLIES  (your chase list, refreshes itself)
  =FILTER({$A$2:$A$500,$B$2:$B$500,$C$2:$C$500,$D$2:$D$500},
          $I$2:$I$500="Pending")

  Days since you asked, per row - put in R2 and fill down:
    =IF(AND($P2<>"",$I2="Pending"),TODAY()-$P2,"")

SEATING HANDOVER
  Confirmed but not yet seated
    =COUNTIFS($I$2:$I$500,"Yes",$M$2:$M$500,"")
  Guests on table T4
    =COUNTIFS($M$2:$M$500,"T4",$I$2:$I$500,"Yes")

Three notes on compatibility, so you do not lose an evening to a broken formula. UNIQUE, FILTER and TEXTJOIN work in Google Sheets and in Excel 365 or 2021; on older Excel, replace the chase-list FILTER with a plain autofilter on column I and count households by hand. Whole-column references like $I:$I are fine in Sheets but slow, and Excel handles them less gracefully — the bounded ranges above are the safer habit. Argument separators are commas in most locales but semicolons in several European ones; if a formula is rejected outright, swap every comma for a semicolon before assuming it is wrong.

Finally, one conditional formatting rule pays for itself: highlight column I in amber where the value is Pending and the date in column P is more than fourteen days ago. That is your entire chasing workflow, visible at a glance.

Who pays for whom, and how that decides the list

Almost every guest list argument is really an argument about a number nobody agreed on. The fix is boring and completely reliable: settle the total headcount first, then settle how it is divided, and only then start writing names. Doing it in the other order means every name added is a negotiation, and the people doing the negotiating are usually your parents.

The total is set by whichever of these binds first: what the venue physically holds, what the catering budget covers, and what you actually want the day to feel like. A room for 120 and a budget for 80 means your number is 80.

Three splits, all of them defensible:

SplitHow it worksBest whenWatch out for
Equal halvesEach family gets the same allocation regardless of who is payingYou are paying for most of it yourselves, or contributions are roughly evenOne family may simply be much larger; agree in advance whether size shifts the line
ThirdsA third to each set of parents, a third to the coupleBoth families are contributing and both have people they need to inviteYour own third disappears fast — protect it before you hand the other two out
ProportionalWhoever funds a given share of the wedding invites that share of the guestsOne family is contributing substantially more and everyone is comfortable naming thatMakes money explicit. Only use it if saying the numbers out loud will not cause harm

Whichever you choose, write it down in the sheet itself — a note in cell S1 saying “Total 110. A: 35, B: 35, us: 40. Agreed 4 March.” It ends the same conversation four separate times.

Two rules that hold regardless of who pays. First, a contribution buys allocation, not veto: a family who funds a third can fill a third of the seats, but does not get to remove someone from your third. Second, the couple keeps a reserve of five or six seats, unallocated, released last. Something will come up — a friend's new partner, a colleague you did not expect to matter, a relative who resurfaces — and a reserve turns a crisis into a decision.

The tier method: cutting a list that is too long

Every first draft is too long. This is normal and it is not a sign that you have been careless. The tier method works because it moves the argument away from individual people, where it is painful and personal, and onto categories, where it is merely a decision.

Fill column G for every single person before you cut anyone:

  • Tier 1 — the day changes without them. Immediate family, the people you talk to weekly, the wedding party. If you would postpone rather than marry without them there, they are Tier 1.
  • Tier 2 — you would genuinely miss them. Close friends, grandparents' siblings, the friends you see a few times a year and pick up with instantly.
  • Tier 3 — it would be lovely. Wider cousins, good colleagues, university friends you follow more than you speak to, neighbours you like.
  • Tier 4 — obligation. Your mother's friend from the choir. The couple who invited you to theirs in 2019. Your manager. Real social costs attach to cutting these, which is exactly why they need their own tier rather than being smuggled into Tier 3.

Then sort by tier and read the running totals from the formula block above. If Tiers 1 to 3 come to 96 and your number is 110, you have fourteen seats for Tier 4 and a clear basis for deciding which. If Tiers 1 to 2 alone come to 130, you have a much bigger problem than a guest list and it is worth having that conversation early.

Three tests that resolve most Tier 2 versus Tier 3 disputes:

  1. Have we had a real conversation in the last twelve months? Not a birthday message. A conversation.
  2. Would we invite them to dinner for four? If they would be odd at a table of four, they are Tier 3 at best.
  3. Would we be hurt not to be invited to theirs? This one catches the friendships that have quietly become one-directional.

One caution about over-inviting on the assumption that people will decline. Decline rates vary enormously — a destination wedding on a Tuesday and a Saturday wedding in your home town are not remotely the same list — so any borrowed percentage is worse than useless. If you want to model it, add a column and mark your own expectation guest by guest: you know perfectly well which of your invitees are unlikely to fly. But never invite more people than your venue holds. Rooms do not negotiate, and a full acceptance rate is a real outcome, not a hypothetical one.

Splitting the list between two families

The mechanics matter as much as the allocation. What goes wrong is almost always process, not intent.

  • One file, one owner, shared with everyone. Not four lists that get merged in April. Give parents edit access to the sheet, or ask them to send names in a fixed format that you paste in. Duplicates between two families are common — the family friend both sides know — and one file catches them.
  • Give each family a number, not an open invitation. “Send us your list” produces a list with no upper bound. “You have 35 seats, here is the sheet” produces 35 names.
  • Apply the same tier rules to both sides. When a cut becomes necessary, cutting Tier 4 across the whole list is visibly fair. Cutting one family's Tier 4 is a grievance that outlives the wedding.
  • Use the “do you know them?” test for the last few seats. If neither of you has met the person, and the parent proposing them will not be spending the day with them either, the seat is better spent elsewhere. Say it kindly, and say it once.
  • Keep the Side column honest. Mark shared friends as “Both” and count them against the couple's allocation, not against either family.

Plus-ones: a rule you can defend

Plus-ones are where guest lists inflate quietly. Twenty single guests with an open plus-one is twenty extra plates that you cannot name, seat or cater for accurately. The answer is not to be mean about it; it is to have a rule and apply it evenly.

The rule that survives contact with reality:

  1. Married, engaged or living together: automatic. Never split an established couple, however little you know the partner.
  2. In a relationship you have heard about for a while: yes. Draw the line somewhere you can state out loud — for example, together for a year.
  3. Wedding party: yes, always. They are working that day; do not make them do it alone.
  4. Anyone who would otherwise know nobody: yes, if the budget allows. The guest travelling alone to a room full of strangers is the guest most likely to leave after the cake.
  5. Everyone else: no, and no exceptions you cannot explain in one sentence. One unexplainable exception undoes the whole rule, because guests talk to each other.

Always ask for the name. A named plus-one gets their own row, their own meal choice, their own dietary note and their own seat. An unnamed “and guest” is a headcount you discover in the final week. If you send digital invitations, ask for the partner's name in the RSVP form itself — it is one extra field and it removes an entire chasing exercise.

How you word this on the invitation matters more than the rule does. Address the invitation to the people who are invited, by name, and the message is unambiguous without ever being stated. Our guide to addressing wedding invitations covers the exact forms for couples, families, single guests and named plus-ones, including how it works when the invitation is a link rather than an envelope.

Children

Pick one policy and apply it to everyone. Exceptions are what cause the damage, not the policy itself.

  • All children welcome. Simplest, warmest, and the most expensive. Budget for children's meals, high chairs and somewhere quiet for a tired three-year-old.
  • No children. Entirely legitimate. Expect a small number of declines from parents who cannot arrange care, and accept those gracefully.
  • Immediate family only. Nieces, nephews, godchildren. The most common compromise and the one most likely to be queried, so be ready to answer consistently.
  • Over a set age. Clean, easy to explain, and it lets teenagers attend as the young adults they consider themselves to be.

Whatever you choose: every invited child is their own row, with an age group in column O. Caterers price children differently, venues need high chair counts, and your seating chart needs to know who is five and who is fifteen. And communicate the policy by naming the invited people on the invitation, not by writing a rule on it. “Elena and Marco Rossi” says what “no children please” says, without reading as a reprimand to people who have not done anything.

If parents ask directly — and one or two will — answer warmly, once, and do not relitigate it: you would love to have them, the numbers only work for adults, and you completely understand if it means they cannot make it.

The B-list, handled honestly

Almost everyone has one. Almost nobody admits to it. It is worth being straight about what it is and when it works.

A B-list is a second wave of invitations sent to people who were not in the first wave, once declines free up capacity. It is not inherently unkind — nobody is owed an invitation, and a guest who never learns they were in the second wave has lost nothing at all. The problem is entirely that people find out. They compare notes. Wedding dates and invitation timings get discussed in group chats, and a message that arrives six weeks after everyone else's is conspicuous.

Four conditions. If you cannot meet all four, do not run a B-list:

  1. Send within about two weeks of the first wave, and never after your RSVP deadline. A late invitation announces itself.
  2. Never to someone in the same household, friendship group or workplace cluster as an A-list guest who has already replied. This is how it gets discovered, every time.
  3. Send the same invitation, with the same care. Same design, same wording, same personal message. A visibly hurried second-wave invitation is worse than no invitation.
  4. Tell nobody there is a list. Not your parents, not the wedding party, not the friend who is helping. Lists leak through the people who know about them.

The mechanics get easier with digital invitations, because sending the second wave costs nothing extra and the invitation itself is identical. What does not change is the honest constraint: a guest still occupies a chair and a plate, so the real limit is your venue and your catering, not your stationery.

Two alternatives worth considering before you commit to one. A tiered invitation — ceremony and reception for one group, evening celebration for a wider group — is openly offered to everyone in a category, so there is nothing to discover. That is what column H is for. Or simply a shorter, firmer list: a wedding of 70 people you genuinely know is a better day than a wedding of 110 where you greet a third of the room once.

From the list to the sent invitations

A finished guest list is not an achievement in itself — it is the input to the send. This is where the column choices above start to pay off, because name, party, email and phone are exactly what a digital invitation needs in order to give each household its own personal link.

The practical difference between one shared link and per-guest links is the whole RSVP problem. With a single link you get replies, but matching them back to your sheet is manual and error-prone, and you cannot tell who has not opened it. With a link per household, every reply lands attached to a name, and your outstanding column stops being something you maintain by hand.

That is what sending wedding invitations by WhatsApp does with the phone column: a personalised message and link per household, sent from your own number, replied to in the app your guests already have open. The same list drives SMS and email links for the guests who do not use WhatsApp. If you are ready to build the invitation itself, you can start designing free and only pay when you publish.

On plans: Starter (€49) publishes your invitation with a shareable link and QR code, which is enough if you are happy keeping RSVP tracking in the spreadsheet above. Essential (€175) adds RSVP tracking, the guest dashboard and per-guest WhatsApp, SMS and email links, so the sheet becomes a planning tool rather than a system of record. Premium (€575) adds the seating chart, planner and budget tracker. All three are one-time payments.

Handing the list over to the seating chart

Column M is deliberately the last one you fill. Start assigning tables once roughly 80% of replies are in — usually three to four weeks out — because every late decline or added plus-one reshuffles a table, and seating a list that is still moving is guaranteed rework.

When you get there, the guest list you have built already contains everything the chart needs: households to keep together, meal counts per table for the caterer, dietary notes that must travel with the person, and the accessibility notes in column N. Our wedding seating chart template picks up exactly here, with table capacity maths, four floor plan patterns and the COUNTIFS formula that tells you the moment a table is over capacity.

Seven guest list mistakes

  1. One row per couple. The original sin. Every count downstream is wrong and you will not notice for months.
  2. Free-text RSVP values. Without a dropdown you will have four spellings of “yes” and a formula that undercounts.
  3. Writing names before agreeing the number. Guarantees the list has to be cut, and cutting a written list is far harder than shaping an empty one.
  4. Unnamed plus-ones. Seats you cannot cater for, message or seat. Ask for the name in the RSVP form.
  5. Phone numbers without country codes. Fine until you try to message anyone abroad, at which point the column is unusable.
  6. Two sources of truth. If replies live in a WhatsApp thread and the list lives in Sheets, the two will diverge, and you will discover it at the caterer headcount call.
  7. No reserve. Allocate every seat and the first unexpected guest becomes a crisis instead of a decision. Hold five back.

Frequently asked questions

What should a wedding guest list template include?

A working wedding guest list template has one row per person and fourteen columns: guest name, party or household, email, phone, postal address, side, tier, invited to, RSVP status, meal choice, dietary note, plus-one, table and notes. The two columns couples most often leave out are tier (which lets you cut the list without re-reading it) and party (which groups people into households so you address and message them together). The full copyable specification, with examples for every column, is in the template section below.

How do you cut a wedding guest list that is too long?

Use the tier method. Give every guest a number from 1 to 4: Tier 1 is people whose absence would change the day, Tier 2 is people you would genuinely miss, Tier 3 is people it would be nice to have, Tier 4 is obligation invitations. Then sort by tier and cut from the bottom until you hit your number. Cutting by tier is defensible in a way that cutting name by name never is, because you are removing a category rather than a person, and both families can see the same rule being applied to both sides.

How many guests should each family get?

Agree the total number first, then split it, and do it in that order. The three splits that work in practice are equal halves (each family gets the same allocation regardless of who pays), thirds (a third to each family and a third to the couple), and proportional to contribution (whoever pays a given share of the wedding invites that share of the guests). Any of the three is fine as long as everyone agrees to it before a single name is written down. Arguments about the guest list are almost always arguments about a number that was never agreed.

Who gets a plus-one at a wedding?

Write a rule, apply it to everyone, and never make exceptions you cannot explain. The most common defensible rule is: married, engaged or living together gets a plus-one automatically; everyone in the wedding party gets one; anyone who would otherwise know nobody in the room gets one. Ask for the plus-one by name wherever possible, because a named guest is a person you can seat, cater for and message directly, whereas "and guest" is a headcount you find out about in the last week.

Is a wedding B-list rude?

A B-list is not rude, but a badly run B-list is obvious and hurtful. The rules that make it work: send the second wave within about two weeks of the first, never after your RSVP deadline has passed, never to someone who shares a household or a close friendship group with an A-list guest who has already replied, and never mention the list to anyone. If you cannot meet all four conditions, do not run one. The honest alternative is a smaller, firmer list from the start, or a separate evening or reception-only invitation that is offered openly to everyone in that group.

How do I track RSVPs in a guest list spreadsheet?

Keep an RSVP column with three permitted values (Yes, No, Pending) enforced by a data validation dropdown, then build a small dashboard on the same sheet with COUNTIF and COUNTIFS. Confirmed headcount is =COUNTIF($I$2:$I$500,"Yes"), outstanding replies is =COUNTIF($I$2:$I$500,"Pending"), reply rate is =(COUNTIF($I$2:$I$500,"Yes")+COUNTIF($I$2:$I$500,"No"))/COUNTA($A$2:$A$500), and each meal total is =COUNTIFS($I$2:$I$500,"Yes",$J$2:$J$500,"Fish"). The full formula set, including the chase list, is in this article.

Should children be on the wedding guest list?

Decide the policy first, then apply it without exceptions: all children welcome, no children, immediate family children only, or children over a set age. Whichever you choose, put every invited child on the guest list as their own row with their own age noted, because caterers price children differently and you will need high chair numbers. Communicate the policy by naming the invited people on the invitation rather than by writing a rule such as "no children" on it, which reads as a reprimand to the people who did nothing wrong.

Can I use my guest list spreadsheet to send the invitations?

The spreadsheet is the input, not the sending tool. Once your list is clean, the name, email and phone columns are exactly what a digital invitation needs to generate a personal link for each household. Pressed Love Essential (EUR 175) imports that list and gives every guest their own WhatsApp, SMS or email link, so replies come back attached to the right name and your outstanding column updates itself instead of being retyped. Starter (EUR 49) publishes the invitation with a single shared link and QR code, which works but leaves the tracking in your spreadsheet.