Getting Started
Create your free account and sign in β it takes less than 60 seconds.
Open the app
Go to thebusbuddy.com/seatingchart/bus-seating-chart.html in any browser on your phone, tablet, or computer. The app works best in Chrome, Safari, Firefox, and Edge.
Important: The app must be opened over the internet β not as a downloaded file β for login and cloud sync to work properly.
Create your account
On the sign-in screen, tap Create Account. Enter your full name, email address, and a password (at least 6 characters). Tap Create Account and you're in.
No credit card needed. The free plan is completely free and has no time limit.
Sign in next time
On return visits, tap Sign In, enter your email and password, and your routes load automatically. Your data is always saved in the cloud.
If you forget your password, enter your email and tap Forgot password? β a reset link will be sent to your inbox.
Want to try before signing up? Use the demo credentials on the sign-in screen: demo@busbuddy.app / demo123. The demo account has full Pro access.
Creating a Route
A route holds one complete bus seating chart. You can have multiple routes for different runs, drivers, or bus numbers.
Route info strip: Once you fill in your route details, the bar just below the app header will display them at a glance β Driver, Bus #, School, Route #, and Bus Type as labeled columns. Only fields with data are shown. Tap βοΈ Edit Route Info to update any of them.
Your first route is ready
When you sign in for the first time, a default route called Driver A is already created. You can start assigning seats immediately or edit the route details first.
Edit route details
Tap the βοΈ Edit Route Info pill button located just below "The Bus Buddy" title in the header. This opens the My Routes panel. Tap Edit on a route to update:
Once saved, the route info strip directly below the header automatically updates to display the current values for Driver, Bus #, School, Route #, and Bus Type as a clean read-only row β so all the key info is always visible at a glance without opening any panels.
Bus Type also controls the size of the seating chart:
Type A β Small bus, up to 30 seats (5 rows)
Type B β Mid-size, up to 42 seats (7 rows)
Type C β Full-size, 72 seats (12 rows) β most common
Type D β Extended, 84 seats (14 rows)
Tap Save when done. The seat map updates to match the new bus size.
Add more routes
In the My Routes panel, scroll to the bottom and tap + Add New Route. Fill in the driver name, bus number, school, and route number, then tap Create Route.
Free accounts support up to 5 routes. Pro gives you unlimited routes.
Choosing a Bus Type
The Bus Buddy supports 4 bus types matching real school bus classifications: Type A (30 seats), Type B (42 seats), Type C (72 seats), and Type D (84 seats). Set the type when creating a route β the seating chart resizes automatically. For Type A and B you can also fine-tune the row count with a slider.
Type A β Small Bus
Up to 30 seats (2β5 rows). Great for special education routes, small districts, or shuttle runs with fewer students.
Type B β Mid-Size
Up to 42 seats (4β7 rows). Common for smaller suburban routes or activity buses.
Type C β Full-Size β Most Common
72 seats (12 rows). The standard full-size school bus. This is the default for all new routes.
Type D β Extended
84 seats (14 rows). For large extended school buses or activity coaches with extra capacity.
Set bus type when creating a route
When you tap + Add New Route, you'll see a bus type selector. Tap the type that matches your bus, then use the slider to fine-tune the number of rows (for Type A and B). The seat count updates in real time as you adjust.
Not sure which type? Count the rows of seats on your bus from front to back. Multiply by 6 to get the total seat count.
Change bus type on an existing route
Tap the βοΈ Edit Route Info pill button in the header β tap Edit on the route β change the Bus Type β tap Save. The seat map will expand or contract to the new size. Any students already assigned to seats that still exist are kept β only seats removed by downsizing are cleared.
If you switch to a smaller type, students in the rows that get removed will be cleared. Make sure to export or note those assignments first.
Reading the L/R row labels
The seat map labels rows as L1βLN on the left (driver's side) and R1βRN on the right. The number of rows shown always matches your bus type β 5 rows for Type A, 7 for Type B, 12 for Type C, 14 for Type D.
Using the Seat Map
The Map tab shows your bus seating layout β 3 seats on each side of a center aisle. The number of rows depends on the bus type you selected (Type A: 30 seats, Type B: 42 seats, Type C: 72 seats, Type D: 84 seats).
Reading the seat layout
Rows are numbered L1βLN on the left side and R1βRN on the right side (N depends on your bus type). L = left (driver's side), R = right (window side). Column letters AβC are on the left, DβF on the right.
Tapping occupied seats
Tap any occupied seat (purple or pink) to open an action popup showing the student's name, seat label, and grade. From here you can:
Edit β pre-fills the student's details in the Student tab so you can update their name, gender, or grade.
Move to Empty Seat β tap this, then tap any empty seat to move the student there instantly.
Swap with Another Student β tap this, then tap another occupied seat to swap the two students' positions.
Remove Student β clears just this seat, making it available again.
Checking the stats
Below the seat map you'll see three stats at a glance: Total (always 72), Students (occupied seats), and Available (empty seats). The progress bar in the header also shows occupancy at a glance.
Assigning Students to Seats
The Student tab has two modes β Assign to Seat for placing one student at a time, and Roster for bulk random placement. Toggle between them at the top of the tab.
Select one or more seats
On the Map tab, tap any empty seat. It turns green with a checkmark β that means it's selected. You can tap multiple seats to select them all at once.
Tip: When you've selected seats, a floating button appears at the bottom of the screen showing how many seats are selected. Tap it to jump straight to the Student tab.
Fill in the student details
In Assign to Seat mode, enter the student's name, select their gender (Male or Female), and pick their grade (K through 12).
FROM ROSTER shortcut: If you've already added students to the Roster, their names appear as quick-tap chips below the name field. Tap any chip to instantly fill in that student's name, gender, and grade β no retyping needed.
Tap Add Student
Tap the Add Student button at the bottom. The student is instantly assigned to all selected seats, returned to the Map tab, and automatically added to the Roster if they aren't already there.
Your chart saves automatically within a couple seconds β you'll see a brief "savingβ¦" in the header. No manual save needed.
Removing a student from a seat
Tap the occupied seat on the Map tab and choose Remove Student from the popup. Or go to the List tab and tap the red Clear button next to their name. The seat immediately becomes available again.
Using the Roster
Build a student list first, then let the app place everyone randomly in one tap β with optional grade filtering so you control exactly who gets placed.
Add students to the Roster
Go to the Student tab and tap Roster at the top toggle. Enter a student's name, select their gender and grade, then tap + Add to Roster. Repeat for each student. Students are also added to the Roster automatically whenever you assign them via the Assign to Seat mode.
The Roster and Assign to Seat mode stay in sync β adding a student either way makes them available in both places.
Filter by grade (optional)
Above the Place button you'll see a PLACE BY GRADE section. Grade chips appear for every grade that has at least one student in the Roster. Tap one or more chips to select them β only students in those grades will be placed. Leave all chips unselected to place everyone.
Active grade chips are highlighted. Tap Clear filter to reset.
Place students randomly
Tap π² Place N Students Randomly. The app shuffles the available seats and assigns each matching roster student to a random empty seat. Placed students are removed from the Roster automatically. If a grade filter is active, the button label updates to show the filtered count and reads (Filtered).
If there aren't enough empty seats, you'll get a warning showing how many are available vs. how many students need placing.
Return All to Roster
On the Map tab sidebar, tap β©οΈ Return All to Roster (N) to pull every currently seated student off the bus and put them back in the Roster list at once β seats become empty again. This is useful when you need to completely rearrange seating without losing your student data.
Students already in the Roster won't be duplicated β only new additions are appended.
Clearing Seats
Need to wipe the whole chart and start fresh? The Clear All Seats button permanently removes all student data β a confirmation step is required.
Find the button
Scroll to the bottom of the Map tab sidebar. Tap ποΈ Clear All Seats (N) β the number in parentheses shows how many students are currently seated.
Confirm with the checkbox
A confirmation popup appears with a warning. You must check the box labelled "I understand this will permanently delete all student data from the app" before the Clear All button becomes active. Tap it to confirm β all seats are cleared immediately.
This cannot be undone. If you want to keep your student list, use β©οΈ Return All to Roster first β that moves students to the Roster instead of deleting them.
Viewing the Student List
The List tab gives you a full manifest of every assigned student, sorted by seat position from front to back.
Seat overview mini-map
At the top of the List tab is a small visual grid of all seats. Purple = male student, pink = female student, dark = empty. Hover or tap any cell to see the seat label or student name. The number of cells shown matches your bus type.
Reading the manifest
Each student entry shows their L/R row label, seat position, row number, and grade. For example: L3 β Seat A3 β Row 3 β Grade 5 means left side, row 3, first seat from the aisle.
Exporting & Saving
Pro accounts can export a CSV or save a full PDF seat chart. Perfect for substitute drivers or office records.
Export CSV
Downloads a spreadsheet with every student's seat label, row, name, gender, and grade. Open it in Excel or Google Sheets to sort and print.
Save as PDF
Generates a one-page PDF with the full visual seat map (color-coded L/R layout) and a complete student manifest below it. Ideal for leaving with a substitute driver.
Pro feature. Export buttons appear in the List tab. If you're on the Free plan, tap Upgrade to unlock exports.
Importing a Student List (CSV)
Already have a student list? Skip manual entry and import it all at once with a CSV file.
Format your CSV file
Create a spreadsheet with these columns. Seat and Name are required. Row, Gender and Grade are optional but recommended.
A1,1,Jane Smith,Female,5
B3,3,Tom Lee,Male,K
D7,7,Rosa Parks,Female,8
Seat format: AβF for column, 1β12 for row. So A1 = front left window, F12 = back right window.
Download our example CSV β 30 pre-filled students across a Type C bus. Open it in Excel or Google Sheets, swap in your students' names, then import it straight into the app.
β¬ Download Example CSVUpload in the app
Go to the List tab β tap π₯ Upload CSV. Paste your CSV text into the box and tap Import Students. The app reads each row and fills the seats instantly.
Pro feature. Upgrade to Pro to unlock CSV and PDF export.
Managing Multiple Routes
Keep separate seating charts for AM and PM runs, different drivers, or multiple buses β all in one account.
Switching between routes
Tap the route name in the header to open the My Routes panel. Tap Load on any route to switch to it. The colored dots in the header also let you switch with a single tap β the active route shows a wider pill.
When you switch routes, a notification bubble appears showing the school name of the route you just switched to (or the driver name if no school has been set). The small colored dots in the header also show the school name when you hover over them.
Deleting a route
In the My Routes panel, tap Del on any route. You cannot delete the last remaining route. Deletion is permanent β the seat data for that route is removed from the cloud.
Using Auto-Fill
Quickly populate empty seats with demo student data β useful for testing the layout or showing the app to others.
Pick a grade range
At the top of the Map tab you'll see three Auto-Fill buttons: Kβ5th, 6thβ8th, and 9thβ12th. Tapping one fills all remaining empty seats with randomly generated student names assigned to that grade range.
Auto-fill is great for demoing the app or stress-testing a layout. All auto-filled students can be cleared individually from the List tab.
Print Seat Labels
Hang a label above each seat on your bus so students always know exactly where to sit β no confusion, no arguments.
Export your CSV from the app
Go to the List tab in the Bus Buddy app and tap Export CSV. This downloads a file with every assigned student's seat, row, name, gender, and grade.
Open the Seat Label Printer
Go to the Seat Label Printer and upload or paste your CSV. The app instantly generates a printable label for every assigned seat, showing the seat position (L1, R2 etc.) and the student's name.
Customize before printing β choose the accent color to match your route color, add your route name as a header, and pick 2 or 3 labels per row to fit your paper size.
Print & hang above seats
Click Print Labels in the top right. Print on cardstock for best results, cut out each label, and tape or clip it above the corresponding seat on your bus. Labels show the seat position (e.g. L1 β 3 = left window, row 3) and the student's name in large bold text.
Laminate the labels for durability β they'll last the whole school year even with daily handling.
Tips & Tricks
Get the most out of The Bus Buddy with these power-user tips.
Add to Home Screen
On iPhone, open the app in Safari β tap Share β "Add to Home Screen." On Android, tap the browser menu β "Add to Home Screen." The app will open full-screen like a native app.
Light & Dark Mode
Tap the βοΈ / π toggle in the top-right corner of the app to switch between light and dark themes. Your preference is saved automatically.
Multi-Seat Assignment
Select multiple seats before going to the Student tab β the same student name will be added to all of them. Useful for siblings or students with a reserved zone.
PDF for Substitutes
Save a PDF from the List tab and keep it in the bus or email it to your dispatch office. It includes the full color-coded seat map and a sorted student manifest on one page.
Works on Any Device
Sign into the same account on your phone, tablet, and desktop. Your routes sync in real time β changes appear within seconds across all your devices.
Sign Out on Shared Devices
If you use a shared tablet or computer, always tap Sign Out in the top-right corner when you're done. Your data is tied to your account and stays protected.
Move a Student
Tap an occupied seat β tap Move to Empty Seat β tap any available seat. The student is transferred instantly without losing their name, grade, or gender.
Swap Two Students
Tap an occupied seat β tap Swap with Another Student β tap the second student's seat. Both students switch positions in one action.
Rearrange Without Losing Data
Before doing a big rearrangement, tap Return All to Roster on the Map tab. This empties all seats but keeps every student in the Roster so you can re-place them fresh.