Train punctuality in India, measured
1,94,60,827 arrival records · 3,431 trains · 5,237 stations · 2025-08-31 to 2026-10-31
Indian Railways publishes punctuality as a single network percentage. This is the same question asked one train at a time: of the runs we have a record for, how many arrived at the destination within 15 minutes of the time the timetable promised.
Across the 1,182 trains with enough of a record to rank, the median is 75% of runs on time. The spread either side of that is the interesting part.
20 of the 25 least punctual trains below leave their first station within 15 minutes and still arrive hours late. They are not dispatched late; they lose the time en route. It is also how you can tell these figures are not an artefact of a revised timetable — that would show as the same delay at the first stop as the last.
Least punctual
Ranked by the share of runs arriving within 15 minutes, lowest first.
Chhatrapati Shivaji Maharaj Terminus to Howrah Jn · 1,969 km · 206 recorded arrivals
- Runs within 15 min
- 1%
- Typical, at destination
- 9 hr 59 min
- 9 in 10 within
- 15 hr 49 min
- Typical, at origin
- 2 hr 52 min
Yog N Rishikesh to Puri · 2,384 km · 361 recorded arrivals
- Runs within 15 min
- 2%
- Typical, at destination
- 8 hr 8 min
- 9 in 10 within
- 14 hr 15 min
- Typical, at origin
- 1 hr 8 min
Darbhanga Jn to New Delhi · 1,171 km · 337 recorded arrivals
- Runs within 15 min
- 2%
- Typical, at destination
- 7 hr 7 min
- 9 in 10 within
- 11 hr 47 min
- Typical, at origin
- 4 min
Barauni Jn to New Delhi · 1,185 km · 350 recorded arrivals
- Runs within 15 min
- 2%
- Typical, at destination
- 7 hr 4 min
- 9 in 10 within
- 11 hr 21 min
- Typical, at origin
- 8 min
Nsc Bose Itwari to Tatanagar Jn · 877 km · 274 recorded arrivals
- Runs within 15 min
- 2%
- Typical, at destination
- 6 hr 42 min
- 9 in 10 within
- 9 hr 30 min
- Typical, at origin
- 10 min
New Delhi to Barauni Jn · 1,185 km · 353 recorded arrivals
- Runs within 15 min
- 2%
- Typical, at destination
- 6 hr 20 min
- 9 in 10 within
- 12 hr 9 min
- Typical, at origin
- 1 min
Howrah Jn to Ahmedabad Jn · 2,089 km · 362 recorded arrivals
- Runs within 15 min
- 2%
- Typical, at destination
- 5 hr 55 min
- 9 in 10 within
- 6 hr 57 min
- Typical, at origin
- 4 min
Howrah Jn to Pune Jn · 2,021 km · 365 recorded arrivals
- Runs within 15 min
- 2%
- Typical, at destination
- 5 hr 40 min
- 9 in 10 within
- 12 hr 14 min
- Typical, at origin
- 3 min
Kantabanji to Howrah Jn · 779 km · 203 recorded arrivals
- Runs within 15 min
- 2%
- Typical, at destination
- 5 hr 33 min
- 9 in 10 within
- 8 hr 31 min
- Typical, at origin
- 2 min
Pune Jn to Danapur · 1,742 km · 239 recorded arrivals
- Runs within 15 min
- 2%
- Typical, at destination
- 5 hr 28 min
- 9 in 10 within
- 8 hr 21 min
- Typical, at origin
- 4 min
Howrah Jn to Chhatrapati Shivaji Maharaj Terminus · 1,969 km · 209 recorded arrivals
- Runs within 15 min
- 2%
- Typical, at destination
- 5 hr 23 min
- 9 in 10 within
- 8 hr 30 min
- Typical, at origin
- 0 min
Chhatrapati Shivaji Maharaj Terminus to Howrah Jn · 1,974 km · 362 recorded arrivals
- Runs within 15 min
- 2%
- Typical, at destination
- 5 hr 23 min
- 9 in 10 within
- 7 hr 24 min
- Typical, at origin
- 1 min
Lokmanya Tilak Terminus to Shalimar · 1,956 km · 207 recorded arrivals
- Runs within 15 min
- 2%
- Typical, at destination
- 5 hr 11 min
- 9 in 10 within
- 7 hr 39 min
- Typical, at origin
- 1 min
Pune Jn to Howrah Jn · 2,020 km · 358 recorded arrivals
- Runs within 15 min
- 2%
- Typical, at destination
- 5 hr 5 min
- 9 in 10 within
- 9 hr 53 min
- Typical, at origin
- 28 min
Howrah Jn to Chhatrapati Shivaji Maharaj Terminus · 1,969 km · 340 recorded arrivals
- Runs within 15 min
- 2%
- Typical, at destination
- 5 hr 5 min
- 9 in 10 within
- 8 hr 11 min
- Typical, at origin
- 1 min
Tatanagar Jn to Nsc Bose Itwari · 877 km · 274 recorded arrivals
- Runs within 15 min
- 3%
- Typical, at destination
- 4 hr 51 min
- 9 in 10 within
- 8 hr 19 min
- Typical, at origin
- 1 hr 55 min
Barabil to Howrah Jn · 400 km · 360 recorded arrivals
- Runs within 15 min
- 3%
- Typical, at destination
- 4 hr 22 min
- 9 in 10 within
- 9 hr 30 min
- Typical, at origin
- 42 min
Bilaspur Jn to Tatanagar Jn · 469 km · 276 recorded arrivals
- Runs within 15 min
- 3%
- Typical, at destination
- 4 hr 17 min
- 9 in 10 within
- 7 hr 12 min
- Typical, at origin
- 4 min
Chhatrapati Shivaji Maharaj Terminus to Howrah Jn · 1,969 km · 361 recorded arrivals
- Runs within 15 min
- 3%
- Typical, at destination
- 4 hr 16 min
- 9 in 10 within
- 6 hr 37 min
- Typical, at origin
- 1 min
Shalimar to Lokmanya Tilak Terminus · 1,950 km · 353 recorded arrivals
- Runs within 15 min
- 3%
- Typical, at destination
- 4 hr 8 min
- 9 in 10 within
- 7 hr 12 min
- Typical, at origin
- 0 min
Shalimar to Lokmanya Tilak Terminus · 1,957 km · 206 recorded arrivals
- Runs within 15 min
- 3%
- Typical, at destination
- 4 hr 7 min
- 9 in 10 within
- 7 hr 6 min
- Typical, at origin
- 0 min
Dr Ambedkar Ngr (Mhow) to Shmata Vd Katra · 1,642 km · 362 recorded arrivals
- Runs within 15 min
- 3%
- Typical, at destination
- 4 hr 2 min
- 9 in 10 within
- 5 hr 47 min
- Typical, at origin
- 0 min
Durg to Ara · 1,162 km · 355 recorded arrivals
- Runs within 15 min
- 3%
- Typical, at destination
- 3 hr 59 min
- 9 in 10 within
- 6 hr 43 min
- Typical, at origin
- 2 min
Lokmanya Tilak Terminus to Shalimar · 1,951 km · 353 recorded arrivals
- Runs within 15 min
- 3%
- Typical, at destination
- 3 hr 56 min
- 9 in 10 within
- 6 hr 45 min
- Typical, at origin
- 1 min
Ahmedabad Jn to Howrah Jn · 2,089 km · 361 recorded arrivals
- Runs within 15 min
- 3%
- Typical, at destination
- 3 hr 44 min
- 9 in 10 within
- 6 hr 3 min
- Typical, at origin
- 2 min
Most punctual
The same measurement, the other end of it.
Erode Jn to Sengottai · 442 km · 340 recorded arrivals
- Runs within 15 min
- 98%
- Typical, at destination
- 0 min
- 9 in 10 within
- 0 min
- Typical, at origin
- 0 min
Indore Jn Bg to Gandhinagar Capital · 558 km · 340 recorded arrivals
- Runs within 15 min
- 98%
- Typical, at destination
- 0 min
- 9 in 10 within
- 0 min
- Typical, at origin
- 1 min
Coimbatore Jn to Bangalore Cant · 372 km · 313 recorded arrivals
- Runs within 15 min
- 98%
- Typical, at destination
- 0 min
- 9 in 10 within
- 4 min
- Typical, at origin
- 2 min
Coimbatore Jn to Mannargudi · 335 km · 365 recorded arrivals
- Runs within 15 min
- 97%
- Typical, at destination
- 0 min
- 9 in 10 within
- 0 min
- Typical, at origin
- 1 min
Mgr Chennai Ctr to Narasapur · 652 km · 207 recorded arrivals
- Runs within 15 min
- 97%
- Typical, at destination
- 0 min
- 9 in 10 within
- 0 min
- Typical, at origin
- 2 min
Kannur (Cannanore) to Thiruvananthapuram Central · 500 km · 261 recorded arrivals
- Runs within 15 min
- 96%
- Typical, at destination
- 0 min
- 9 in 10 within
- 6 min
- Typical, at origin
- 0 min
Ambala Cant Jn to Shri Ganganagar · 328 km · 365 recorded arrivals
- Runs within 15 min
- 96%
- Typical, at destination
- 0 min
- 9 in 10 within
- 1 min
- Typical, at origin
- 0 min
Thiruvananthapuram Central to Rameswaram · 773 km · 303 recorded arrivals
- Runs within 15 min
- 96%
- Typical, at destination
- 0 min
- 9 in 10 within
- 0 min
- Typical, at origin
- 1 min
Valsad to Dahod · 342 km · 361 recorded arrivals
- Runs within 15 min
- 96%
- Typical, at destination
- 0 min
- 9 in 10 within
- 3 min
- Typical, at origin
- 0 min
Gandhinagar Capital to Indore Jn Bg · 558 km · 365 recorded arrivals
- Runs within 15 min
- 96%
- Typical, at destination
- 0 min
- 9 in 10 within
- 0 min
- Typical, at origin
- 0 min
Bangalore Cant to Coimbatore Jn · 372 km · 313 recorded arrivals
- Runs within 15 min
- 96%
- Typical, at destination
- 0 min
- 9 in 10 within
- 0 min
- Typical, at origin
- 2 min
Patna Jn to Gomtinagar F · 541 km · 312 recorded arrivals
- Runs within 15 min
- 96%
- Typical, at destination
- 0 min
- 9 in 10 within
- 0 min
- Typical, at origin
- 0 min
Chhatrapati Shivaji Maharaj Terminus to Dhule · 384 km · 360 recorded arrivals
- Runs within 15 min
- 95%
- Typical, at destination
- 0 min
- 9 in 10 within
- 0 min
- Typical, at origin
- 2 min
Wardha Jn to Bhusaval Jn · 314 km · 363 recorded arrivals
- Runs within 15 min
- 95%
- Typical, at destination
- 0 min
- 9 in 10 within
- 6 min
- Typical, at origin
- 0 min
Gwalior Jn to Ratlam Jn · 683 km · 209 recorded arrivals
- Runs within 15 min
- 95%
- Typical, at destination
- 0 min
- 9 in 10 within
- 3 min
- Typical, at origin
- 0 min
Kota Jn to Bina Jn · 303 km · 365 recorded arrivals
- Runs within 15 min
- 95%
- Typical, at destination
- 0 min
- 9 in 10 within
- 11 min
- Typical, at origin
- 1 min
New Delhi to Daurai (Ajmer) · 449 km · 365 recorded arrivals
- Runs within 15 min
- 95%
- Typical, at destination
- 0 min
- 9 in 10 within
- 4 min
- Typical, at origin
- 0 min
Madan Mahal to Rani Kamlapati(Bhopal) · 327 km · 361 recorded arrivals
- Runs within 15 min
- 95%
- Typical, at destination
- 0 min
- 9 in 10 within
- 0 min
- Typical, at origin
- 0 min
Thiruvananthapuram Central to Kozhikkode (Calicut) · 401 km · 365 recorded arrivals
- Runs within 15 min
- 95%
- Typical, at destination
- 0 min
- 9 in 10 within
- 7 min
- Typical, at origin
- 0 min
Mayiladuturai Jn to Coimbatore Jn · 363 km · 313 recorded arrivals
- Runs within 15 min
- 95%
- Typical, at destination
- 0 min
- 9 in 10 within
- 8 min
- Typical, at origin
- 0 min
Mgr Chennai Ctr to Coimbatore Jn · 499 km · 313 recorded arrivals
- Runs within 15 min
- 95%
- Typical, at destination
- 0 min
- 9 in 10 within
- 4 min
- Typical, at origin
- 1 min
Mumbai Central to Hapa · 814 km · 361 recorded arrivals
- Runs within 15 min
- 95%
- Typical, at destination
- 0 min
- 9 in 10 within
- 5 min
- Typical, at origin
- 0 min
Jaipur to Jaisalmer · 702 km · 362 recorded arrivals
- Runs within 15 min
- 95%
- Typical, at destination
- 0 min
- 9 in 10 within
- 11 min
- Typical, at origin
- 1 min
Jodhpur Jn to Bandra Terminus · 935 km · 361 recorded arrivals
- Runs within 15 min
- 95%
- Typical, at destination
- 0 min
- 9 in 10 within
- 7 min
- Typical, at origin
- 2 min
Bandra Terminus to Jodhpur Jn · 935 km · 361 recorded arrivals
- Runs within 15 min
- 95%
- Typical, at destination
- 0 min
- 9 in 10 within
- 10 min
- Typical, at origin
- 0 min
How this is measured
Each record is one train’s reported arrival delay in minutes at one station on one date, against its published schedule. They come from Indian Railways’ own running-status feed, collected daily and kept for the whole period rather than sampled.
Graded at the destination. Averaging a train’s delay across every stop produces larger numbers and is wrong: a train that leaves three hours late is three hours late at every stop afterwards, so it counts one bad departure many times over. The figure here is how late the train was when it reached the end of its run.
Only trains with at least 200 recorded arrivals at their destination and a run of 300 km or more are ranked. The first floor keeps out seasonal specials whose record is a handful of days; the second keeps out suburban services, where twenty minutes late means something different. Every row shows its own sample size.
“Typical” is the median, not the mean — one six-hour failure should not become the headline for a train that is usually forty minutes down. “9 in 10 within” is the 90th percentile: nine runs in ten arrived at least that punctually.
What this does not say. It does not say why a train is late. The records show delay, not cause, and congestion, weather and engineering work would all be guesses. It is not comparable with Indian Railways’ published punctuality figures, which measure a different thing over a different window. And it is not a ranking of zones or divisions: the railway that owns a train is not necessarily the one whose track it lost the time on.
Every train above links to its own page, where the same record is broken down station by station and month by month. The method behind using these delays to judge a connection is written up separately, and where the data comes from is listed in full.
These figures are free to quote with a link to this page. If a number here looks wrong, it is worth telling us — corrections are read.