{{ summaryTitle }}
{{ summaryValue }}

{{ summaryLine }}

Layout{{ resultsReady ? computation.values.layout_label : '—' }} Placement{{ placementLabel }} Review{{ resultsReady ? reviewLabel : '—' }}
Classroom roster and seating plan inputs
Use one name per line, or CSV rows in ID, Name, Group order. Empty lines are ignored.
{{ rosterFileStatus || 'Drop one CSV or TXT file onto the roster field.' }}
Auto detect resolves to CSV when a row contains multiple parsed fields; pin a format when commas are part of names.
Use a concise class or period label, up to 120 characters.
Grid seats use A1 labels; table-group seats use T1S1 labels.
Group spread rotates CSV group labels where possible; it does not make pedagogical or behavioral recommendations.
Use a stable class/week label for a repeatable version.
Use one seat = name line at a time, such as A1 or T2S3. Leave blank for no fixed seats.
Separate compact seat labels with commas or line breaks. Leave blank to keep every seat usable.
Leave blank to use “Front of room.”
Keep and flag preserves every source row and adds an audit note.
Compact uses A1/T2S3; descriptive spells out the row or table position.
Group and ID values come from CSV input; source identifies fixed or ordered placement.
{{ header }}Copy
{{ row.label }}{{ cell.seat_label }}{{ cell.student_name || cell.status_label }}{{ cell.detail }}
{{ chart_title || 'Classroom seating plan' }}

{{ frontLabelDisplay }}

The chart renderer is unavailable. The same counts remain in the summary and placement audit.

CheckStatusDetailCopy
{{ row.check }}{{ row.status }}{{ row.detail }}

A seating chart turns a class roster into a shared map of where people will sit. It is most useful when the map makes capacity, unavailable desks, and intentional exceptions obvious before the class enters the room.

Room geometry matters. A row-and-column plan suits individual desks, while a table plan represents shared groups with numbered positions. In either layout, labels need a stable direction so that a name such as A1 or T2S3 points to one physical seat every time the chart is used.

Ordering is separate from placement quality. Roster order and alphabetical order are predictable but may preserve an accidental pattern. A seeded shuffle produces a repeatable variation. Rotating existing group labels can reduce immediate repeats, but it cannot decide which students should sit together or account for accessibility, behavior, vision, hearing, safety, or teaching goals.

A dependable handoff preserves a few facts that are easy to lose during manual rearrangement:

  • blocked positions do not count as usable capacity;
  • fixed assignments take precedence over the remaining ordering rule;
  • duplicate names are distinguishable rather than silently mistaken for one person;
  • overflow remains visible instead of disappearing from the plan;
  • the same roster, layout, options, and seed recreate the same randomized version.

The finished chart is a planning aid, not a recommendation about learners. A teacher or room owner still needs to compare it with the actual space and make any educational, accessibility, supervision, or emergency-route adjustments.

How to Use This Tool:

Start with the room layout and the roster format that best preserve the information needed for the handoff.

  1. Paste names into Roster, or load a local CSV or text file. Choose Plain names when commas belong inside names; CSV rows may contain ID, Name, and Group values.
  2. Select Rows and columns or Table groups, then enter the physical row, desk, table, and seat counts. The generated seat labels become A1-style grid positions or T1S1-style table positions.
  3. Choose the Placement mode. Enter a stable Placement seed for seeded random or group-spread versions that must be reproduced later.
  4. Add Fixed seats as one seat = name line and list unavailable positions under Blocked seats. Review duplicate-name handling before relying on name-only assignments.
  5. Read Room plan and Placement audit together. Resolve missing seats, unmatched fixed names, duplicates, and unassigned roster entries before printing or handing off the plan.

Interpreting Results:

Seat use separates assigned, open, blocked, and overflow counts. An open seat is usable but unfilled; a blocked seat was deliberately removed from capacity; overflow means a valid roster entry could not be placed.

Treat Placement audit as the readiness check. A clear audit confirms that the stated rules produced a complete plan, but it does not confirm that the arrangement is suitable for the real room or the learners. Walk the room and verify fixed positions, access needs, sight lines, and exits before use.

Technical Details:

Placement begins with a normalized roster and a finite seat inventory. Empty source lines are ignored. CSV can supply an ID, name, and group; name matching ignores case, accents, and punctuation so that visually similar entries can be flagged as duplicates.

Formula Core: Capacity counts

Grid capacity is rows multiplied by desks per row. Table capacity is tables multiplied by seats per table. Blocking a position reduces usable capacity before any names are placed.

Ntotal=Nrows×Npositions Nusable=NtotalNblocked Nunassigned=max(0,NrosterNusable)

The row count is 1 to 12 and each grid row has 1 to 12 desks. A table layout accepts 1 to 16 tables with 1 to 12 seats each, so the largest supported inventory is 192 positions. At least one position must remain usable. A parsed roster may contain up to 500 usable names.

Rule Core: Placement order

The rule order prevents later steps from overriding deliberate constraints.

Ordered seating placement rules
StageRuleVisible consequence
1Build A1-style grid seats or T1S1-style table seats.Every later constraint resolves against one inventory.
2Mark valid blocked positions as unavailable.Unknown labels create review notes; blocking every seat stops generation.
3Apply valid fixed seat = name assignments.Blocked, unknown, repeated, or unmatched requests remain warnings.
4Order the remaining roster by source, alphabetically, seeded shuffle, or seeded group rotation.Fixed students are removed before open seats are filled.
5Fill open positions in inventory order until names or seats run out.Unused positions remain open; excess names become overflow.

Group spread first applies the seeded shuffle, then repeatedly chooses a non-empty group that differs from the previous group when possible. Ties favor the larger remaining group and then the group label. This is a deterministic spacing heuristic, not an optimization of learning, behavior, or safety.

A blank seed in either seeded mode is replaced by a stable value derived from the chart title, parsed roster size, and seat count. Ordered and alphabetical modes ignore the seed. Counts and seat assignments are not rounded.

Privacy Notes:

The roster and local CSV or text file are processed in the browser; the page does not upload or store them. A shared page link can carry the current roster and settings, however, so do not share a link containing student names, IDs, groups, or other sensitive information.

  • Use the least identifying roster detail needed for the handoff.
  • Check copied or downloaded charts before placing them in shared folders.
  • Prefer IDs or numbered duplicate names when two students share the same normalized name.

Worked Examples:

Fixed seat beside a blocked desk

For two tables with two seats each, fixing Mia at T1S1 and blocking T2S2 leaves three usable positions. A three-name roster fills all three, the plan marks T2S2 as blocked, and the audit reports one fixed assignment with no overflow.

Roster larger than the room

A 5 by 6 grid has 30 total positions. If two desks are blocked, only 28 names can be seated. A 31-name roster therefore leaves three names in overflow; changing the ordering mode changes which names are unassigned, not the usable capacity.