The tool you need, ready to use

Seating Chart Generator

Paste your class list, set the rows, columns and desk layout, and press Seat the class to place students at random on a classroom chart. It keeps rules such as students to separate, front seats, boy-girl pairs and past neighbors, then reveals the chart with a countdown and lets you print it or save an image.

Last updated 2026-10-23All math stays in your browser
Make a roster from numbers
#

You can paste a name column straight from a spreadsheet. A number column is skipped. A gender column, or /M and /F after a name, is used only for gender colors and gender seating. For .txt, .csv and .xlsx files, names are read from the first sheet.

Draw code —

Last updated 2026-10-23Your inputs are not stored

ROBERIN standardThe tool you need,
ready to use.
  • Clear at a glanceInputs and results sit where you expect them.
  • Result firstThe key number comes first; the working only when you need it.
  • Ask lessNo sign-up and no unnecessary details.

Paste your class list, press “Seat the class”, and get a random seating chart

The seating chart generator places your students at the desks of a classroom plan at random. Paste the names into the roster box, one per line, set the rows, columns and desk layout to match your room, and press Seat the class. The seats are decided at the moment you press the button, and every result carries a 12-character draw code so you can bring back the same chart later.

It also keeps the rules that pure chance cannot. You can list students who must sit apart, buddies who should sit close, and students who need a front seat for vision or hearing. You can choose boy-girl pairs or “boys left, girls right” seating, and avoid pairing the same neighbors as last time. After seating, a check bar under the chart shows whether each rule was met. Then you can reveal the chart with a countdown or one name at a time, and print it or save it as an image.

Why use a tool, and when it helps

When the teacher picks every seat, someone asks “why am I next to her?” When students pick, friends cluster and a few students are left until last. If you announce the rules first and draw on a screen everyone can see, the draw code lets the class check that you did not steer the result. Research also suggests matching the layout to the lesson. Wannarka and Ruhl (2008) reviewed eight studies of primary and secondary pupils and found that on-task behavior was higher in row seating during individual work, with the biggest gain among students who often disrupted lessons.

  • Monthly or term-by-term changes: turn on “Avoid past neighbors” and the generator shuffles so that no one sits beside a neighbor from the last 1 to 3 charts.
  • The first chart of the year: when you do not know the students yet, use “Make a roster from numbers”, enter only roll numbers, and seat them.
  • Switching to group work: change the layout to groups of 4 and turn on “Pick group leaders”, and one student per group is marked as leader.
  • Exam seating: choose single rows and no gender rule to get a seating plan for a test.
  • Tutoring, clubs and workshops: any list of people and desks works the same way. If you only need to split people into teams, the random team generator is faster.

How to use it

  1. On the Roster tab, paste names one per line. You can copy a name column from a spreadsheet, or load a .xlsx, .csv or .txt file. To use gender rules, add /M or /F after a name.
  2. On the Desks tab, set rows (front to back) and columns (left to right) between 1 and 15, then pick a desk layout. Click a desk on the chart to turn it off if your room has no desk there, and use Move desks to drag desks into your real room shape.
  3. On the Rules tab, enter who to keep apart, who to seat close together and who to seat in front, then choose gender seating and “Avoid past neighbors”. To lock one student in a seat, use the Fixed seat tool above the chart and click that desk.
  4. Choose a reveal style above the chart (now, 5 s, 10 s, one by one, or click each seat) and press Seat the class.
  5. Check the bar under the chart to see whether every rule was met. To fix two seats you do not like, use Swap two seats, and to go back, press ↶ Previous chart.
  6. Show it full screen, then print it, save an image or copy it as a table. To reuse the class, give it a name and save it on the Save tab.

Five desk layouts and what they suit

The layout decides how desks are placed on the grid of rows and columns. The table below uses 5 rows × 6 columns and shows the number of seats and the number of side-by-side pairs, meaning desks that touch in the same row. These are the pairs that boy-girl mixing and “Avoid past neighbors” look at.

LayoutHow desks are placedSeatsSide-by-side pairsGood for
Single rowsOne desk at a time, evenly spaced3025Individual work, tests
PairsTwo desks together, an aisle between pairs3015Regular lessons, partner work
TriplesThree desks together, an aisle between3020Three-person tasks
Groups of 4Desks gathered 2 × 2 with space between groups3015Group discussion, projects
U shapeOnly the two end columns and the back row143Debates, presentations

With groups of 4, there is a gap of about 0.7 desk widths between groups, which puts even the nearest desk of the next group outside the 1.2-desk distance used for “close”. So “seat close together” in practice means the same group, and “keep apart” means different groups. The U shape appears only with 3 or more columns and 2 or more rows, and because the middle is left open it has far fewer seats for the same grid. If you run short of seats, use Add a desk or Add seat above the chart and drag the new desk where you want it.

How the rules are applied

With no rules, the roster is shuffled and placed at the desks in order. With rules, the generator starts from a random chart, tries swapping two seats, keeps the swap if the penalty gets lower or stays the same, and repeats this thousands of times. It restarts from a new shuffle up to 14 times and keeps the chart that breaks the fewest rules. The penalty is the sum of the weights below. Heavier rules are usually kept first. Because the weights are added up, though, a chart that breaks the boy-girl rule (6) or past neighbors (4) very many times can count as worse than one that breaks a single keep-apart pair (100).

RuleCounts as met whenWeight (per break)
Fixed seatRemoved from the draw and seated at that desk directlyAlways kept
Keep apartThe students are not within 1.2 desks of each other in front, behind, beside or diagonally100
Seat close togetherThe first student and the others are within 1.2 desks100
Seat in the frontSeated in the first row (or first 2 or 3 rows)100
Column set to boys only or girls onlyOnly the chosen gender sits in that column100
Boys left / girls left / checkerboardThe set gender sits in each seat30
Boy-girl pairsSide-by-side pairs are of different genders6
Avoid past neighborsNot beside the same person as in recent charts4

The sample on the first screen seats 24 students at 5 rows × 6 columns of paired desks, keeps Liam and Noah apart, puts Isabella in the front row and mixes boys and girls in each pair. With 12 boys and 12 girls, all 12 pairs are boy-girl, and the 6 spare seats are empty at the back. If a name in a rule is not in the roster, or the same name appears twice, a notice appears on the Rules tab, so tell students with the same name apart, for example “Alex A” and “Alex B”.

Five gender seating options and column settings

Gender rules read /M or /F after a name (also male, female, boy, girl, man or woman), or a gender column pasted from a spreadsheet. When gender is marked, desks are tinted light blue (boys) and pink (girls), and you can turn this off with Gender colors above the chart. Column 1 is the leftmost column from the point of view of students facing the teacher's desk.

Gender seatingSeat ruleOne row of a 6-column room
No gender ruleGender is ignoredRandom
Boy-girl pairsOnly desks that touch are boy-girlOne boy and one girl per pair (left or right at random)
Boys left, girls rightAlternating boy, girl from column 1B G B G B G
Girls left, boys rightAlternating girl, boy from column 1G B G B G B
CheckerboardAlternates front to back and side to sideOdd rows B G ..., even rows G B ...

To set one column, click the column number above the chart (1, 2, ...). Each click cycles through no limit, boys only and girls only, and a column setting is applied before patterns such as “boys left, girls right”. If the number of boys and girls does not match the number of set seats, the leftover seats have to go to the other gender, and the gender note on the Rules tab tells you in advance how many.

Avoiding past neighbors and the new-pair ratio

If you change seats many times in one class, the same pairs keep meeting again. Under Avoid past neighbors, choose the last chart, the last 2 charts or the last 3 charts, and the generator shuffles so that two people who sat side by side in those charts do not sit side by side again. In a 5 × 6 room with pairs there are 15 side-by-side pairs per chart, and 30 students can form 435 different two-person pairs, so even avoiding the last 3 charts (up to 45 pairs) leaves plenty of choices. After seating, the bar in the check strip shows how many of this chart's pairs are new.

Only charts made in this browser count, and the same history that powers “Previous chart” keeps the last 10. To continue on another computer, move the history inside the settings file on the Save tab. If strong gender or front-seat rules are set, “Avoid past neighbors” is the first to give way, so when the new-pair ratio is low, relax another rule or seat the class once more.

Reveal styles and the suspense effect

RevealWhat happensTime for 24 students
Show nowAll seats flip over like a wave, from the front row back1 to 2 seconds
Reveal in 5 s or 10 sWhile the number counts down, names shuffle quickly on the desks and a heartbeat sounds every second; in the last 3 seconds the chart shakes and a ticking sound is added5 or 10 seconds
One by oneSeats open in random order, one at a time (0.26 to 0.9 seconds per seat, faster for larger classes)About 14 seconds (0.58 seconds per seat)
Click each seatAll seats appear covered, and a student comes up and clicks a desk to open itUp to you

If you turn off the suspense effect, names stop shuffling during the countdown and only the number counts down, and turning off sound makes it silent. If your device is set to reduce motion, desks do not shuffle or flip, and only the number and the result change. To see the result at once during a countdown, press Show now in the overlay or press Esc.

The draw code and randomness

When you press Seat the class, the browser's cryptographic random source (crypto.getRandomValues) makes a 12-digit hexadecimal draw code. There are 1612 = 281,474,976,710,656 possible codes. A sfc32 random number generator seeded with that code shuffles the roster and the empty desks with the Fisher–Yates method, and the same generator picks the two seats to try swapping while meeting the rules. So with the same roster order, desks and rules, the same code gives the same chart every time. With Avoid past neighbors on, the list of pairs to avoid is part of the result, so only codes still in this browser’s last 10 charts come back exactly the same.

To show students that the result was not touched, write the draw code on the board, and if anyone doubts it, enter it under Replay with a draw code on the Save tab and check that the same chart appears. The code is only a key to rebuild the chart, not a certificate of fairness, and adding one name to the roster or changing one rule line gives a completely different result.

Seating by numbers only, and loading files

At the start of the year, when typing names is a chore, use Make a roster from numbers on the Roster tab. Enter the last number (for example 28) and the numbers to skip (for example 7, 15 for students who left), press Add numbers, and “#1” to “#28” without the skipped ones, 26 entries, go into the roster. When you use a spreadsheet roster, the number column and headers such as “Name” and “Gender” are ignored, only the names are read, and a gender column becomes a gender mark. CSV files saved by older versions of Excel in the Windows “ANSI” encoding (Windows-1252) are read automatically, and for .xlsx only the first sheet is used.

Presenting, posting and keeping: full screen, print, image, copy

  • Full screen: shows only the seating button and the chart. The text bar scales names from 60% to 220%, and Flip view puts the teacher's desk at the bottom for the teacher's view.
  • Print: prints just the chart on one landscape A4 page with the chart name, the date and the draw code. Handy for the classroom wall.
  • Save image: saves the same content as a PNG to send through your class messaging app.
  • Copy table: copies tab-separated rows, so pasting into a spreadsheet or a document table keeps the rows and columns.
  • Find my seat: type part of a name and that student's seat is highlighted with its number.

Common mistakes

  • More names than seats: if desks are turned off, or the layout has few seats such as the U shape, seating is refused. Check the count above the roster (“n names · n seats”) first.
  • A rule name does not match the roster: “Liam” and “Li am” are different names. When the Rules tab shows “Names in the rules but not in the roster”, fix the spelling.
  • A fixed-seat student is not in the roster: fixed-seat names must match the roster. After pasting a new roster, check the fixed seat list again.
  • Spare seats appear at the front: if “If there are fewer names, leave the extra seats at the back” is off, empty seats can appear anywhere.
  • Column numbers look reversed: in the teacher's view (Flip view), column 1 appears on the right. Column settings and “boys left, girls right” always follow column 1 from the students' point of view.
  • The roster stays on a shared computer: the roster is saved in the browser automatically, so on a computer others use, clear it with Start over on the Save tab.

Limits of this tool

  • Rules are found by thousands of seat swaps, so if rules conflict or are very tight, it may not find a chart that meets all of them even when one exists. The broken rules are shown in the check bar, so seat the class again or loosen a rule.
  • “Close together” and “keep apart” are judged only by the distance between desks on the chart (1.2 desks). It does not know about pillars, windows or aisle widths, so use Move desks to make the chart look like your room if you want the judgment to be accurate.
  • Gender is read only from the M or F marks on the roster and is never guessed from a name. A person without a mark is treated as “unmarked” in gender rules, and sitting in a seat set for a gender costs only a small penalty.
  • Rosters and history are stored only in this browser, and they are lost if you clear browser data or switch devices. Keep a settings file as a backup.
  • The tool does not certify that a draw is fair, and the teacher's judgment comes first for seating decisions that depend on a student's personal circumstances.

As of 2026-10-23. The seating research conclusion, the random number method and the file formats were checked against the original sources below. The seat counts and times in the tables are values from this tool's own calculation.

Sources

Frequently asked questions

What happens to the spare seats if there are fewer students than seats?

With "If there are fewer names, leave the extra seats at the back" on, the empty seats go to the back row. Seating 24 students in 5 rows × 6 columns (30 seats) fills the first 4 rows and leaves 6 seats empty in row 5. If you turn the setting off, empty seats appear anywhere at random. To leave one particular seat empty, click that desk on the chart to turn it off.

How far apart does Keep apart put two students?

It stops the two from sitting in front, behind, beside or diagonally next to each other. If you list three or more names on one line, the same rule applies to every pair in that group. If the room makes it impossible, you get the chart that breaks the fewest rules, and the check bar and status line show which pairs were broken.

How do I do boy-girl pairs or boys left, girls right?

Add /M or /F after each name, or paste a gender column from a spreadsheet, then pick Boy-girl pairs, Boys left, girls right, Girls left, boys right or Checkerboard under Gender seating on the Rules tab. You can also click a column number above the chart to make that column boys only or girls only. If the counts do not match the set seats, the leftover seats go to the other gender.

Can I stop students from sitting with the same partner again?

Yes. Under Avoid past neighbors on the Rules tab, choose the last chart, the last 2 charts or the last 3 charts, and two students who sat side by side in those charts will not be put side by side again. Only charts made in the same browser count, and up to the last 10 are kept. If the room makes it impossible, the check bar shows how many pairs are new.

What is the draw code and how do I use it?

It is a 12-character code made each time you press Seat the class. With the same roster, desks and rules, the same code always gives the same chart, so you can enter it under Replay with a draw code on the Save tab to show students that you did not touch the result. If you change the roster order or the rules, the same code gives a different chart. With Avoid past neighbors on, a chart can be replayed exactly only while it is among this browser’s last 10 charts.

Can I paste a spreadsheet class list directly?

Yes. Copy the name column and paste it in, or load a .xlsx, .csv or .txt file. A number column and headers such as Name are skipped, a gender column is read as a gender mark, and CSV files saved in the Windows ANSI encoding (Windows-1252) are read too. To seat by roll number alone, use Make a roster from numbers with the last number and any numbers to skip.

Where are the roster and charts stored?

They are not sent to a server and stay in this browser's storage only. The last state is saved automatically, you can save up to 20 named charts, and you can download a settings file to continue on another computer. On a shared computer, it is safer to press Start over when you finish.

How do I show the chart on a smartboard or TV?

Press Full screen at the top right of the chart to show only the chart and the seating button. The text bar changes name size from 60% to 220%, and Flip view puts the teacher's desk at the bottom for the teacher's view. To post it on paper, press Print and the chart alone comes out on one landscape A4 page.