Skip to main content
Tables, guests and who sits where

Seat the room with
your thumb, not a mouse.

Add your tables, tap to seat a guest, or fill the whole room in one go. Families stay together at one table, groups sit with groups, over-filled tables say so — and anyone the room cannot take comes back to you by name instead of quietly disappearing off the chart.

Included in the Event Pass · $39 once · Works on a phone

A venue host warmly welcomes arriving guests
AI-generated illustration

The seating panel with a guest selected. Picking Priya Shah turned her row navy and gave every other table a “Seat Priya Shah here” button — including the over-filled top table, whose button reads “(over)” rather than refusing her.

  1. 1

    Two taps, not a drag. Pick a guest, then pick a table. There is no drag-and-drop anywhere in the feature: it is unusable with a thumb and unreachable with a keyboard, and the same two controls are two Tab stops and an Enter.

  2. 2

    The bar is also a live region. A screen reader hears “Seating Priya Shah. Choose a table.” the moment the guest is picked, every guest row carries aria-pressed, and every control is at least 44px.

  3. 3

    Over-capacity is shown, never refused. Nine people on an eight-top turns the card amber and reads “1 more person than chairs”. The button still offers the seat, marked “(over)”, because the host meant to do it.

  4. 4

    A guest who said no stays put. Someone who declined after being seated keeps a red “Said no” badge at their table, with a note explaining they are left there so you can take them off deliberately. They hold no chairs.

Built around the rules that actually matter

A family that arrives to find itself split across two tables will remember only that. Everything below follows from refusing to let that happen.

Tables named the way your venue names them

Give each table a name, a number of chairs between 1 and 60, and a shape label: Round, Long, Top table or Bench. Add them one at a time, or add ten identical tables in one action and rename the odd ones. Names are unique per event, so a second "Table 4" is refused instead of quietly duplicated.

Assign by tapping, not dragging

Pick a guest, pick a table. That is the whole interaction. Drag-and-drop is unusable with a thumb and unreachable with a keyboard, and this is a job people do on a phone, on a sofa, over several evenings. Every control is at least 44px, and the selection bar announces itself to a screen reader.

Fill the room in one tap, undo it in one more

Auto-seating places everyone who said yes, by the rules below, and tells you how many guests it moved. If the result is not what you wanted, Undo puts every guest back exactly where they were before you pressed it — it restores the plan you had rather than asking the planner to try again.

A party is never split across two tables

An invitation confirmed for four needs four free chairs at ONE table. The planner seats the biggest parties first for exactly this reason: leave the party of six until last and there is nowhere left that can take all six at once.

Over-capacity is shown, not hidden

Put nine people on an eight-top on purpose and the card turns amber and reads "1 more person than chairs", rather than refusing you or silently moving someone. The warning updates the instant you move a guest, because the browser recomputes capacity with the same code the server uses.

Only guests who said yes get a chair

Someone who declined never takes a seat. If they said no after you seated them, they stay visible at their table with a red "Said no" badge so you can take them off deliberately. Someone who has not replied is left for you to decide about — and if you seat them anyway, their chairs count as spoken for, because they are.

How it works, screen by screen

Four steps, and the four screens they happen on. Each one is drawn on this page.

01
The first thirty seconds, below

Add your tables

Name them the way your venue does, set how many chairs each has and pick a shape label. Ten round tables of eight takes one action; the top table and the odd bench take one more each. Until at least one table exists, "Seat everyone" is greyed out — this step is not optional.

02
What auto-seating does, below

Let it fill the room

Tap "Seat everyone". Parties stay whole, tagged groups sit together, and the panel reports what it moved: "Moved 63 guests. 2 could not be seated — they are still in the list on the right." Those two are named in the unseated column with the reason beside them.

03
The screen at the top of this page

Fix the ones that matter

Every plan has a handful of decisions only you can make. Tap a guest — the row turns navy and a bar reads "Seating Priya Shah and 1 more · Now choose a table." — then tap "Seat Priya Shah here" on the table you want. Capacity on that table updates as you go.

04
What every guest gets, below

Let guests find themselves

Press "Let guests find their table". Guest lookup starts switched off, and that button is what turns it on. From then on a guest opens their own invitation link, taps "Find your table", and sees the table name, how many places are kept for them, and the first names of the people they are sitting with.

What auto-seating will and will not do

One tap fills the room. What matters is what it tells you afterwards.

One tap at “Seat everyone”. The mint line counts what moved; the amber box in the right-hand column names the two parties the room could not take, and why.

  1. 1

    Nobody is dropped in silence. Anyone the room could not take comes back by name, with the size of their party and one of exactly three reasons: no tables yet, bigger than your biggest table, or no table has that many seats free. Each one implies a different fix.

  2. 2

    The shortfall is arithmetic, not a vibe. The amber bar names all three numbers — how many said yes, how many chairs the room has, and how many short that leaves you — so you know whether to add a table or ring the venue.

  3. 3

    Undo restores, it does not re-run. The panel snapshots every guest's table before it posts, and Undo sends that exact set straight back. It is a restore of the plan you had, not a second guess by the planner.

  4. 4

    A party is atomic. An invitation confirmed for five needs five free chairs at one table. That is why the biggest parties are seated first — leave the party of six until last and there is nowhere left that can take all six.

Your hand-made seating survives the button

Auto-seating keeps the tables you set yourself and consumes their chairs first, so it only fills what you left empty. A guest you placed by hand keeps their table even when that makes the table over-filled: the host put them there, and silently moving someone is worse than showing a full table.

Nobody is dropped in silence

Anyone the room cannot take is handed back by name, with the size of their party and one of exactly three reasons: "no tables yet", "bigger than your biggest table", or "no table has that many seats free". Above it the panel does the arithmetic out loud — "84 people said yes and the room has 80 chairs. You are 4 short."

The same answer twice

Run auto-seating again on the same list and you get the same plan. Every tie in the ordering is broken on the same three keys in the same order, because a tool that produces a different chart each time is a tool you stop trusting after the second run.

Groups sit with groups

Guests who share their first tag — bride, work, cousins — are placed as one block into a table that can hold all of them, biggest block first. Anyone left over goes to the table already holding the most people who share one of their tags. Tags come from your spreadsheet: a column headed "tags", "group" or "side" when you paste your guest list in.

What every guest gets, and what they never see

The whole point of building the plan is this page: a guest in a doorway, holding a drink, answering their own question. It is three lines long, it is read-only, and it stays switched off until you say otherwise.

The guest’s own table, reached from the “Find your table” link on their invitation. No login, no account, no app — and no Picsui sign-up prompt anywhere on the page.

  1. 1

    First names only, ever. Never a surname, an email, a tag or an RSVP. Anyone who declined is left out of the chips entirely, and the list stops at 40 names — enough to find your seat, not enough to reconstruct the guest list.

  2. 2

    The invite token is the whole address. The page never accepts an invitee id, an event id or a table id from the caller, so one guest cannot read another's seat. It is the same link the invitation came on.

  3. 3

    Read-only, on purpose. A guest can see their table and can never choose, swap or request one. There is no guest-side write route in the seating API at all.

  4. 4

    Off until you turn it on. Guest lookup starts switched off. Until the host presses “Let guests find their table”, every guest gets the right-hand screen — and it says the same thing whether you have not published or have not seated them, because a guest cannot act on the difference.

There is no seating email and no separate guest link to send. The lookup lives on the invitation your guest already has — the same link that took their RSVP.

The first thirty seconds

A table is a name, a number of chairs and a label. Nothing else — and until one exists, the button that fills the room is greyed out.

A brand-new plan. “Seat everyone” is greyed out until at least one table exists — step one is not optional.

  1. 1

    A table is three things. A name, a number of chairs between 1 and 60, and one of four shape labels — Round, Long, Top table or Bench. The range is a database constraint, not just a form rule.

  2. 2

    Ten tables in one action. “Add 10 of them” creates Table 1 to Table 10 at the chair count you set, numbering from the first free number and skipping any name already used. A single bulk add is capped at 60 tables.

  3. 3

    Names are unique per event. Case and spacing are ignored, so a second “Table 4” comes back as “There is already a table called Table 4.” rather than quietly creating a duplicate.

  4. 4

    Shape is a label, not a floor plan. It names the table so you recognise it; it does not draw the room. There is no drag-around canvas and no printable floor plan in the product, and this page will not pretend otherwise.

The numbers, so you can check them

Every limit the seating chart has, written down. Most of them are enforced in the database rather than in a form, which is the difference between a rule and a suggestion.

1–60 chairs per table
Checked in the database, not just the form, so an import cannot sneak a 400-seat table past it.
1–60 characters for a table name
Unique per event, ignoring case and surrounding spaces. A duplicate comes back as “There is already a table called Table 4.”
60 tables in one bulk add
The "Add 10 of them" button numbers from the first free number and skips any name already taken.
40 tablemates listed to a guest
First names only, and anyone who declined is left off the list entirely.
2,000 assignments per save
Seating a room of 200 is a dozen database statements, not two hundred: moves are batched one per destination table.
Four shape labels, no floor plan
Round, Long, Top table and Bench are names for a table, not geometry. Nothing here draws your room.

What it deliberately does not do

Worth knowing before you start, and worth saying out loud. If one of these is the thing you need, another tool is the honest answer.

No floor plan and no printable chart

You cannot drag tables around a picture of the room, and there is no chart or place-card export. The seating plan is a list of tables and who is at each one — which is what the guest lookup and the door check-in need.

No seat numbers inside a table

A guest is seated at "Table 4", not at chair 3 of Table 4. Nothing in the product assigns a specific chair.

No "never sit these two together" rules

The planner keeps parties whole and groups tags together. It has no concept of a feud, so the tables where that matters are the ones you set by hand — and auto-seating leaves them alone.

No replan-from-empty button

The only auto-seat there is keeps your hand-made tables. There is no control that clears the room and starts over, so "Seat everyone" can never quietly undo an evening’s work.

No email that sends a guest their table

The lookup hangs off the invitation link a guest already has. Nothing sends a separate seating email.

No live sync between two open tabs

The panel refreshes in response to your own actions. If you and your partner are editing at once, reload before you trust what you are looking at.

The seating plan reads your replies

Seating is not a separate spreadsheet you keep in step by hand. It sits on the same guest list that sent the invitations and took the replies, so the number of chairs a party needs is the number that guest confirmed — not the number you originally offered them. Someone who declined does not take a chair, and a guest who changes their answer changes the plan. How invitations and RSVPs work.

Your plan is never held hostage

Editing the seating chart needs a live Event Pass. Opening it never does. If your pass lapses mid-planning you can still read every table and every guest you placed — the lock is on writing, not on looking, because locking someone out of the work they already did is not a paywall. The message the app shows says exactly that: everything you have already added stays exactly where it is.

Questions couples ask

How does the auto-seating decide who sits where?

In a fixed order. Only guests who replied attending are seated. Anyone you placed by hand keeps their table and their chairs are counted first. Then tagged groups are placed as blocks, biggest block first, into a table that can hold the whole block. Everyone left is placed biggest party first into the table already holding the most people who share one of their tags, with ties going to the tightest fit so the last few chairs in the room are not scattered one per table.

Will auto-seating undo the tables I set by hand?

No. Assignments you made yourself are kept and their chairs are consumed before anything else is placed, so auto-seating only fills what you left empty. It keeps them even when that leaves a table over-filled, because you put those people there on purpose. There is no button anywhere that clears the room and replans it from scratch.

What happens to guests it cannot place?

They are handed back to you by name, with the number of chairs their party needed, and they stay in the list of guests with no table yet. They are never silently left off the chart. Each one carries one of exactly three reasons — "no tables yet", "bigger than your biggest table", or "no table has that many seats free" — because each implies a different fix, and the box ends "Add a table or make one bigger."

How do I know whether the room is big enough at all?

The panel says it in one sentence as soon as it is true: "84 people said yes and the room has 80 chairs. You are 4 short." Above that, four counts sit across the top of the plan at all times — Tables, Chairs, Seated and Still to seat — so the gap between what your venue offers and who accepted is never something you have to work out yourself.

Does a guest who declined still take up a seat?

No. Someone who said they cannot come holds nothing. If they said no after you had already seated them, they stay visible at their table with a red "Said no" badge, and a note under the guest list explains they are left there so you can take them off deliberately rather than having them vanish. A guest who has not replied yet is different: if you have seated them, those chairs are treated as spoken for.

Can a family of five end up split across two tables?

No. A party is atomic: an invitation confirmed for five needs five free chairs at one table or it is not placed there at all. If no single table can take them, they come back on the unplaced list rather than being divided between two. The number of chairs a party needs is the number that guest confirmed, not the number you originally offered them.

Where do the tags that group people together come from?

From your spreadsheet. When you paste your guest list in, a column headed "tags", "group" or "side" is read as tags, and the first tag on a guest is the one seating groups by. There is no tag field in the "Add a guest" form, so a guest you type in by hand has no tags until you paste them in — if grouping by side or table party matters to you, keep that column in the sheet you paste.

Can guests see where they are sitting?

Yes, once you turn it on. Guest lookup starts switched off, and the button that flips it reads “Let guests find their table”. Until you press it, every guest who taps through sees “Your table is not set yet”. After it, their invitation link answers the question themselves in a doorway without asking anyone: their table, how many places are kept for them, and the first names of their tablemates.

What exactly does a guest see about the other people at their table?

First names, and nothing else. Never a surname, never an email, never a tag or an RSVP — enough to find your seat and not enough to reconstruct the guest list. Anyone who declined is left off entirely, and the list stops at 40 names. The page is also noindex, and its link preview deliberately carries neither the guest's name nor the event's, because that link gets pasted into group chats.

Can guests choose or change their own table?

No. The guest view is read-only — there is no guest-facing write anywhere in the seating API. Seating is the host's decision, and a guest link that could move a chair would move the wrong one.

Who else can open my seating plan?

Only you. Both seating routes check the signed-in account against the event before they answer, and a table id sent from a browser is re-checked against your event before anyone is seated at it. A guest's link resolves to exactly one guest and their own table — it will not answer for anybody else's.

What happens if I delete a table?

The guests sitting there go back to the list of guests with no table yet — they are never deleted with it. The confirmation says so before you press it: “Remove Table 4 from Amara & Tom? The 6 guests sitting there go back to the unseated list.”

Is the seating chart drag-and-drop?

No, deliberately. Assignment is two taps: pick a guest, pick a table. It works with a thumb on a phone, and it works with a keyboard — which browser drag-and-drop does not. The same two controls are two Tab stops and an Enter, every guest row reports whether it is selected, and the bar that appears when you pick someone is read aloud as “Seating Priya Shah. Choose a table.”

Can I lay tables out on a floor plan, or print a chart?

No. Shape is a label on a table, not a position in a room: there is no canvas to arrange tables on, and no printable chart or place-card export. What the plan produces is the list your guests look themselves up in and the list you work from at the door.

What are the limits?

A table has between 1 and 60 chairs and a name of 1 to 60 characters, unique within the event. One bulk add creates up to 60 tables. A guest is shown up to 40 tablemates. A single save carries up to 2,000 assignments, batched one statement per destination table, so seating a room of 200 is a dozen database writes rather than two hundred.

What happens to my seating plan if my pass expires?

You keep reading it. Editing the plan needs a live Event Pass, but opening it never does: a host whose pass lapsed can still see every table and every guest they already placed. Locking someone out of data they already collected is not a paywall. The message you get when you try to edit says the same thing — everything you have already added stays exactly where it is.

What does the seating chart cost?

It is part of an Event Pass at $39, paid once, with no subscription. The same pass carries the invitations and RSVPs the seating plan reads from, the guest list, the photo gallery and the digital guestbook.

Seat the room, then keep the photos

Invitations, replies, the guest list, the seating plan, the door and every photo your guests take on the day — one Event Pass at $39, paid once, with no subscription.