You found out the way everyone finds out now: the photos. A dress, a first dance, a caption with a date, and the slow understanding that this wedding happened, or is happening, and you're learning about it from the feed like a member of the public. Maybe you'd have sworn you were close enough. That's the sting's precise location, not the missed party, but the gap between where you thought you stood and where the guest list says you stand.
Before any message gets drafted, sit with what a guest list actually is, because it's less of a verdict than it feels like from outside. A wedding guest list is a document produced under pressure you didn't witness: a venue capacity, a budget with a per-head number, two families each arriving with non-negotiable names, a partner's college roommates, the couple cutting people in rounds and feeling sick about several of them. People get cut for reasons that have nothing to do with affection, the numbers ran out one tier before you, the other side's list ate the buffer, they drew a line at "friends we've seen this year" and your last dinner was fourteen months ago. From inside the spreadsheet, cutting you may have been the argument they had at midnight. From your feed, it looks like a verdict. Both can be true, and you can't tell which from where you're standing.
Which is why the first move is no move. The hurt is real and it's also fresh, and fresh hurt writes terrible messages, the wounded "saw the photos, looks like it was beautiful" with its passive edge, the fake-breezy comment that fools no one, the confrontation that demands an accounting the friendship can't survive giving. Give it two weeks. Congratulate or don't, a simple warm comment on the photos costs nothing and keeps every door open, but send nothing about the invitation while it's still hot.
Then decide which situation you're in, because there are two, and they call for opposite plays.
If the friendship has honestly been fading, and the wedding just made the fade visible, the guest list didn't create distance, it measured it. There's no message to send about that; there's a choice. Either accept the measurement, some friendships shrink to acquaintance and that's a normal fate, not a betrayal, or, if you miss them, skip the invitation conversation entirely and reach out about the friendship itself: the lost-touch message, warm, forward-looking, no mention of the wedding as grievance. Relitigating a guest list cannot revive a friendship. Reconnecting sometimes can.
If the friendship is genuinely close and current, you talk weekly, you'd have bet money, then the omission is confusing rather than merely hurtful, and confusion between close friends is allowed to be spoken. Once, calmly, without prosecution, after the wedding, never in the run-up to it:
Totally understand if this is a budget-and-venue thing, and I'm not asking you to defend the list. I'll be honest that it stung a little to watch the day from the outside, just because you matter to me. Mostly I want to make sure things are good between us, because from my side they are.
Notice what it does: it hands them the benign explanation first, asks for the relationship rather than the accounting, and can be answered without anyone losing face. Most of the time the reply dissolves the whole thing, his family took sixty seats, they cut everyone outside the wedding party's circle, they agonized. Occasionally the reply is vague and cool, and then you've learned the measurement was accurate after all, which is painful and useful.
What you never do: demand the reason publicly, punish them through mutuals, or extract an apology as the price of continuing. A friendship where you're owed a seat is an invoice, and we've written about what happens to friendships that run on invoices.
The photos told you where the spreadsheet drew a line. Two weeks and one calm message tell you what it meant. Only the second one matters.
