This is an index of all passenger rail services operated in Belgium.
Passenger rail services in Belgium are operated by NMBS/SNCB.
The Belgian rail network is organised into three main domestic passenger train categories on the main lines, these are:
To cater for the large number of commuter workers, especially into Brussels, complementary peak-hours trains run on mornings and late afternoons of working days, they are classified as P trains.
The Brussels S Train service was added in December 2015 and took over a good deal of the L trains. S Trains, and were later also introduced around other key cities like Antwerp, Liège, Gent.
International (high speed) services operate to countries such as the Netherlands, France, Germany, Luxembourg, Austria and UK. These are operated by Eurostar, NS International, Deutsche Bahn, ÖBB Nightjet and SNCF.
Below the train services are arranged by type, and for each type ordered by number. All services are correct to May 2020.
L 01 | Namur–Marche-les-Dames–Namêche–Sclaigneaux–Château de Seilles–Andenne–Bas-Oha–Statte–Huy–Ampsin–Amay–Haute-Flône–Engis–Flémalle-Haute–Leman–Flémalle-Grande–Jemeppe-sur-Meuse–Pont-de-Seraing–Sclessin–Liège-Guillemins | 1x per hour; every 2 hours at weekends | ||
L 02 | Zeebrugge-Strand / Zeebrugge-Dorp–Lissewege–Brugge-Sint-Pieters–Brugge–Oostkamp–Beernem–Maria-Aalter–Aalter–Bellem–Hansbeke–Landegem–Drongen–Gent-Sint-Pieters–Merelbeke–Melle–Kwatrecht–Wetteren–Schellebelle–Wichelen–Schoonaarde–Oudegem–Dendermonde–Baasrode-Zuid–Buggenhout–Malderen–Londerzeel–Kapelle-op-den-Bos–Mechelen | 1x per hour | Weekdays | |
L 02 | Zeebrugge-Strand / Zeebrugge-Dorp–Lissewege–Brugge-Sint-Pieters–Brugge–Oostkamp–Beernem–Maria-Aalter–Aalter–Bellem–Hansbeke–Landegem–Drongen–Gent-Sint-Pieters | Every 2 hours | Weekends | |
L 03 | Leuven–Wezemaal–Aarschot–Langdorp–Testelt–Zichem–Diest–Schulen–Hasselt | 1x per hour | Not weekends | |
L 04 | Braine-le-Comte–Soignies–Neufvilles–Masnuy-Saint-Pierre–Jurbise | 1x per hour | Does not operate at weekends | |
L 05 | Eeklo–Waarschoot–Sleidinge–Evergem–Wondelgem–Gent-Dampoort–Gentbrugge–Gent-Sint-Pieters- De Pinte–Eke-Nazareth–Gavere-Asper–Zingem–Eine–Oudenaarde–Ronse | 1x per hour | Trains split/join at Oudenaarde | |
L 05 | Eeklo–Waarschot–Sleidinge–Evergem–Wondelgem–Gent-Dampoort–Gentbrugge–Gent-Sint-Pieters- De Pinte–Eke-Nazareth–Gavere-Asper–Zingem–Eine–Oudenaarde–Anzegem–Vichte–Kortrijk | 1x per hour | Trains split/join at Oudenaarde; does not operate at weekends | |
L 06 | Luttre–Pont-à-Celles–Gouy-lez-Piéton–Godarville–Manage–La Louvière-Centre–La Louvière-Sud–Morlanwelz–Carnières–Piéton–Forchies–Marchienne-au-Pont–Charleroi-Sud | 1x per hour | Weekdays | |
L 06 | Manage–La Louvière-Centre–La Louvière-Sud–Morlanwelz–Carnières–Piéton–Forchies–Marchienne-au-Pont–Charleroi-Sud | Every 2 hours | Weekends | |
L 06A | Manage–Godarville–Gouy-lez-Piéton–Pont-à-Celles–Luttre–Courcelles-Motte–Roux–Marchienne-au-Pont–Charleroi-Sud | Every 2 hours | Weekends | |
L 07 | Erquelinnes–Erquelinnes-Village–Solre-sur-Sambre–Labuissière–Fontaine-Valmont–Lobbes–Thuin–Hourpes–Landelies–Marchienne-Zone–Charleroi-Sud | 1x per hour; every 2 hours at weekends | Stations in italics are not served at weekends | |
L 08 | Ottignies–Mont-Saint-Guibert–Blanmont–Chastre–Ernage–Gembloux–Lonzée–Beuzet–Saint-Denis-Bovesse–Rhisnes–Namur | 1x per hour; every 2 hours at weekends | ||
L 09 | Spa-Géronstère–Spa–Franchimont–Theux–Juslenville–Pepinster-Cité–Pepinster–Verviers-Central–Verviers-Palais–Dolhain-Gileppe–Welkenraedt–Hergenrath–Aachen Hbf | |||
L 10 | Ciney–Leignon–Chapois–Haversin–Aye–Marloie–Jemelle–Forrières–Grupont–Poix-Saint-Hubert–Libramont | Every 2 hours | ||
L 11 | Namur–Jambes–Lustin–Godinne–Yvoir–Dinant–Anseremme–Gendron-Celles–Houyet–Beauraing–Gedinne–Graide–Carlsbourg–Paliseul–Bertrix–Libramont | Every 2 hours | ||
L 12 | Libramont–Neufchâteau–Marbehan–Habay–Stockem–Viville–Arlon–Kleinbettingen–Luxembourg | Every 2 hours | ||
L 13 | Libramont–Bertrix–Florenville–Virton–Halanzy–Aubange–Athus–Messancy–Arlon | Every 2 hours | Does not operate between Virton and Arlon at weekends | |
L 14 | Ottignies–Céroux Mousty–Court Saint Etienne–Faux–La Roche–Villers la Ville–Tilly–Ligny–Fleurus–Lodelinsart–Charleroi-West–Charleroi-Sud–Couillet–Châtelet–Le Campinaire–Farciennes–Aiseau–Tamines–Auvelais–Jemeppe-sur-Sambre–Moustier–Franière–Floreffe–Flawinne–Ronet–Namur–Jambes | 1x per hour; every 2 hours at weekends | Does not operate between Namur and Jambes at weekends | |
L 15 | Liers–Milmort–Herstal–Liège-Saint-Lambert–Liège-Carré–Liège-Guillemins–Angleur–Tilff–Méry–Hony–Esneux–Poulseur–Rivage–Comblain-la-Tour–Hamoir–Sy–Bomal–Barvaux–Melreux-Hotton–Marche-en-Famenne–Marloie | 1x per hour | ||
L 16 | Namur–Jambes-Est–Dave-Saint-Martin–Naninne–Sart-Bernard–Courrière–Assesse–Natoye–Ciney | 1x per hour; every 2 hours at weekends | Stations in italics are served at weekends | |
L 17 | Herstal–Liège-Saint-Lambert–Liège-Carré–Liège-Guillemins–Angleur–Chênée–Trooz–Fraipont–Nessonvaux–Pepinster–Verviers-Central | 1x per hour | ||
L 18 | Mons–Saint-Ghislain–Boussu–Hainin–Thulin–Quiévrain | 1x per hour | Weekends | |
L 19 | Braine-le-Comte–Écaussinnes–Marche-lez-Écaussinnes–Familleureux–Manage | 1x per hour | Weekdays | |
L 20 | Sint-Niklaas–Temse–Bornem–Puurs–Willebroek–Mechelen–Muizen–Hever–Boortmeerbeek–Haacht–Wespelaar-Tildonk–Wijgmaal–Leuven | 1x per hour | Weekdays | |
L 20 | Mechelen–Muizen–Boortmeerbeek–Haacht–Wespelaar-Tildonk–Wijgmaal–Leuven | 1x per hour | Weekends | |
L 21 | Waremme–Bleret–Remicourt–Momalle–Fexhe-le-Haut-Clocher–Voroux–Bierset-Awans–Ans–Liège-Guillemins | 1x per hour | Weekdays | |
L 21 | Landen–Waremme–Remicourt–Momalle–Fexhe-le-Haut-Clocher–Bierset-Awans–Ans–Liège-Guillemins | 1x per hour | Weekends | |
L 22 | Roosendaal–Essen–Wildert–Kalmthout–Kijkuit–Heide–Kapellen–Sint-Mariaburg–Ekeren–Antwerpen-Noorderdokken–Antwerpen-Luchtbal–Antwerpen-Centraal–Antwerpen-Berchem–Antwerpen-Zuid–Hoboken-Polder–Hemiksem–Schelle–Niel–Boom–Ruisbroek-Sauvegarde–Puurs | 1x per hour | Does not operate between Antwerp and Puurs at weekends | |
L 23 | Antwerpen-Centraal–Antwerpen-Berchem–Mortsel–Boechout–Lier–Berlaar–Melkouwen–Heist-op-den-Berg–Booischot–Begijnendijk–Aarschot–Wezemaal–Leuven | 1x per hour | ||
L 24 | Antwerpen-Centraal–Antwerpen-Berchem–Mortsel–Boechout–Lier–Kessel–Nijlen–Bouwel–Wolfstee–Herentals–Olen–Geel–Mol | 1x per hour | Does not operate at weekends | |
L 25 | Gent-Sint-Pieters–Merelbeke–Melle–Gontrode–Landskouter–Moortsele–Scheldewindeke–Balegem-Dorp–Balegem-Zuid–Zottegem–Lierde–Geraardsbergen | 1x per hour | Stations in italics are not served at weekends | |
L 26 | Quévy–Genly–Frameries–Mons–Nimy–Obourg–Havré–Thieu–Bracquegnies–La Louvière-Sud | 1x per hour | Weekdays | |
L 26 | Mons–Nimy–Havré–Thieu–Bracquegnies–La Louvière-Sud | Every 2 hours | Weekends | |
L 27 | Sint-Niklaas–Temse–Bornem–Puurs–Willebroek–Mechelen | 1x per hour | Weekends | |
L 28 | Gent-Sint-Pieters–Kwatrecht–Wetteren–Schoonaarde–Dendermonde–Buggenhout–Malderen–Londerzeel–Kapelle-op-den-Bos–Mechelen | 1x per hour | Weekends | |
L 29 | Geraardsbergen–Acren–Lessines–Houraing–Papignies–Rebaix–Ath–Maffle–Mévergnies-Attre–Brugelette–Cambron-Casteau–Lens–Jurbise–Erbisoeul–Ghlin–Mons–Jemappes–Quaregnon–Saint-Ghislain–Blaton–Péruwelz–Antoing–Tournai | 1x per hour; Every 2 hours at weekends | Does not operate between Mons and Tournai at weekends; stations in italics are not served at weekends | |
L 30 | (Dendermonde–Zele -) Lokeren–Sinaai–Belsele–Sint-Niklaas–Nieuwkerken-Waas–Beveren–Melsele–Zwijndrecht–Antwerpen-Zuid–Antwerpen-Berchem–Antwerpen-Centraal | 1x per hour |
Route | Stops | Frequency | Notes | |
---|---|---|---|---|
S1 | Antwerpen-Centraal–Antwerpen-Berchem–Mortsel–MortseL Liersesteenweg–Hove–Kontich–Duffel–Sint-Katelijne-Waver–Mechelen-Nekkerspoel–Mechelen–Weerde–Eppegem–Vilvoorde–Buda–Schaarbeek–Brussels-North–Brussels-Congress–Brussels-Central–Brussels-Chapel–Brussels-South–Forest-East–Uccle-Stalle–Uccle-Calevoet–Linkebeek–Holleken–Sint-Genesius-Rode–De Hoek–Waterloo–Braine-l'Alleud–Lillois–Nivelles | 2x per hour between Antwerp, Brussels and Nivelles | Weekdays | |
S1 | Antwerpen-Centraal–Antwerpen-Berchem–MortseL Deurnesteenweg–MortseL Oude-God–Hove–Kontich–Duffel–Sint-Katelijne-Waver–Mechelen-Nekkerspoel–Mechelen–Weerde–Eppegem–Vilvoorde–Schaarbeek–Brussels-North–Brussels-Central–Brussels-South | 1x per hour | Weekends | |
S1 | Brussels-North–Brussels-Central–Brussels-South–Forest-East–Uccle-Stalle–Uccle-Calevoet–Linkebeek–Holleken–Sint-Genesius-Rode–De Hoek–Waterloo–Braine-l'Alleud–Lillois–Nivelles | 1x per hour | Weekends | |
S2 | Leuven–Herent–Veltem–Erps-Kwerps–Kortenberg–Nossegem–Zaventem–Diegem–Haren-South –Schaarbeek–Brussels-North–Brussels-Central–Brussels-South–Forest-South–Ruisbroek–Lot–Buizingen–Halle–Lembeek–Tubize–Hennuyères–Braine-le-Comte | 2x per hour | ||
S3 | Dendermonde–Sint-Gillis–Lebbeke–Heizijde–Opwijk–Merchtem–Mollem–Asse–Zellik–Jette–Bockstael–Brussels-North–Brussels-Central–Brussels-South -Denderleeuw–Welle–Haaltert–Ede–Burst–Terhagen -Herzele–Hillegem–Zottegem–Munkzwalm–Sint-Denijs-Boekel–Oudenaarde | 1x per hour | Weekdays | |
S4 | Vilvoorde–Haren–Bordet–Evere–Meiser–Merode–Delta–Etterbeek–Brussels-Luxembourg–Brussels-Schuman–Bockstael–Jette–Sint-Agatha-Berchem–Groot-Bijgaarden–Dilbeek–Sint-Martens-Bodegem–Ternat–Essene-Lombeek–Liedekerke–Denderleeuw–Erembodegem–Aalst | 1x per hour | Weekdays, stations in italics are served during peak hours | |
S5 | Mechelen–Weerde–Eppegem–Vilvoorde–Haren–Bordet–Evere–Meiser–Brussels-Schuman–Brussels-Luxembourg–Mouterij–Etterbeek–Boondael–Vivier d'Oie–Saint-Job–Moensberg–Beersel–Huizingen–Halle–Enghien–Herne–Tollembeek–Galmaarden–Viane-Moerbeke–Geraardsbergen | 2x per hour | Weekdays, stations in italics are served during peak hours | |
S6 | Aalst–Denderleeuw–Iddergem–Okegem–Ninove–Eichem–Appelterre–Zandbergen–Idegem–Schendelbeke–Geraardsbergen–Viane-Moerbeke–Galmaarden–Tollembeek–Herne–Enghien–Halle–Brussels-South–Brussels-Central–Brussels-North–Schaarbeek | 1x per hour | Stations in italics are served during peak hours | |
S7 | Mechelen–Muizen–Hofstade–Eppegem–Vilvoorde–Haren–Bordet–Evere–Meiser–Merode–Delta–Boondael–Vivier d'Oie–Saint-Job–Moensberg–Beersel–Huizingen–Halle | 1x per hour | ||
S8 | Brussels-South–Brussels-Central–Brussels-North–Brussels-Schuman–Brussels-Luxembourg–Etterbeek–Watermael–Boitsfort–Groenendaal–Hoeilaart–La Hulpe–Genval–Rixensart–Profondsart–Ottignies–Louvain-la-Neuve-Université | 2x per hour, 1x per hour at weekends | ||
S9 | Leuven–Herent–Veltem–Erps-Kwerps–Kortenberg–Nossegem–Zaventem–Diegem–Haren–Bordet–Evere–Meiser–Brussels-Schuman–Brussels-Luxembourg–Mouterij–Etterbeek–Boondael–Vivier d'Oie–Saint-Job–Linkebeek–Holleken–Sint-Genesius-Rode–De Hoek–Waterloo–Braine-l'Alleud–Lillois–Nivelles | 1x per hour | Weekdays | |
S10 | Dendermonde–Sint-Gillis–Lebbeke–Heizijde–Opwijk–Merchtem–Mollem–Asse–Zellik–Jette–Thurn en Taxis–Simonis–Brussels-West–Brussels-South–Brussels-Central–Brussels-North–Bockstael–Jette–Sint-Agatha-Berchem–Groot-Bijgaarden–Dilbeek–Sint-Martens-Bodegem–Ternat–Essene-Lombeek–Liedekerke–Denderleeuw–Erembodegem–Aalst | 1x per hour | ||
S20 | Leuven–Heverlee–Oud-Heverlee–Sint-Joris-Weert–Pécrot–Florival–Archennes–Gastuche–Basse-Wavre–Wavre–Bierges-Walibi–Limal–Ottignies | 2x per hour, 1x per hour at weekends | ||
S81 | Schaarbeek–Brussels-Schuman–Brussels-Luxembourg–Etterbeek–Watermael–Boitsfort–Groenendaal–Hoeilaart–La Hulpe–Genval–Rixensart–Profondsart–Ottignies | 1x per hour | Weekdays, Peak hours only |