WSWorker's Studio
🪑

Seating chart generator

🔒 Runs locallyStudents & teachers

Fill a row-by-column seating grid from a name list.

The seating chart generator takes a pasted list of student names and arranges them into a grid of the row and column count you set, filling either by row or by column, with an optional shuffle before placement — export the result as a CSV to print or share.

Share

LINEFacebookXThreads

How to use

  1. Paste one name per line, and set the number of rows and columns.
  2. Choose "Fill by row" (left-to-right, row by row) or "Fill by column" (top-to-bottom, column by column) — they place names in a different order.
  3. Turn on "Shuffle order" to randomize before filling, or leave it off to keep the list's original order.

Common use scenarios

  • Assigning seats for a new class or after a room change.
  • Randomizing a seating arrangement periodically through the term.
  • Producing a printable seating reference for a substitute teacher.
  • Testing a couple of different grid shapes before settling on a layout.

✓Content & verification reviewed: 2026-08-25

How we verify Seating chart generator

How to confirm the generated chart matches your class list correctly.

Rows × columns must cover every name, or nothing generates

The grid size you set needs at least as many seats as names in your list — if rows × columns is too small, the tool shows an error and generates nothing rather than silently dropping names, so check your grid dimensions against your class size first.

Duplicate names are blocked, not merged or renamed

If your list has two names that match case-insensitively, the tool refuses to generate and asks you to fix the list first — it won't silently add a suffix or treat them as the same person, since that could hide a real data-entry mistake.

Fill by row vs. fill by column changes the reading order

"Fill by row" places names left-to-right within each row before moving to the next row, while "Fill by column" fills top-to-bottom within each column before moving to the next column — the same name list produces a visibly different arrangement depending on which you pick.

Before you rely on the result

  • Your rows × columns total is at least as large as your number of names.
  • You've checked the list for accidental duplicate names before generating.
  • You've picked fill-by-row or fill-by-column intentionally, since they place names differently.
  • You've decided whether to shuffle before placement or keep the list's original order.

Who this is for

  • Teachers assigning seats for a new class or after a room change.
  • Teachers who periodically randomize seating through the term.
  • Anyone producing a printable seating reference for a substitute.
  • Teachers testing a couple of grid shapes before settling on a layout.

Real-world examples

New class seating

A teacher starting a new term pastes the full class roster, sets the grid to match the classroom's actual desk layout, and generates a first-day seating chart.

Periodic reshuffle

A teacher who reassigns seats every month turns on shuffle and regenerates the chart from the same class list, giving students a new arrangement each time.

Substitute teacher handout

Before being away, a teacher exports the current seating chart as a CSV so the substitute has a reference for who sits where.

Limitations

  • Duplicate names (case-insensitive) are blocked entirely, and rows × columns must cover every name, or nothing is generated.

Frequently asked questions

What happens if my grid is too small for my class?

The tool shows an error instead of generating a chart — rows × columns needs to be at least the number of names on your list.

Why won't it generate when I have two similar names?

Names that match case-insensitively are treated as duplicates and blocked entirely, since that's often a sign of a typo or accidental duplicate entry that's worth fixing first.

What's the difference between fill by row and fill by column?

Fill by row places names left-to-right across each row before moving down; fill by column places names top-to-bottom down each column before moving across — the same list gives a different seat arrangement either way.

Do I have to shuffle the names?

No — shuffle is optional. Leave it off to keep your list's original order, or turn it on to randomize the arrangement before filling the grid.

🔒 Runs in your browser — nothing is uploaded. Results are for reference only; see the disclaimer. Last updated: 2026-08-25

Subscribe for updates

New tools and tips, straight to your inbox. No spam, unsubscribe anytime.