In testing LopoRail is in active testing — some features may be incomplete or change.
Global Rail Platform

← All country boards

Train performance · ' . esc_html($plain) . '

France train performance.

Live sNCF national punctuality — TGV, INTERCITÉS, TER. Data updates continuously; this board refreshes every 10 minutes via server cron.

Live board Next refresh in 10:00 Updated 21:32

Reading the board

Four numbers summarise the rolling window. The same metric is then broken down by delay bucket, by route and by station.

71.0%
Departures on time within 60 seconds
Delays≤60s
119
Services running in the current window
Realtimenow
701
Departed stops sampled across 0 hubs
Samplerolling
549.5s
Mean delay per departure
Delayedavg

Delay Buckets

How late, and how often

Each departure falls into one bucket by its delay. The bar shows the share of departures in the current window.

On Time (≤60s)498
Minor (1–5m)58
Moderate (5–10m)57
Major (>10m)88

Bucket thresholds are the board\'s own convention: on time ≤ 60s, minor 1–5 minutes, moderate 5–10 minutes, major beyond 10 minutes. Cancelled services are tracked separately and are not folded into these buckets.

Trend

The window and the days behind it

The live window alongside the day-by-day record this board has published since it went live.

Current window

France · rolling window
Live
On time (≤60s)71.0%
Major (>10m)12.6%

Rolling window · compiled from the board\'s own endpoint

Day by day

On time % · last 7 recorded days
7-day 87.7%
Tue 29 Sep89.0%
Wed 30 Sep91.2%
Thu 1 Oct83.4%
Fri 2 Oct86.7%
Sat 3 Oct87.5%
Sun 4 Oct87.2%
Mon 5 Oct89.0%
7-day on time
87.7%
30-day on time
85.9%
Days recorded
10

Day-by-day record · one sample per day (the day\'s busiest pull) · not an official statistic.

By Route

Where trains lose time

Service classes ranked by the share of departures on time. Each row carries the sampled stop count and the average and worst delay.

Trip OCESA8812620 stops sampled
100.0%
avg 0s · max 0s
C24+16 stops sampled
0.0%
avg 11,175s · max 11,400s
Trip OCESN9527116 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN9582815 stops sampled
46.7%
avg 244s · max 1,200s
INCONNU14 stops sampled
42.9%
avg 343s · max 600s
Trip OCESN9064514 stops sampled
50.0%
avg 296s · max 1,200s
Trip OCESN3971F14 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN4330014 stops sampled
100.0%
avg 0s · max 0s
071A12 stops sampled
25.0%
avg 1,635s · max 3,600s
555B12 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN8899612 stops sampled
0.0%
avg 1,200s · max 1,200s
Trip OCESN3754F12 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN8701612 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN4399211 stops sampled
18.2%
avg 655s · max 900s
Trip OCESN7310911 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN4450811 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN3740F10 stops sampled
60.0%
avg 240s · max 900s
Trip OCESN3327F10 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN8911510 stops sampled
10.0%
avg 270s · max 300s
Trip OCESN8668210 stops sampled
20.0%
avg 2,160s · max 3,000s
Trip OCESN3731F10 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN4100410 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN4421010 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN309379 stops sampled
22.2%
avg 233s · max 300s
Trip OCESN411519 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN433789 stops sampled
100.0%
avg 0s · max 0s
591A8 stops sampled
62.5%
avg 975s · max 7,200s
Trip OCESN5124F8 stops sampled
37.5%
avg 638s · max 1,200s
Trip OCESN5772F8 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN5781F8 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN408118 stops sampled
25.0%
avg 638s · max 900s
Trip OCESN305448 stops sampled
0.0%
avg 600s · max 600s
Trip OCESN868228 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN830838 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN832308 stops sampled
0.0%
avg 300s · max 300s
560A7 stops sampled
28.6%
avg 386s · max 600s
Trip OCESN640027 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN345137 stops sampled
0.0%
avg 600s · max 600s
Trip OCESN864567 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN412197 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN441037 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN444107 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN237697 stops sampled
42.9%
avg 171s · max 300s
Trip OCESN887837 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN439947 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN874667 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN441027 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN874637 stops sampled
100.0%
avg 0s · max 0s
433E6 stops sampled
66.7%
avg 150s · max 600s
Trip OCESN8985F6 stops sampled
50.0%
avg 4,450s · max 13,200s
651B6 stops sampled
16.7%
avg 2,400s · max 3,600s
Trip OCESN8651F6 stops sampled
33.3%
avg 200s · max 300s
Trip OCESN940076 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN941996 stops sampled
50.0%
avg 410s · max 1,080s
Trip OCESN482716 stops sampled
83.3%
avg 50s · max 300s
Trip OCESN433186 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN832326 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN951356 stops sampled
100.0%
avg 40s · max 60s
Trip OCESN6715F5 stops sampled
20.0%
avg 720s · max 900s
Trip OCESN412095 stops sampled
0.0%
avg 3,600s · max 3,600s
Trip OCESN6633F5 stops sampled
20.0%
avg 480s · max 600s
Trip OCESN333575 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN3751F5 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN447205 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN3750F5 stops sampled
60.0%
avg 120s · max 300s
Trip OCESN499675 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN304505 stops sampled
40.0%
avg 360s · max 600s
Trip OCESN405005 stops sampled
40.0%
avg 360s · max 600s
Trip OCESN597595 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN457005 stops sampled
20.0%
avg 480s · max 600s
Trip OCESN7827F4 stops sampled
25.0%
avg 600s · max 900s
Trip OCESN9789F4 stops sampled
25.0%
avg 525s · max 900s
Trip OCESN9784F4 stops sampled
0.0%
avg 1,650s · max 1,800s
Trip OCESN147484 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN429474 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN165484 stops sampled
100.0%
avg 15s · max 60s
Trip OCESN938564 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN121544 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN887864 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN950834 stops sampled
100.0%
avg 60s · max 60s
Trip OCESN410224 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN164504 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN424534 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN8827F3 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN408703 stops sampled
66.7%
avg 100s · max 300s
Trip OCESN151883 stops sampled
0.0%
avg 220s · max 300s
Trip OCESN860533 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN164803 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN165883 stops sampled
100.0%
avg 20s · max 60s
Trip OCESN343253 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN446583 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN333193 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN871073 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN165893 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN152882 stops sampled
100.0%
avg 60s · max 60s
Trip OCESN931652 stops sampled
50.0%
avg 120s · max 240s
Trip OCESN165582 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN151472 stops sampled
0.0%
avg 450s · max 480s
Trip OCESN148692 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN888722 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN147682 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN165592 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN165492 stops sampled
100.0%
avg 0s · max 0s
Trip OCESN888752 stops sampled
100.0%
avg 0s · max 0s

Top Stations by Volume

The busiest hubs

The same reading, station by station, ordered by how many departures each contributed to the window.

Versailles Chantiers16 stops sampled
100.0%
avg 15s · max 60s
Paris Montparnasse Hall 1 - 214 stops sampled
92.9%
avg 26s · max 300s
Paris Austerlitz13 stops sampled
100.0%
avg 0s · max 0s
Strasbourg12 stops sampled
75.0%
avg 1,000s · max 9,600s
Paris Est10 stops sampled
80.0%
avg 168s · max 1,200s
Les Aubrais8 stops sampled
100.0%
avg 0s · max 0s
Juvisy8 stops sampled
50.0%
avg 338s · max 1,200s
Mulhouse7 stops sampled
57.1%
avg 557s · max 2,700s
Paris Gare de Lyon Hall 1 - 27 stops sampled
71.4%
avg 197s · max 1,200s
Saint-Quentin en Yvelines6 stops sampled
100.0%
avg 40s · max 60s
Metz5 stops sampled
80.0%
avg 720s · max 3,600s
Château-Thierry5 stops sampled
60.0%
avg 144s · max 300s
La Ferté-sous-Jouarre5 stops sampled
20.0%
avg 276s · max 540s
Toulouse Matabiau4 stops sampled
100.0%
avg 0s · max 0s
Forbach4 stops sampled
50.0%
avg 525s · max 1,800s
Saint-Denis-Près-Martel4 stops sampled
100.0%
avg 0s · max 0s
Bellegarde4 stops sampled
25.0%
avg 750s · max 1,800s
Lyon-Part-Dieu Gare Routière4 stops sampled
100.0%
avg 0s · max 0s
Étampes4 stops sampled
50.0%
avg 210s · max 480s
Dourdan4 stops sampled
75.0%
avg 150s · max 480s
Marseille Saint-Charles3 stops sampled
33.3%
avg 600s · max 1,200s
Aix-en-Provence TGV3 stops sampled
33.3%
avg 700s · max 1,200s
Avignon TGV3 stops sampled
0.0%
avg 800s · max 1,200s
Lyon Part Dieu3 stops sampled
33.3%
avg 600s · max 1,200s
Bordeaux Saint-Jean3 stops sampled
33.3%
avg 300s · max 600s
Nantes3 stops sampled
33.3%
avg 2,500s · max 7,200s
Montauban Ville Bourbon3 stops sampled
66.7%
avg 100s · max 300s
Agen3 stops sampled
66.7%
avg 1,000s · max 3,000s
Foix3 stops sampled
66.7%
avg 200s · max 600s
Pamiers3 stops sampled
66.7%
avg 200s · max 600s
Saverdun3 stops sampled
66.7%
avg 200s · max 600s
Auterive3 stops sampled
66.7%
avg 200s · max 600s
Nice-Ville3 stops sampled
100.0%
avg 0s · max 0s
Antibes3 stops sampled
100.0%
avg 0s · max 0s
Cannes3 stops sampled
100.0%
avg 0s · max 0s
Saint-Raphaël Valescure3 stops sampled
100.0%
avg 0s · max 0s
Les Arcs - Draguignan3 stops sampled
100.0%
avg 0s · max 0s
Sarrebruck3 stops sampled
66.7%
avg 600s · max 1,800s
Entzheim Aéroport3 stops sampled
66.7%
avg 3,200s · max 9,600s
Molsheim3 stops sampled
66.7%
avg 3,800s · max 11,400s
Brive-la-Gaillarde3 stops sampled
66.7%
avg 100s · max 300s
Rocamadour - Padirac3 stops sampled
100.0%
avg 0s · max 0s
Gramat3 stops sampled
100.0%
avg 0s · max 0s
Assier3 stops sampled
100.0%
avg 0s · max 0s
Figeac3 stops sampled
100.0%
avg 0s · max 0s
Capdenac3 stops sampled
100.0%
avg 0s · max 0s
Viviez - Decazeville3 stops sampled
100.0%
avg 0s · max 0s
Aubin3 stops sampled
100.0%
avg 0s · max 0s
Cransac3 stops sampled
100.0%
avg 0s · max 0s
Saint-Christophe3 stops sampled
100.0%
avg 0s · max 0s
Rodez3 stops sampled
100.0%
avg 0s · max 0s
Chambéry - Challes-les-Eaux3 stops sampled
100.0%
avg 0s · max 0s
Longueville3 stops sampled
0.0%
avg 780s · max 1,080s
Thionville3 stops sampled
100.0%
avg 0s · max 0s
Dreux3 stops sampled
100.0%
avg 0s · max 0s
Valence TGV Rhône-Alpes Sud2 stops sampled
50.0%
avg 60s · max 120s
Dijon2 stops sampled
0.0%
avg 1,800s · max 2,700s
Besançon Franche-Comté TGV2 stops sampled
0.0%
avg 1,800s · max 2,700s
Belfort - Montbéliard TGV2 stops sampled
0.0%
avg 1,800s · max 2,700s
Saintes2 stops sampled
100.0%
avg 0s · max 0s
La Roche-sur-Yon2 stops sampled
50.0%
avg 6,600s · max 13,200s
Angoulême2 stops sampled
50.0%
avg 300s · max 600s
Angers Saint-Laud2 stops sampled
100.0%
avg 0s · max 0s
Latour-de-Carol - Enveitg2 stops sampled
100.0%
avg 0s · max 0s
Porté-Puymorens2 stops sampled
100.0%
avg 0s · max 0s
Andorre l'Hospitalet2 stops sampled
100.0%
avg 0s · max 0s
Mérens-les-Vals2 stops sampled
100.0%
avg 0s · max 0s
Ax-les-Thermes2 stops sampled
50.0%
avg 300s · max 600s
Luzenac - Garanou2 stops sampled
50.0%
avg 300s · max 600s
Les Cabannes2 stops sampled
50.0%
avg 300s · max 600s
Tarascon-sur-Ariège2 stops sampled
50.0%
avg 300s · max 600s
Toulon2 stops sampled
100.0%
avg 0s · max 0s
Marseille Blancarde2 stops sampled
100.0%
avg 0s · max 0s
Tarbes2 stops sampled
100.0%
avg 0s · max 0s
Lourdes2 stops sampled
100.0%
avg 0s · max 0s
Pau2 stops sampled
100.0%
avg 0s · max 0s
Orthez2 stops sampled
100.0%
avg 0s · max 0s
Bayonne2 stops sampled
50.0%
avg 150s · max 300s
Saint-Vincent-de-Tyrosse2 stops sampled
50.0%
avg 150s · max 300s
Dax2 stops sampled
50.0%
avg 450s · max 900s
Biganos Facture2 stops sampled
50.0%
avg 450s · max 900s
Limoges Bénédictins2 stops sampled
50.0%
avg 300s · max 600s
Bourg-en-Bresse2 stops sampled
0.0%
avg 1,350s · max 1,800s
Genève Cornavin2 stops sampled
0.0%
avg 1,200s · max 1,800s
Paris Saint-Lazare2 stops sampled
100.0%
avg 0s · max 0s
Lison2 stops sampled
100.0%
avg 0s · max 0s
Le Creusot-TGV2 stops sampled
50.0%
avg 300s · max 600s
La Roche-sur-Foron2 stops sampled
50.0%
avg 300s · max 600s
Valence Gare Routière2 stops sampled
50.0%
avg 450s · max 900s
Pfaffenhoffen Mairie2 stops sampled
100.0%
avg 0s · max 0s
Obermodern2 stops sampled
50.0%
avg 150s · max 300s
Menchhoffen Abri2 stops sampled
50.0%
avg 300s · max 600s
Ingwiller2 stops sampled
50.0%
avg 450s · max 900s
Wimmenau D.919 - Rue de la Gare2 stops sampled
50.0%
avg 450s · max 900s
Wingen-sur-Moder2 stops sampled
50.0%
avg 450s · max 900s
Montmélian2 stops sampled
100.0%
avg 0s · max 0s
Saint-Pierre-d'Albigny2 stops sampled
100.0%
avg 0s · max 0s
Moûtiers-Salins-Brides-les-B.2 stops sampled
100.0%
avg 0s · max 0s
St-Etienne-Châtcrx. G Routière2 stops sampled
0.0%
avg 600s · max 600s
Cahors2 stops sampled
50.0%
avg 150s · max 300s
Annemasse2 stops sampled
100.0%
avg 0s · max 0s
Vernon - Giverny2 stops sampled
50.0%
avg 150s · max 300s
Gaillon - Aubevoye2 stops sampled
100.0%
avg 0s · max 0s
Val-de-Reuil2 stops sampled
100.0%
avg 0s · max 0s
Oissel2 stops sampled
100.0%
avg 0s · max 0s
Rouen Rive Droite2 stops sampled
100.0%
avg 0s · max 0s
Nemours - Saint-Pierre2 stops sampled
0.0%
avg 270s · max 300s
Montargis2 stops sampled
50.0%
avg 120s · max 240s
Nancy2 stops sampled
100.0%
avg 0s · max 0s
Roanne-Gare-Routière2 stops sampled
50.0%
avg 300s · max 600s
Rixheim Arrêt Soléa Barrières2 stops sampled
100.0%
avg 0s · max 0s
Habsheim2 stops sampled
100.0%
avg 0s · max 0s
Sierentz Centre2 stops sampled
100.0%
avg 0s · max 0s
Bartenheim Pharmacie2 stops sampled
100.0%
avg 0s · max 0s
Saint-Louis2 stops sampled
100.0%
avg 0s · max 0s
Basel SBB2 stops sampled
100.0%
avg 0s · max 0s
Rambouillet2 stops sampled
100.0%
avg 30s · max 60s
Luxembourg2 stops sampled
100.0%
avg 0s · max 0s
Bettembourg2 stops sampled
100.0%
avg 0s · max 0s
Uckange2 stops sampled
100.0%
avg 0s · max 0s
Hagondange2 stops sampled
100.0%
avg 0s · max 0s
Hettange-Grande2 stops sampled
100.0%
avg 0s · max 0s
Montereau2 stops sampled
50.0%
avg 240s · max 420s
Massy-Palaiseau2 stops sampled
100.0%
avg 0s · max 0s
Erstein2 stops sampled
50.0%
avg 150s · max 300s
Benfeld2 stops sampled
50.0%
avg 150s · max 300s
Sélestat2 stops sampled
50.0%
avg 150s · max 300s
Colmar2 stops sampled
50.0%
avg 150s · max 300s
Offenburg2 stops sampled
100.0%
avg 0s · max 0s
Appenweier2 stops sampled
100.0%
avg 0s · max 0s
Legelshurst2 stops sampled
100.0%
avg 0s · max 0s
Kork2 stops sampled
100.0%
avg 0s · max 0s
Kehl2 stops sampled
100.0%
avg 0s · max 0s
Krimmeri Meinau2 stops sampled
100.0%
avg 0s · max 0s
Chalon-sur-Saône1 stop sampled
0.0%
avg 2,700s · max 2,700s
Jonzac1 stop sampled
0.0%
avg 300s · max 300s
Rochefort1 stop sampled
100.0%
avg 0s · max 0s
La Rochelle1 stop sampled
100.0%
avg 0s · max 0s
Luçon1 stop sampled
100.0%
avg 0s · max 0s
Lille Europe1 stop sampled
100.0%
avg 0s · max 0s
Arras1 stop sampled
0.0%
avg 300s · max 300s
Aéroport Charles de Gaulle 2 TGV1 stop sampled
100.0%
avg 0s · max 0s
Marne-la-Vallée Chessy1 stop sampled
100.0%
avg 0s · max 0s
Sablé-sur-Sarthe1 stop sampled
100.0%
avg 0s · max 0s
Les Sables-d'Olonne1 stop sampled
0.0%
avg 13,200s · max 13,200s
Kaiserslautern Hbf1 stop sampled
0.0%
avg 3,600s · max 3,600s
Mannheim Hbf1 stop sampled
0.0%
avg 3,600s · max 3,600s
Francfort sur le Main1 stop sampled
0.0%
avg 3,600s · max 3,600s
Mutzig1 stop sampled
0.0%
avg 11,400s · max 11,400s
Gresswiller1 stop sampled
0.0%
avg 11,400s · max 11,400s
Heiligenberg - Mollkirch1 stop sampled
0.0%
avg 11,400s · max 11,400s
Urmatt1 stop sampled
0.0%
avg 11,400s · max 11,400s
Lutzelhouse1 stop sampled
0.0%
avg 11,400s · max 11,400s
Wisches1 stop sampled
0.0%
avg 11,400s · max 11,400s
Russ-Hersbach1 stop sampled
0.0%
avg 11,400s · max 11,400s
Schirmeck - La Broque1 stop sampled
0.0%
avg 11,400s · max 11,400s
Rothau1 stop sampled
0.0%
avg 11,400s · max 11,400s
Fouday1 stop sampled
0.0%
avg 11,400s · max 11,400s
Saint-Blaise-la-Roche1 stop sampled
0.0%
avg 11,400s · max 11,400s
Bourg-Bruche1 stop sampled
0.0%
avg 11,400s · max 11,400s
Saales1 stop sampled
0.0%
avg 11,400s · max 11,400s
Vierzon1 stop sampled
100.0%
avg 0s · max 0s
Châteauroux1 stop sampled
0.0%
avg 600s · max 600s
Argenton-sur-Creuse1 stop sampled
0.0%
avg 600s · max 600s
La Souterraine1 stop sampled
0.0%
avg 600s · max 600s
Rennes1 stop sampled
100.0%
avg 0s · max 0s
Saint-Brieuc1 stop sampled
0.0%
avg 300s · max 300s
Guingamp1 stop sampled
0.0%
avg 300s · max 300s
Morlaix1 stop sampled
0.0%
avg 300s · max 300s
Brest1 stop sampled
0.0%
avg 300s · max 300s
Langogne1 stop sampled
0.0%
avg 3,600s · max 3,600s
Chapeauroux1 stop sampled
0.0%
avg 3,600s · max 3,600s
Alleyras1 stop sampled
0.0%
avg 3,600s · max 3,600s
Monistrol-d'Allier1 stop sampled
0.0%
avg 3,600s · max 3,600s
Langeac1 stop sampled
0.0%
avg 3,600s · max 3,600s
Briançon1 stop sampled
100.0%
avg 0s · max 0s
L'Argentière les Écrins1 stop sampled
100.0%
avg 0s · max 0s
Mont-Dauphin - Guillestre1 stop sampled
100.0%
avg 0s · max 0s
Embrun1 stop sampled
100.0%
avg 0s · max 0s
Chorges1 stop sampled
100.0%
avg 0s · max 0s
Gap1 stop sampled
100.0%
avg 0s · max 0s
Évreux Normandie1 stop sampled
100.0%
avg 0s · max 0s
Bernay1 stop sampled
100.0%
avg 0s · max 0s
Lisieux1 stop sampled
100.0%
avg 0s · max 0s
Caen1 stop sampled
100.0%
avg 0s · max 0s
Bayeux1 stop sampled
100.0%
avg 0s · max 0s
Carentan1 stop sampled
100.0%
avg 0s · max 0s
Valognes1 stop sampled
100.0%
avg 0s · max 0s
Cherbourg1 stop sampled
100.0%
avg 0s · max 0s
Mâcon - Loché TGV1 stop sampled
0.0%
avg 600s · max 600s
Lyon Perrache1 stop sampled
0.0%
avg 600s · max 600s
Bonneville1 stop sampled
0.0%
avg 600s · max 600s
Cluses1 stop sampled
0.0%
avg 600s · max 600s
Sallanches - Combloux - Megève1 stop sampled
0.0%
avg 600s · max 600s
Saint-Gervais-les-Bains-Le Fayet1 stop sampled
0.0%
avg 600s · max 600s
Chamonix-Mont-Blanc1 stop sampled
0.0%
avg 600s · max 600s
Vienne-Gare-Routière1 stop sampled
100.0%
avg 0s · max 0s
Saint-Clair - Les Roches1 stop sampled
0.0%
avg 600s · max 600s
Le Péage-de-Roussillon1 stop sampled
0.0%
avg 900s · max 900s
Saint-Rambert-d'Albon1 stop sampled
0.0%
avg 900s · max 900s
Saint-Vallier sur Rhône1 stop sampled
0.0%
avg 900s · max 900s
Tain-l'Hermitage - Tournon1 stop sampled
0.0%
avg 900s · max 900s
Paris Bercy Bourg. Pays d'Auv.1 stop sampled
100.0%
avg 0s · max 0s
Villeneuve-la-Guyard1 stop sampled
0.0%
avg 300s · max 300s
Champigny1 stop sampled
0.0%
avg 300s · max 300s
Pont-sur-Yonne1 stop sampled
0.0%
avg 300s · max 300s
Sens1 stop sampled
0.0%
avg 300s · max 300s
Étigny - Véron1 stop sampled
0.0%
avg 300s · max 300s
Villeneuve-sur-Yonne1 stop sampled
0.0%
avg 300s · max 300s
Saint-Julien-du-Sault1 stop sampled
0.0%
avg 300s · max 300s
Joigny1 stop sampled
0.0%
avg 300s · max 300s
Laroche - Migennes1 stop sampled
0.0%
avg 300s · max 300s
Clermont-Ferrand1 stop sampled
100.0%
avg 0s · max 0s
Saint-Flour - Chaudes-Aigues1 stop sampled
100.0%
avg 0s · max 0s
Saint-Chély-d'Apcher1 stop sampled
100.0%
avg 0s · max 0s
Aumont-Aubrac1 stop sampled
100.0%
avg 0s · max 0s
Marvejols Place du Chayla1 stop sampled
100.0%
avg 0s · max 0s
Mende1 stop sampled
100.0%
avg 0s · max 0s
Beautiran1 stop sampled
100.0%
avg 0s · max 0s
Cérons1 stop sampled
100.0%
avg 0s · max 0s
Langon1 stop sampled
0.0%
avg 3,000s · max 3,000s
La Réole1 stop sampled
0.0%
avg 3,000s · max 3,000s
Marmande1 stop sampled
0.0%
avg 3,000s · max 3,000s
Tonneins1 stop sampled
0.0%
avg 3,000s · max 3,000s
Aiguillon1 stop sampled
0.0%
avg 3,000s · max 3,000s
Port-Sainte-Marie1 stop sampled
0.0%
avg 3,000s · max 3,000s
Col de Puberg1 stop sampled
0.0%
avg 900s · max 900s
Frohmuhl Lavoir1 stop sampled
0.0%
avg 900s · max 900s
Tieffenbach - Struth1 stop sampled
0.0%
avg 900s · max 900s
Diemeringen1 stop sampled
0.0%
avg 900s · max 900s
Venerque - Le Vernet1 stop sampled
100.0%
avg 0s · max 0s
Cintegabelle-Rond-Point1 stop sampled
100.0%
avg 0s · max 0s
Le Vernet1 stop sampled
100.0%
avg 0s · max 0s
Pamiers Centre1 stop sampled
100.0%
avg 0s · max 0s
Varilhes Centre1 stop sampled
100.0%
avg 0s · max 0s
Saint-Jean-de-Verges1 stop sampled
100.0%
avg 0s · max 0s
Chamousset1 stop sampled
100.0%
avg 0s · max 0s
Aiguebelle1 stop sampled
100.0%
avg 0s · max 0s
Épierre - Saint-Léger1 stop sampled
100.0%
avg 0s · max 0s
Saint-Avre - La Chambre1 stop sampled
100.0%
avg 0s · max 0s
Saint-Jean-de-Maurienne Arvan1 stop sampled
100.0%
avg 0s · max 0s
Saint-Michel - Valloire1 stop sampled
100.0%
avg 0s · max 0s
Modane1 stop sampled
100.0%
avg 0s · max 0s
Fréjus1 stop sampled
100.0%
avg 0s · max 0s
Boulouris sur Mer1 stop sampled
100.0%
avg 0s · max 0s
Le Dramont1 stop sampled
100.0%
avg 0s · max 0s
Agay1 stop sampled
100.0%
avg 0s · max 0s
Anthéor Cap Roux1 stop sampled
100.0%
avg 0s · max 0s
Le Trayas1 stop sampled
100.0%
avg 0s · max 0s
Théoule-sur-Mer1 stop sampled
100.0%
avg 0s · max 0s
Mandelieu-la-Napoule1 stop sampled
100.0%
avg 0s · max 0s
Cannes La Bocca1 stop sampled
100.0%
avg 0s · max 0s
Juan les Pins1 stop sampled
100.0%
avg 0s · max 0s
Biot1 stop sampled
100.0%
avg 0s · max 0s
Cagnes-sur-Mer1 stop sampled
100.0%
avg 0s · max 0s
Cros de Cagnes1 stop sampled
100.0%
avg 0s · max 0s
Saint-Laurent-du-Var1 stop sampled
100.0%
avg 0s · max 0s
Nice Saint-Augustin1 stop sampled
100.0%
avg 0s · max 0s
Albertville1 stop sampled
100.0%
avg 0s · max 0s
Saint-Étienne Châteaucreux1 stop sampled
0.0%
avg 1,200s · max 1,200s
Saint-Étienne Carnot1 stop sampled
0.0%
avg 1,200s · max 1,200s
Saint-Étienne Le Clapier1 stop sampled
0.0%
avg 1,200s · max 1,200s
Saint-Étienne Bellevue1 stop sampled
0.0%
avg 1,200s · max 1,200s
La Ricamarie1 stop sampled
0.0%
avg 1,200s · max 1,200s
Le Chambon-Feugerolles1 stop sampled
0.0%
avg 1,200s · max 1,200s
Firminy1 stop sampled
0.0%
avg 1,200s · max 1,200s
Aurec1 stop sampled
0.0%
avg 1,200s · max 1,200s
Bas - Monistrol1 stop sampled
0.0%
avg 1,200s · max 1,200s
Retournac1 stop sampled
0.0%
avg 1,200s · max 1,200s
Vorey1 stop sampled
0.0%
avg 1,200s · max 1,200s
Le Puy-en-Velay1 stop sampled
0.0%
avg 1,200s · max 1,200s
Boé1 stop sampled
100.0%
avg 0s · max 0s
Layrac1 stop sampled
100.0%
avg 0s · max 0s
Goulens1 stop sampled
100.0%
avg 0s · max 0s
Astaffort1 stop sampled
100.0%
avg 0s · max 0s
Sainte-Mère1 stop sampled
100.0%
avg 0s · max 0s
Ragegat1 stop sampled
100.0%
avg 0s · max 0s
Lectoure1 stop sampled
100.0%
avg 0s · max 0s
Fleurance Allée Aristide Briand1 stop sampled
100.0%
avg 0s · max 0s
Fleurance Gendarmerie1 stop sampled
100.0%
avg 0s · max 0s
Montestruc-sur-Gers1 stop sampled
100.0%
avg 0s · max 0s
Sainte-Christie1 stop sampled
100.0%
avg 0s · max 0s
Rambert Preignan1 stop sampled
100.0%
avg 0s · max 0s
Auch Z.A. Lamothe1 stop sampled
100.0%
avg 0s · max 0s
Auch Le Seilhan1 stop sampled
100.0%
avg 0s · max 0s
Auch1 stop sampled
100.0%
avg 0s · max 0s
Saint-Étienne La Terrasse1 stop sampled
0.0%
avg 600s · max 600s
Andrézieux1 stop sampled
0.0%
avg 600s · max 600s
Bonson1 stop sampled
0.0%
avg 600s · max 600s
Sury-le-Comtal1 stop sampled
0.0%
avg 600s · max 600s
Saint-Romain-le-Puy1 stop sampled
0.0%
avg 600s · max 600s
Montbrison1 stop sampled
0.0%
avg 600s · max 600s
Boën1 stop sampled
0.0%
avg 600s · max 600s
Grenoble1 stop sampled
0.0%
avg 300s · max 300s
La Pelletière Crépieux-la-Pape (arrêt Tcl)1 stop sampled
100.0%
avg 0s · max 0s
Miribel-RD1084-Élysée1 stop sampled
0.0%
avg 300s · max 300s
St-Maurice-Beynost D1084 Cte1 stop sampled
0.0%
avg 300s · max 300s
Beynost RD 1084 Gare1 stop sampled
0.0%
avg 300s · max 300s
Montluel1 stop sampled
0.0%
avg 300s · max 300s
La Valbonne1 stop sampled
0.0%
avg 300s · max 300s
Meximieux - Pérouges1 stop sampled
0.0%
avg 300s · max 300s
Ambérieu-en-Bugey1 stop sampled
0.0%
avg 300s · max 300s
Nogent-sur-Seine1 stop sampled
100.0%
avg 0s · max 0s
Romilly-sur-Seine1 stop sampled
100.0%
avg 0s · max 0s
Troyes1 stop sampled
100.0%
avg 0s · max 0s
Châteauneuf-sur-Charente1 stop sampled
100.0%
avg 0s · max 0s
Jarnac1 stop sampled
100.0%
avg 0s · max 0s
Cognac1 stop sampled
100.0%
avg 0s · max 0s
Saujon1 stop sampled
100.0%
avg 0s · max 0s
Royan1 stop sampled
100.0%
avg 0s · max 0s
Valleiry1 stop sampled
100.0%
avg 0s · max 0s
Saint-Julien-en-Genevois1 stop sampled
100.0%
avg 0s · max 0s
Machilly1 stop sampled
100.0%
avg 0s · max 0s
Bons-en-Chablais1 stop sampled
100.0%
avg 0s · max 0s
Perrignier1 stop sampled
100.0%
avg 0s · max 0s
Thonon-les-Bains1 stop sampled
100.0%
avg 0s · max 0s
Évian-les-Bains1 stop sampled
100.0%
avg 0s · max 0s
Nexon1 stop sampled
100.0%
avg 0s · max 0s
Bussière-Galant1 stop sampled
100.0%
avg 0s · max 0s
La Coquille1 stop sampled
100.0%
avg 0s · max 0s
Thiviers1 stop sampled
100.0%
avg 0s · max 0s
Négrondes1 stop sampled
100.0%
avg 0s · max 0s
Agonac1 stop sampled
100.0%
avg 0s · max 0s
Périgueux1 stop sampled
100.0%
avg 0s · max 0s
Les Quatre-Routes1 stop sampled
100.0%
avg 0s · max 0s
Puybrun1 stop sampled
100.0%
avg 0s · max 0s
Bretenoux - Biars1 stop sampled
100.0%
avg 0s · max 0s
Laroquebrou1 stop sampled
100.0%
avg 0s · max 0s
Aurillac1 stop sampled
100.0%
avg 0s · max 0s
Varangéville - Saint-Nicolas1 stop sampled
100.0%
avg 0s · max 0s
Blainville - Damelevières1 stop sampled
100.0%
avg 0s · max 0s
Bayon1 stop sampled
100.0%
avg 0s · max 0s
Charmes1 stop sampled
100.0%
avg 0s · max 0s
Épinal1 stop sampled
100.0%
avg 0s · max 0s
Saumur1 stop sampled
100.0%
avg 0s · max 0s
Montreuil-Bellay1 stop sampled
100.0%
avg 0s · max 0s
Brion-près-Thouet1 stop sampled
100.0%
avg 0s · max 0s
Thouars1 stop sampled
100.0%
avg 0s · max 0s
Bressuire1 stop sampled
100.0%
avg 0s · max 0s
Ars-sur-Moselle1 stop sampled
100.0%
avg 0s · max 0s
Ancy-sur-Moselle1 stop sampled
100.0%
avg 0s · max 0s
Novéant-sur-Moselle1 stop sampled
100.0%
avg 0s · max 0s
Pagny-sur-Moselle1 stop sampled
100.0%
avg 0s · max 0s
Vandières1 stop sampled
100.0%
avg 0s · max 0s
Pont-à-Mousson1 stop sampled
100.0%
avg 0s · max 0s
Dieulouard1 stop sampled
100.0%
avg 0s · max 0s
Belleville1 stop sampled
100.0%
avg 0s · max 0s
Marbache1 stop sampled
100.0%
avg 0s · max 0s
Pompey1 stop sampled
100.0%
avg 0s · max 0s
Frouard1 stop sampled
100.0%
avg 0s · max 0s
Champigneulles1 stop sampled
100.0%
avg 0s · max 0s
L'Arbresle1 stop sampled
100.0%
avg 0s · max 0s
Tarare1 stop sampled
0.0%
avg 600s · max 600s
Amplepuis1 stop sampled
0.0%
avg 600s · max 600s
Givors Ville1 stop sampled
100.0%
avg 0s · max 0s
Rive-de-Gier1 stop sampled
0.0%
avg 600s · max 600s
Saint-Chamond1 stop sampled
0.0%
avg 600s · max 600s
Zillisheim Auberge Mohn1 stop sampled
100.0%
avg 0s · max 0s
Illfurth Croisement Gare-CD681 stop sampled
100.0%
avg 0s · max 0s
Altkirch1 stop sampled
100.0%
avg 0s · max 0s
Dannemarie1 stop sampled
100.0%
avg 0s · max 0s
Montreux-Vieux1 stop sampled
100.0%
avg 0s · max 0s
Belfort-Ville1 stop sampled
100.0%
avg 0s · max 0s
Montchanin1 stop sampled
100.0%
avg 0s · max 0s
Paray-le-Monial1 stop sampled
100.0%
avg 0s · max 0s
Le Coteau1 stop sampled
100.0%
avg 0s · max 0s
Rémilly1 stop sampled
100.0%
avg 0s · max 0s
Faulquemont1 stop sampled
100.0%
avg 0s · max 0s
Saint-Avold1 stop sampled
0.0%
avg 300s · max 300s
Hombourg-Haut1 stop sampled
0.0%
avg 300s · max 300s
Béning-lès-Saint-Avold1 stop sampled
0.0%
avg 300s · max 300s
Howald1 stop sampled
100.0%
avg 0s · max 0s
Creil1 stop sampled
100.0%
avg 0s · max 0s
Chantilly - Gouvieux1 stop sampled
100.0%
avg 0s · max 0s
Orry-la-Ville - Coye1 stop sampled
100.0%
avg 0s · max 0s
Paris Gare du Nord1 stop sampled
100.0%
avg 0s · max 0s
Woippy1 stop sampled
100.0%
avg 0s · max 0s
Maizières-lès-Metz1 stop sampled
100.0%
avg 0s · max 0s
Bettembourg Gare1 stop sampled
100.0%
avg 0s · max 0s
Luxembourg Gare1 stop sampled
100.0%
avg 0s · max 0s
Orléans1 stop sampled
100.0%
avg 0s · max 0s
Reignier1 stop sampled
100.0%
avg 0s · max 0s
Montpellier Saint-Roch1 stop sampled
100.0%
avg 0s · max 0s
Frontignan1 stop sampled
0.0%
avg 600s · max 600s
Sète1 stop sampled
0.0%
avg 600s · max 600s
Agde1 stop sampled
0.0%
avg 600s · max 600s
Béziers1 stop sampled
0.0%
avg 600s · max 600s
Dachstein1 stop sampled
100.0%
avg 0s · max 0s
Duttlenheim1 stop sampled
100.0%
avg 0s · max 0s
Duppigheim1 stop sampled
100.0%
avg 0s · max 0s
Lingolsheim1 stop sampled
100.0%
avg 0s · max 0s
Strasbourg Roethig1 stop sampled
100.0%
avg 0s · max 0s
Champagne-sur-Seine1 stop sampled
0.0%
avg 480s · max 480s
Dammartin - Juilly - Saint-Mard1 stop sampled
100.0%
avg 0s · max 0s
Le Plessis-Belleville1 stop sampled
100.0%
avg 0s · max 0s
Nanteuil-le-Haudouin1 stop sampled
100.0%
avg 0s · max 0s
Crépy-en-Valois1 stop sampled
100.0%
avg 0s · max 0s
Stephansfeld Hôpital1 stop sampled
100.0%
avg 0s · max 0s
Brumath Mairie1 stop sampled
100.0%
avg 0s · max 0s
Mommenheim1 stop sampled
100.0%
avg 0s · max 0s
Schwindratzheim Général Leclerc1 stop sampled
100.0%
avg 0s · max 0s
Hochfelden1 stop sampled
100.0%
avg 0s · max 0s
Wilwisheim Haute-Montée1 stop sampled
100.0%
avg 0s · max 0s
Dettwiller1 stop sampled
100.0%
avg 0s · max 0s
Steinbourg1 stop sampled
100.0%
avg 0s · max 0s
Saverne1 stop sampled
100.0%
avg 0s · max 0s
Hoerdt Maison de Retraite1 stop sampled
100.0%
avg 0s · max 0s
Hoerdt Mairie1 stop sampled
100.0%
avg 0s · max 0s
Weyersheim Rue République1 stop sampled
100.0%
avg 0s · max 0s
Kurtzenhouse Mairie1 stop sampled
100.0%
avg 0s · max 0s
Kurtzenhouse 71 Route Principale1 stop sampled
100.0%
avg 0s · max 0s
Bischwiller Église Catholique1 stop sampled
100.0%
avg 0s · max 0s
Bischwiller1 stop sampled
100.0%
avg 0s · max 0s
Bischwiller Vestra1 stop sampled
100.0%
avg 0s · max 0s
Kaltenhouse Rue de Bischwiller1 stop sampled
100.0%
avg 0s · max 0s
Haguenau1 stop sampled
100.0%
avg 0s · max 0s
Aix-les-Bains le Revard1 stop sampled
100.0%
avg 0s · max 0s
Annecy1 stop sampled
100.0%
avg 0s · max 0s
Bollwiller1 stop sampled
0.0%
avg 300s · max 300s
Rouffach1 stop sampled
0.0%
avg 300s · max 300s
Saint-Lô1 stop sampled
100.0%
avg 0s · max 0s
Coutances1 stop sampled
100.0%
avg 0s · max 0s
Aime - La Plagne1 stop sampled
100.0%
avg 0s · max 0s
Landry1 stop sampled
100.0%
avg 0s · max 0s
Bourg-Saint-Maurice1 stop sampled
100.0%
avg 0s · max 0s
Blois - Chambord1 stop sampled
100.0%
avg 0s · max 0s
Tours1 stop sampled
100.0%
avg 0s · max 0s
Saint-Pierre-des-Corps1 stop sampled
100.0%
avg 0s · max 0s

Provenance

About this data

Every board states where its numbers come from and what they mean, in the one place a reader will look for it.

Source
Official live departures feed for France, polled server-side every 10 minutes.
Metric
Per-departure delay in seconds (realtime − planned time).
On time
Delay ≤ 60 seconds. Early trains count as on time.
Late
Delay > 60 seconds · cancelled services tracked separately.
Coverage
The monitored hub stations, rolling ~20-minute window (staggered pulls).
Not an official France performance statistic. This board publishes the rolling live window only; extended 7- and 30-day views shown in prototypes are labelled samples and are not data.

Another country, the same reading.

Every board reads exactly like this one — one metric, stated plainly, with its own provenance attached.

Browse every board
ESC
Go to
↑↓ to move ↵ to open Esc to close
Advertise Sponsorship