Planning · Free tool

School Bus Route Planner

Work out how many school buses you need for the morning run. Enter the number of students, seats per bus and planned load, route length and stops, and the time available before the bell. You get the number of runs, how many runs each bus can make, the buses needed with spares, the ride time of the first student picked up, and a departure timetable worked back from the bell.

  • Runs in your browser, no student data needed
  • Kilometers or miles
  • Formulas shown below
Students and buses
students

Students registered for the morning transport service. Example value.

seats

Excluding the driver and attendant seats. If bus sizes differ, plan each size separately.

% of seats

90% keeps a tenth of the seats free for new students and timetable changes. Never above 100%: one seat per student. Check your authority's current requirement.

% of operating buses

Ready buses that replace one that breaks down or is in maintenance. 10% is an example.

Route and run

Average across your runs. Take it from the map or from trip reports.

Actual speed with signals and traffic, not the posted limit.

stops

Pick-up points on one run, not the number of students.

min

From the bus stopping to students boarding, sitting down and the bus moving off.

min

Students getting off and the seat check before the bus leaves.

From school to the first stop of the second run. Has no effect if a bus makes one run.

Time available
min

From the earliest pick-up the school accepts to the bell. Sets how many runs each bus can make.

How this is calculated
Run capacity = round down (seats × planned load) Runs needed = round up (students ÷ run capacity) Ride time = route length ÷ speed × 60 + stops × time per stop Run cycle = ride time + unloading time Empty return = return distance ÷ speed × 60 Runs per bus = round down ((window + empty return) ÷ (run cycle + empty return)) Operating buses = round up (runs needed ÷ runs per bus)

Full method below.

Buses and runsBased on values entered

Share the plan with the school and your transport supervisor

A report with inputs, buses, ride time, timetable and method.

School transport plan report

Get the plan report for your transport team

  • Student, bus and route inputs
  • Runs, operating buses and spares
  • Student ride time against your limit
  • Departure timetable and runs-per-bus options
  • Method and next steps

What does the school bus route planner calculate?

It answers two questions every school transport operator asks before the year starts: how many buses do I need to get students in before the bell, and how many minutes does a student spend on the bus?

It calculates the number of school buses from the student count, the run capacity and how many runs fit in the time window before the bell. It calculates the student ride time for the first student picked up, which is the longest ride on the run. It then works the departure timetable back from the bell and shows the options of one or more runs per bus.

The tool is for early planning and sizing. Drawing the actual route stop by stop needs student addresses and a road map.

What inputs do you need?

InputSourceTip
Students to transportTransport registration listPlan each school and each session separately.
Seats per bus and planned loadBus operating license, transport policyUse actual passenger seats and leave room for new students.
Route length and speedMap, trip reports from your tracking systemMeasure a week of real morning-peak trips.
Stops and time per stopStudent list by stop, attendant notesStops take longer for young children and students with special needs.
Window and bell timeSchool administrationAgree the earliest acceptable first pick-up with the school.
Maximum ride timeSchool policy, authority requirementsCheck the current requirement; do not rely on the default.

How is the number of school buses calculated?

Run capacity and runs needed

Run capacity = round down (passenger seats × planned load) Runs needed = round up (students ÷ run capacity)

Ride time and run cycle

Driving time = route length ÷ average speed × 60 Ride time = driving time + stops × time per stop Run cycle = ride time + unloading time at school Empty return = return distance ÷ average speed × 60

Runs per bus and number of buses

Time for r runs = r × run cycle + (r − 1) × empty return Runs per bus = the largest r whose time fits in the window = round down ((window + empty return) ÷ (run cycle + empty return)) Operating buses = round up (runs needed ÷ runs per bus) Spare buses = round up (operating buses × spare %)

If one run cycle is longer than the window, the tool counts one run per bus and warns you that the run does not fit the time available.

Daily distance

Fleet distance per day = 2 × (runs × route length + (runs − buses) × return distance)

The factor 2 assumes the afternoon run mirrors the morning run. Depot-to-first-stop distance is not included.

Worked example: 240 students on 40-seat buses

The defaults are examples; replace them with your school's figures: 240 students, 40-seat buses, 90% load and 10% spares. The route is 10 km at an average 30 km/h, with 8 stops at one minute each, 5 minutes to unload, a 10 km empty return, a 90-minute window and a 07:30 bell.

  • Run capacity: 40 × 90% = 36 students. Runs needed: 240 ÷ 36 = 6.67, so 7 runs.
  • Driving time: 10 ÷ 30 × 60 = 20 minutes. Ride time: 20 + 8 × 1 = 28 minutes. Run cycle: 28 + 5 = 33 minutes. Empty return: 10 ÷ 30 × 60 = 20 minutes.
  • Runs per bus: (90 + 20) ÷ (33 + 20) = 2.08, so 2 runs, taking 2 × 33 + 20 = 86 of the 90 minutes.
  • Operating buses: 7 ÷ 2 = 3.5, so 4 buses: three make two runs and the fourth makes one. Spares: 4 × 10% = 0.4, so one bus. 5 buses in total.
  • Seat use: 240 ÷ (7 × 40) = 85.7%. Fleet distance per day: 2 × (7 × 10 + 3 × 10) = 200 km.
  • Timetable: the second run arrives at 07:25 and starts picking up at 06:57. The first run arrives at 06:32 and starts at 06:04. With 3 runs per bus, 3 buses would do, but pick-ups would start at 05:11, outside the window.

How do you check student ride time?

The student who boards at the first stop stays on the bus for the whole run. So the tool compares the full ride time with the limit you enter. In the example that is 28 minutes against a 45-minute limit.

If the ride is over the limit, the tool shows the longest route that stays within it with the same number of stops, and the most stops possible on the same route length. In the example: 18.5 km or 25 stops. The usual fix is to split a long route into two shorter runs, which adds runs and may add buses.

The tool does not assume an official ride-time limit. Some schools and authorities set one; others do not. Check the current requirement with your authority and your school's policy.

How can you cut buses or ride time?

  • Merge nearby stops: every stop adds dwell time. One pick-up point for several neighboring homes shortens the run.
  • Run from the farthest stop toward school: avoid doubling back on the same road. Estimate the effect of a shorter route with the route optimization savings calculator.
  • Stagger bell times: if two school sections start half an hour apart, the same bus can serve both with two runs.
  • Measure real times: actual morning speeds are often lower than estimates. Take them from trip reports before you sign off the plan.
  • Prepare buses and records: inspect every bus daily with the school bus inspection checklist, and record each student boarding and leaving in the school bus student manifest.

Assumptions and limits

Results are estimates based on your inputs, and every default is an example. The tool assumes all runs have similar length and stops, all buses are the same size, and students are spread evenly across runs. It leaves out the drive from the depot to the first stop, different peak periods, and students who need a specially equipped bus. It plans the morning session; if dismissal times differ, plan them with a separate window. Driver age and training, the number of attendants, ride-time limits and bus specifications are set by the competent authority, so check its current requirements.

Related Safee solution

Measure the real ride time of every school bus

Safee Live Vehicle Tracking shows where each bus is in real time and records its trips with start and end times and distance. You can compare planned ride time with actual time and see which run is late for the bell.

  • Live position of every bus on the map during the run.
  • Trip reports with distance, duration and start and end times.
  • Alerts for geofence entry and exit and for speeding.
  • Scheduled PDF or Excel reports sent daily, weekly or monthly.
Questions

Questions about school bus route planning

Need help with your school transport plan? Talk to Safee.

How do I calculate how many school buses I need?

Divide the number of students by the run capacity to get the number of runs. Then work out how many runs one bus can make before the bell and divide the runs by it. Add spare buses for breakdowns and maintenance.

How many runs can a school bus make in the morning?

It depends on the window before the bell, the run cycle and the empty return between runs. Two runs work if both runs plus the return between them fit in the window. Each extra run makes the first pick-up earlier.

How do I calculate student ride time?

Ride time is the driving time on the route plus the time spent at every stop. The student who boards first rides the whole way, so the tool compares that time with the limit you enter.

Is there an official limit on student ride time?

It differs between countries, authorities and schools, and the tool does not assume an official limit. Enter the limit your school uses and check the current requirement with your authority.

Why not fill every seat on the bus?

A full bus leaves no room for a new student or a timetable change, which forces route changes mid-term. A load below 100% gives you a margin. Never go above the number of seats.

How many spare buses do I need?

There is no single percentage for everyone. It depends on bus age, the maintenance schedule and how fast breakdowns are fixed. Start with a share that matches your actual breakdown record and review it each term.

Does the tool store student data?

No. The tool asks for no names or addresses, and the calculation runs in your browser. To record students on each run, use the school bus student manifest and keep it under your school's privacy policy.

Let's review your school transport plan

Follow every school bus from depot to school

Tell us how many buses and schools you serve, and we will show you how Safee records trips and arrival times for each bus.

Related tools and resources

Move on to your next school transport question

Get the report

Enter your details and we will email you the file.

Use your real name so the file arrives addressed to you. Don't worry, we won't flood you with emails or calls.

Scroll to Top