Please buy me a coffee/tea! ☕
Greetings! The following are some information on train travel in Benelux (Belgium, Netherlands, and Luxembourg). Belgium built the first steam railway in Continental Europe in 1835. This was followed by the Netherlands in 1839, and Luxembourg in 1845. The three countries have well developed railway networks, connecting the vast majority of towns and cities. Within Benelux, rail is often the fastest way to travel between towns and cities.
Included in this page are some tips on train travel in Benelux in general, and also some on neighbouring France and Germany. Below are schematic maps I have drawn for the regular domestic passenger train services in Benelux in 2025 (Sun 15-12-2024 to Sat 13-12-2025). Due to the complexity of the networks, Netherlands is presented in four maps, and Belgium + Luxembourg are presented in four maps. (Click on the thumbnails to open the pdf's.)
Domestic and local cross-border train network in The Netherlands:
Domestic and local cross-border train network in Belgium & Luxembourg:
Here are videos of the categories of passenger rail services in Benelux that I took in 2018 (let's see whether I can make some new videos this year):
The following is a summary of the following sections.
Jump to:
The following are some comments which apply to train travel throughout Benelux.
Most trains are run by Dutch Railways, or "NS" (Nederlandse Spoorwegen). Other than normal day-time train services, their night trains link the largest cities in the west of the country hourly throughout the night every night. The second largest company is Arriva, which runs some regional lines in the north, east, and south of the country, plus some night trains. There are also other companies running individual lines. Dutch Arriva trains run short distances into neighbouring countries, and there are also Belgian / German trains which run short distances into The Netherlands.
There is also Blauwnet, which is not a company but a brand. It belongs to the province of Overijssel in the east, and it is a unified brand for the non-NS services in and around Overijssel, run by several companies. See the maps above.
The aforementioned categories of train services are covered by the same domestic ticketing when travelling within the Netherlands, and the different companies running these services have very similar pricing structures. (This is different from Germany, where ICE/IC have very different pricing from those of the slower trains.) Different from all of the above is the Arriva night train, which has its own ticketing.
For the ordinary single and (day) return domestic tickets, NS and Arriva sell tickets to all train stations in the Netherlands. You don't have to buy separate tickets if your journey involves spearate companies. (Sometimes there are deals which are only valid on certain companies or lines.) The number of tickets do not run out, and there is no seat reservation. The only exception to these is the Arriva night trains, which has its own ticketing, and they do not sell more tickets than the number of seats available (but there is no seat reservation). (The NS night trains have normal domestic ticketing.)
When you purchase a ticket from a ticket machine, you may be asked which company you want to use for your journey. Different comapanies usually run different lines. Even if they run on the same trajectory, usually the stopping patterns are different.
In the Netherlands, in the vast majority of cases you must have a ticket before you board a train; most usually you cannot buy a ticket inside a train. You may be fined if you are caught travelling without a ticket.
As for the physical form of the tickets, there are three main types: contactless, QR-code, and phone location tracking.
Contactless tickets require you to tap the ticket close to a card reader. The same contactless system is used for the vast majority of public transport in the Netherlands.
For ordinary full-fare second class journeys, you can use OVpay, which is tapping your ordinary NFC-enabled debit or credit card (of the Visa or Mastercard systems), or an associated mobile device to a card reader. Age-based discount can be activated using OVpay. Arriva has a subscription for off-peak discount on buses and trains in Limburg province using OVpay. The range of usage for OVpay is gradually widening.
The tickets sold by ticket machines and over the counter are single-use OV-chipkaarts. The single-use OV-chipaakrt is the size of a bank card, but it is a piece of thin cardboard, with electronics inside. For the ordinary one-way and day-return tickets from a machine, and domestic tickets from a ticket counter, a single-use OV-chipkaart costs €1 on top of the train fare. (The €1 fee is waived for certain tickets, e.g. the Railrunner children's ticket.) At a ticket machine, you specify the origin and destination, date, and first versus second class. After inputting these details, if there is more than one reasonable route, the machine may ask you which route you want to take if there is a price difference. For domestic tickets, it is not possible to specify a mid-way detour station. For international tickets from ticket machines, it may be possible to specify a border crossing point that is different from the assumed one. For instance, for a ticket from Arnhem Centraal to Düsseldorf Hbf, (firstly there is a choice for a ticket on the faster ICE versus the slower RE, and) after you have input these two stations, the machine shows you the default border crossing point of Emmerich border. Pressing the button which says Emmerich border gives you the option of choosing several other border crossing points, e.g. Venlo border.
The NS ticket machines can handle tickets to all domestic destinations, most destinations in Belgium and Luxembourg, and some destinations in Germany (see the list of destinations). The Dutch ticket machines cannot handle seat reservations for IC and ICE to Germany. The Dutch ticket machines do not sell tickets on high speed trains towards the south (Eurostar, TGV), and can currently (late 2024 / early 2025) not yet handle tickets for Eurocity Direct to Belgium. The Dutch ticket machines can only handle full-fare tickets; for long-distance international travel, it is usually better to buy tickets online.
If you are already close to the border, using the foreign ticket machines found at some border stations are usually better than using Dutch ticket machines for journeys to those countries (if you don't want to or cannot get a ticket online).
Belgian ticket machines can be found at (from west to east):
German ticket machines can be found at (from south to north):
There is also the durable OV-chipkaart. A durable OV-chipkaart usually costs €7.5. (This is purely a purchase cost; there is no deposit involved.) There are anonymous cards and personal cards. Anonymous cards can be purchased from many ticket machines and from OV-chipkaart service points. Anonymous cards can be used by any one person at a time, and you always pay full fare.
Personal cards have to be purchased on-line. Subscriptions (e.g. discount subscriptions) can be loaded into a personal OV-chipkaart. An OV-chipkaart can be purchased on its own. With some subscriptions, you can buy one together with the subscription. Sometimes they provide you with an OV-chipkaart for free with a subscription.
Unless you have a post-pay subscription or a ticket pre-loaded into your OV-chipkaart, you have to travel by credit, i.e. load money beforehand into the OV-chipkaart. If you travel by credit, they pre-deduct an amount of credit when you tag-on ("check in"). The amount can be as high as €20, depending on the bus / train / ferry company. If you do not already have that amount of credit in your OV-chipkaart, you cannot tag on. When you tag out, the difference between the journey fare and the pre-deducted amount is adjusted accordingly, i.e. you get a refund or are charged more. If you do a "transfer", e.g. you transfer between train companies / systems, or you want to go through the station gates and get out of the paid-area temporarily, the amount of credit you have in the card could have gone below the amount needed to tag-on again (recharge your card in this case).
With contactless ticketing, you need to tag on and tag off (inchecken and uitchecken) at the card readers. Transferring between different companies / systems requires you to tap off one company and tag on with another comapny. (A Dutch journey planner tells you if you need to do so.) Most stations only have card readers of one company. As shown in the maps above, sometime you may encounter two, or rarely three systems of contactless readers. Tap in and out of each company / system accordingly at the connecting station.
Tagging off and then tagging on again within 35 minutes is considered a transfer (a new flagfall is not charged). With card-reading poles, you have to wait 100 seconds before you can tag off again to cancel a tag on. (The purpose of this is to avoid double-tapping. You can also use this method to check whether you have already tagged on.) Tagging off within 20 minutes of tagging on at the same station gives you full refund of the pre-deducted amount. With NS this time limit is 60 minutes.
There are two types of card readers: gates and poles (see photos and video within). Not all stations have gates. At stations without gates, tag in and out of the system at the card-reading poles, which are standing objects with a circular area where you tap the contactless ticket. At stations with gates, make sure that you tap in and out of the system at the correct side of the gate. If you encounter gates that are not closed, you still need to tag on and off at the correct side of the gate, as if the gates are closed. If you arrive from a foreign country by train, do not use a contactless ticket (e.g. bank card, durable OV-chipkaart) to get out of a station if the ticket does not have a corresponding tapping in record from within the Netherlands. If you do so, there will be a penalty for irregular usage.
Sometimes there are card readers on a platform, with a sign saying overstappen above the readers. These are for overstappen "transfer", i.e. when transferring between different companies / systems, or when you arrive from a foreign country by train, and (having used up the international ticket) continue to travel domestically in the Netherlands using a contactless payment method. (Ultimately these are not different from the other card-reading poles, but there could be closed gates at the station. It is best to not use these card-reading poles which say overstappen if you intend to leave a station.)
There are Dutch OV-chipkaart readers at the following stations in Germany close to the Dutch border. You can use normal Dutch contactless payment methods to travel between the Netherlands and these German stations (but not for travel within Germany). From south to north these are:
(There are some, but do not count on there being OV-chipkaart credit-loading machines in Germany. Preload enough credits in The Netherlands, or use an online / automatic credit-loading method.)
Currently OV-pay (bank card / mobile pay) cannot handle first class travel. For single-use OV-chipkaarts, second versus first class is determined when you buy the ticket. For durable OV-chipkaarts, they are set to second class by default. To switch to first class, do so at a ticket machine, or in the railway company app if your card is linked to an online account with them.
Tickets sold on the internet has a QR-code. Tickets can be purchased from the NS website, or from apps like the NS app, Arriva's glimble app, the 9292 app, and the Gaiyo app. For international travel, there are e.g. the NS International website and app.
The QR-code can be used to open station gates. Most gate readers these days read both QR-codes and contactless tickets. There may be some gate readers which only read contactless cards, but there is at least one gate at each station that can read QR-codes.
If the station has no gates, or if the gates are open, there is nothing you need to do; just board the train. (QR-code tickets have a date on them, and you do not have to activate them.)
German long-distance and Belgian tickets for the Netherlands usually have a QR-code for opening Dutch station gates. If you arrive on a German local train, in most cases you arrive in a station without gates. In Enschede you arrive on a platform that has no gates (the platforms for Dutch trains have gates). With RE19 at Arnhem Centraal, you arrive within the gated area. If needed, a QR-code can be obtained from the conductor as the train travels between Zevenaar and Arnhem Centraal. In the other direction, if needed you can ask the staff at the international ticket counter at Arnhem Centraal for a QR-code (explain your situation to them). There are also intercom buttons close to all ticket gates; press the blue button (not the emergency red button unless you have an emergency), explain the situation to the operator (voice only), and they will open the gates for you.
This works with Arriva's glimble app, and only in parts of the country. With a credit card tied to the app, and with a phone: a) that is not in flight mode; b) with internet switched on; and c) with location tracking switched on, you can pay by swiping in in the app before you board the train / bus to begin the journey, and swiping off at the end of the whole journey, if the whole journey is conducted in an area where this system is supported. The app records the details of your journey, and charges your credit card accordingly. Currently this works for: a) Arriva trains in Friesland and Groningen provinces; b1) Arriva buses and trains in Limburg province, including the RS11 train to Nijmegen; and b2) RE18 to/from Aachen Hbf, and RE 1 or RE 9 between Aachen Hbf and Köln Hbf (Cologne). There are also e.g. day tickets, which also require you to swipe in and out in the app, without the need to tie a credit card to the app. A QR-code is generated for getting through Dutch railway station gates.
Do I need to buy domestic tickets early? It depends.
NS has PriceTime Deal (Prijstijd Deal): for off-peak domestic journeys run entirely by NS, there can be a discount of up to 60% if you book at least one day ahead online (website / app). Each journey has to be booked separately; there is no special deal for return trips. Not all destinations are available, e.g. there is no PriceTime Deal for journeys that involve Schiphol Airport (even when just transferring). Do a normal journey search in the NS website / app, and it shows you if a PriceTime Deal / Prijstijd Deal discount is available for a particular off-peak trip. After the purchase, an e-ticket is issued, in the form of an e-mail and/or a QR-code loaded into the NS app. A time period during off-peak is stated, and the passenger has to complete the entire trip during this period. For shorter trips, there are usually many departures which satisfy the time limit, but for longer trips, there may be only one or two departures possible.
If you travel with someone with a NS suscription, you may qualify for samenreiskorting, which is 40% off full fare (see below).
Different companies have slightly different pricing (sometimes different sections have different pricing). The normal single and return tickets have distance-based pricing by kilometer, or by tariff unit. A flagfall or a minimum number of tariff units is charged. When a journey involves transferring between two or more companies / systems, only the flagfall or minimum unit charge of the first applies. (Hence the fare in one direction can be different from that in the opposite direction.
This is NS's map of tariff units. (Other companies have different charges for the normal single and return tickets on their sections.) One tariff unit is approximately 1 km. However, the units are adjusted so that in many cases, travelling to the opposite end of a loop costs the same either way (check with the NS journey planner to see whether this is the case.) For instance, going from Breda to Utrecht Centraal costs the same going west via Rotterdam Centraal, or east via 's-Hertogenbosch. Similarly, going from Amsterdam Centraal to Rotterdam Centraal, the price is the same travelling west on the InterCity via Den Haag HS, or east on the Sprinter via Breukelen / Woerden. Travelling in the middle with Sprinter to Schiphol Airport, and then InterCity direct or Eurocity Direct to Rotterdam Centraal, also has the same base price, before the ICd surcharge (see below).
A day-return ticket is just double the fare of a single ticket. (If you get a single-use OV-chipkaart from a ticket machine, or a domestic ticket from a ticket counter, a single-use OV-chipkaart costs €1 in both cases.)
For normal domestic travel, there are two kinds of supplement (i.e. surcharge on top of the base fare):
NS sells various types of domestic tickets, e.g. tourist-oriented, day-unlimited, child, pet, bicycle tickets. (Fully folded bicycles travel for free.) The fare for a day-return ticket is just double that of a single ticket. Not mentioned in that page is the off-peak youth day ticket (12–18 yo inclusive), which is an app-only ticket.
There is the Euregio ticket, which is a day ticket valid on public transport in Dutch Limburg south of Roermond (inclusive), and large areas in neighbouring Belgium and Germany.
There are the various types of subscriptions sold by NS (i.e. season tickets, rail cards). For instance, Dal Voordeel is less than €6 per month, and gives a discount of 40% off during off-peak. (This depends on the time of the tagging-on of the OV-chipkaart; the travelling itself can happen during peak time). Off-peak is weekdays 9am – 4pm, 6:30pm – 6:30 am, and whole day during the weekend and holidays. The subscription fee(s) and/or fare(s) are charged afterward each month. Most of the NS subscriptions are valid throughout Netherlands, including on trains of other companies.
Arriva sells various types of tickets and supscriptions. Many of these are region specific. Most NS subscriptions are also valid on Arriva trains, except the Arriva night trains, which has its own ticketing. (It is also unclear what type of ticketing the new Arriva sneltrein between Zwolle and Groningen would have, when it launches.)
With many subscriptions, there is the samenreiskorting: three other travellers can travel with the subscription holder during off-peak periods, and they receive a 40% discount off the full fare. For the co-travellers, the discount only applies if the whole train journey is conducted during off-peak (according to the scheduled departure and arrival times); this is stricter than the conditions for the account holder. The discount for the co-travellers have to be organised online; each co-traveller is issued a QR-code, which comes in an e-mail and/or loaded into their NS app.
See NS's page on Travel Assistance (domestic) and Travel Assistance (international). Sprinter trains are usually accessible. On the other hand, many Intercity trains have large steps. Travel assistance is available at most stations for all services, including night services. Accessible toilets are available in the vast majority of trains nowadays. (Whether they work or not is another question.)
The following is a list of long distance international rail services that run directly to/from the Netherlands. Many are bookable through NS international (website / app), or through (the international versions of) the websites and apps of the railway companies of neighbouring countries. With all of the services listed below, it is a good idea to book tickets early. With cheaper tickets, you typically have to catch a specific train, i.e. at a specific time and date (check the conditions carefully before purchasing a ticket).
The long-distance international services that do not take domestic passengers in the Netherlands are especially susceptible to changes in routing. Check announcements to possible changes actively. (In the list below, services which do not mention the possibility of domestic travel in the Netherlands do not normally take domestic passengers.)
The long-distance international passenger rail market is being liberalised in the Netherlands; the following list is not necessarily up to date (by the time you read this, there can be new players, and some could have gone bust).
Also check the railway companies of nearby countries for ideas. Germany, Belgium, and France have better international rail connections than The Netherlands.
For Luxembourg, it is usually quicker to reach Luxembourg via Belgium (with e.g. IC Brussels – Luxembourg, IC Liège – Luxembourg). However, if you are in The Netherlands close to the German border, it is worth also checking ticket prices via Germany (with e.g. RE Koblenz – Luxembourg). If you have the time to travel exclusively on local trains, and can handle the unpredictability of German trains, the DeutschlandTicket is a fantastic deal (see below).
The first note is that, like Belgium in general, Belgian Railways has strict language policies. In the Dutch language area in the north, only the Dutch versions of the Belgian place names are shown and announced. In the French language area in the south, only the French versions of Belgian place names are shown and announced. Signage and announcements are bilingually in French and Dutch in the Brussels Capital Region. There is also a small German language area in the east of the country. The trouble for people unfamiliar with all these is that the place names can look and sound rather different in different languages. For instance, Mons in French is displayed and announced as Bergen if you are in the Dutch-speaking part of Belgium. Liège in French is Luik in Dutch and Lüttich in German. Antwerpen in Dutch is Anvers in French and Antwerp in English. Leuven in Dutch is Louvain in French, but Louvain-La-Neuve is a totally different place (and Louvain-La-Neuve is not translated into Dutch). The language area boundaries, and some alternative place names in Dutch / English / French / German / Luxembourgish are shown in the maps, with the Belgian ones repeated below.
The largest station in Belgium is Brussel-Zuid / Bruxelles-Midi. In English this is sometimes known as Brussels-South (or Brussels-Midi).
The vast majority of trains are run by Belgian Railways, or "NMBS" in Dutch and "SNCB" in French (Nationale Maatschappij der Belgische Spoorwegen / Société nationale des chemins de fer belges / Nationale Gesellschaft der Belgischen Eisenbahnen). Close to the Luxembourgish border, services between Athus and Luxembourg are run by Luxembourgish Railways (CFL). At Arlon, one also sees some Luxembourgish trains. Dutch Arriva trains run between Liège and The Netherlands (and then further to Germany), in coorporation with Belgian Railways. The Eurocity to The Netherlands is run by Belgian trains, and the Eurocity Direct is run by Dutch trains. Both of these are joint-ventures of Belgian Railways and Dutch Railways.
S, L, P, T, IC, and EC trains are covered by the same domestic ticketing when travelling within Belgium. (This is different from Germany, where ICE/IC have very different pricing from those of the slower trains.)
Belgian Railways sells tickets to all train stations in Belgium with regular train services. The number of tickets do not run out, and there is no seat reservation.
It is best to buy a ticket before boarding a train. Buying a ticket from a train conductor costs an extra €9, payable by electronic payment (on board fare; see that page for some exceptions). If you fail to buy a ticket, you may be fined.
As for the physical forms of tickets, there are paper tickets and e-tickets. Many season tickets can be loaded to an NFC card.
The tickets issued by ticket machines, ticket counters, and train conductors are mostly paper tickets with a QR code. They sell tickets to all domestic train stations with normal train services.
NMBS/SNCB also runs their own trains to some short-distance cross-border destinations, with ticketing that is more similar to domestic ticketing than "proper" international ticketing. These cross-border tickets can be obtained in all ticket machines and ticket offices. In some of these foreign border stations there are Belgian ticket machines. (In the past, these Belgian ticket machines in foreign countries offer a somewhat narrower range of tickets. I don't know whether this is still the case now.)
A ticket to these cross-border destinations can be purchased from any NMBS / SNCB ticket office, and there is no service charge. This is unlike other "proper" international destinations: tickets to these "proper" international destinations can only be purchased at specialised international ticket counters, and there is a (hefty) service charge. (It is better to buy long-distance international tickets online.)
Domestic tickets can be purchased at the NMBS / SNCB domestic website or app. Cross-border and international tickets have to be purchased at the international website or app. These tickets contain a QR code.
The Belgian NFC card is called MoBIB, which is shared by NMBS / SNCB and the public transport companies of Flanders, Brussels, and Wallonia. Unlike Netherland's OV-chipkaart, Belgium's MoBIB does not have a credit function, i.e. you cannot "add money" to the card. With other companies, they have time-based tickets that you can load into a MoBIB card. With NMBS / SNCB, most season tickets are loaded into a MoBIB card, but you cannot use a MoBIB card for the ordinary single and return tickets. One exception is that the Brussels airport supplement can be loaded into a MoBIB card.
Do I have to buy a ticket early? No. There is no discount for early booking for domestic and cross-border travels. There is no seat reservation, and tickets do not run out. (There is an overhaul of ticketing planned for 2025. These statements are likely to remain true, but check.)
NMBS / SNCB charges by distance in kilometres. NMBS / SNCB has a huge range of different tickets and subscriptions. Amongst possible changes with the overhaul of ticketing planned for 2025 is a discount subscription that anyone can purchase.
There is the concept of "zone". (These are indicated in the Belgian maps; e.g. Zone Brussels basically consists of all the stations in the Brussels Capital Region.) The zones are single tariff points. If you hold a domestic ticket, if the origin and/or destination of the ticket is a "zone", then you have unlimited train travel within the zone before you leave the zone, within the day of train operations. A single ticket from and to Zone Brussels gives you unlimited train travel within the zone for the day. This "zone" rule also used to apply to international tickets, but this has been canceled since 15-12-2024.
A ticket to or from one of the Mortsel stations has equal validity at the other two Mortsel stations. (The fourth Morstel station, Mortsel-Deurnesteenweg, has ceased operations since 15-12-2024.) However, Mortsel is not a "zone", i.e. there is no unlimited travel amongst these.
A domestic return ticket to one of the coastal stations gives the passenger the right to return from another coastal station. The coastal stations are Knokke, Duinbergen, Heist, Zeebrugge-Dorp, Zeebrugge-Strand, Blankenberge, Oostende, Veurne, Koksijde, and De Panne.
The only station with ticket gates in Belgium is Brussels Airport–Zaventem station. There is a Brussels Airport supplement (i.e. surcharge) for going through the station gates at this station, applicable to most passengers. This surcharge is already included in the ordinary single and return tickets to/from the airport, but you may need to purchage this surcharge separately in some situations. After the supplement is paid, a barcode is issued, or a ticket is loaded into a MoBIB card, for opening the station gates.
There is the Euregio ticket, which is valid on public transport in Belgian Limburg and Liège provinces, and large areas in neighbouring Netherlands and Germany.
Fully folded bicycles travel for free. Otherwise a bike supplement is required. Bicycles are not allowed to board and deboard trains at Brussels-Central, Brussel-Kapellekerk / Bruxelles-Chapelle, and Brussel-Congres / Bruxelles-Congrès.
The terms and conditions of Belgian Railways can be found here (in Dutch and French).
See NMBS / SNCB's page of Travel Assistance (domestic) and Travel Assistance (international). NMBS / SNCB launched their first fully accessible trains in 2024.
The following is a list of long distance international rail services that run directly to/from Belgium. Many are bookable through B-europe (website, app), or through (the international versions of) the websites and apps of the railway companies of neighbouring countries. With all of the services listed below, it is a good idea to book early. With cheaper tickets, you typically have to catch a specific train, i.e. at a specific time and date (check the conditions carefully before purchasing a ticket). (The following list is possibly incomplete, or the situation could have changed by the time you read this.)
The long-distance international services that do not take domestic passengers in Belgium are especially susceptible to changes in routing. Check announcements to possible changes actively.
With Eurostar, TGV INOUI, or Nightjet, for a fixed price you can add a connection ticket to/from any station in Belgium. This is a good deal if the connection involved is mid to long distance.
Luxembourg is a cross-border destination, and can be reached using ordinary IC, L, and P trains. (Second class train travel is fare-free in Luxembourg, but you still need to pay for the section between the border and the closest station in Belgium, except Athus.)
There are special tickets for continuing on French local trains (TER) to/from many destinations in Hauts-de-France, connecting with the Belgian cross-border trains at Lille-Flandres or Maubeuge. See this page for more information (press "Tickets Belgium ⇄ Lille").
"Luxembourg" here refers to the independent country of Grand Duchy of Luxembourg. To the west is the Province of Luxembourg of Belgium, which largely consists of land which used to belong to Luxembourg (a small part of which traditionally speaks Luxembourgish, e.g. Arlon). Luxembourg is Lëtzebuerg in Luxembourgish, and Luxemburg in German and Dutch. The central station is called Luxembourg.
For journey planning in Luxembourg, you can use e.g. the domestic CFL website or app, or the mobiliteit.lu website or app.
Most trains are run by Luxembourgish Railways, or "CFL" (Société nationale des chemins de fer luxembourgeois). Trains north to the Gouvy border and west to the Sterpenich border (Arlon) are run in coorperation with Belgian Railways. Local trains and TGV (high-speed) crossing the Bettembourg border are run by French Railways: local trains by SNCF TER Grand-Est, and TGV by the national branch of SNCF. The maps with Luxembourg are repeated here.
Run by CFL, one RE per day to/from Koblenz Hbf continues as IC to/from Düsseldorf Hbf (Germany). Seats can be reserved on this service. Also run by CFL are buses to Saarbrücken Hbf (Germany) and Lorraine TGV (France).
Public transport within Luxembourg is fare-free (train, bus, tram, funicular). The exception is first class train travel. Two-hour tickets and day tickets can be purchsed from ticket machines or the domestic CFL app. Bundles of these can be purchased from the domestic CFL app.
Bicycles travel for free in Luxembourgish trains. See this page for rules on international trains.
Right across the border, Athus in Belgium, and Audun-le-Tiche and Volmerange-les-Mines in France are domestic tariff points from CFL's point of view. The latter two are not connected to the French passenger rail network.
With the exception of some Wallonian buses, which do not take passengers domestically within Luxembourg, all ordinary cross-border buses are subsummed under the Luxembourgish bus system. Within Luxembourg, these buses are fare-free. For cross-border travel, there are two price-levels: RegioZone 1 and RegioZone 2. See this page for the tickets available. Tickets can be puchased and loaded into mKaart, purchased in the CFL app, at the CFL ticket counters, or from the bus driver.
The Saarbrücken express bus is covered by RegioZone 2 tickets. On the other hand, the express bus to Lorraine TGV has its own ticketing, and requires reservation at least 2.5 hours before departure.
Ticket machines can handle tickets for, e.g. Arlon / Namur / Brussels, (Gouvy / Vielsalm / Trois-Ponts?,) Trier / Koblenz (?), Thionville / Metz / Nacy, and Longwy. The domestic CFL app sells day-return ticket to Trier (Germany).
From 01-01-2025, the DeutschlandTicket is valid on all Luxembourg – Germany cross-border buses except the Saarbrücken Express. The DeutschlandTicket is already valid on the RE / RB trains between Luxembourg and Germany.
There is the Saar-Lor-Lux ticket, which is a day ticket during the weekend or certain holidays, valid on most public transport in neighbouring Saarland of Germany and Lorraine of France, and most public transport amongst these and Luxembourg.
CFL's RE-IC service to Düsseldorf has German pricing. With the RE up to Koblenz Hbf, German local fare rules apply; you don't need to buy tickets for this early. If the IC between Koblenz Hbf and Düsseldorf Hbf is involved, German long-distance fare rules apply; it is better to purchase tickets for this early. TGV to/from France involves French long-distance ticketing, i.e. best if you book early.
There is an international ticket office inside Luxembourg station. These are the CFL international booking webpage and International app.
Please see CFL's page on travel assistance. There is also the Adapto.lu app.
There are many train service categories. The most important distinction is between Nahverkehr "local transport" and Fernverkehr "long-distance transport". The following are some local transport train categories:
Local-transport train services are primarily funded by the state governments. Their fares typically do not fluctuate. The local-transport train services are run by many different companies.
On the other hand, the vast majority of long-distance train services are run by German Railway, or "DB" (Deutsche Bahn). (Their journey planner (website, app) is good for "everything", including journey planning for neighbouring countries.) The following are (some of?) the long-distance service categories run by DB:
There is dynamic pricing with long-distance train services, i.e. the prices fluctuate, and it is best to book tickets early. With a cheaper long-distance ticket, you are typically restricted to particular long-distance trains. (But for the local trains listed in your ticket, you are usually allowed to catch any service within that day.) With an ICE / ECE ticket, you can usually catch IC and local trains running on the same trajectory; with an IC ticket, you can usually catch local trains running on the same trajectory. (However, read the conditions carefully.)
The local train services are organised by transport associations. Some run bus / train services for a short distance into Benelux. Other than the tickets of the transport associations, there are also state-wide tickets. For instance, each state has its own day ticket which is valid in "all" local-traffic public transport in at least their state. The German states that border the Netherlands are Niedersachsen "Lower Saxony" and Nordrhein-Westfalen "North Rhein–Westphalia" (NRW). The German states that border Belgium are NRW and Rheinland-Pfalz "Rhineland-Palatinate". The German states that border Luxembourg are Rheinland-Pfalz and Saarland. The Niedersachsenticket and the SchönertagTicket NRW (single or 5 people) have some validity in the Netherlands. (There is also a plus Groningen version of the Niedersachsenticket for trains (now replacement buses) to/from Groningen.) The Rheinland-Pfalz-Ticket is valid on trains and most buses between Germany and Luxembourg. (The Saarland-ticket has the same validity as the Rheinland-Pfalz-Ticket). However, the German state tickets have very little validity in Belgium, only on a very small number of cross-border buses. The maps show the validity of the German state tickets in The Netherlands and Luxembourg for railway services.
Often more useful is the DeutschlandTicket, which is valid throughout Germany on local public transport in a calendar month. The price is €58 per month in 2025. The DeutschlandTicket is sold by a great number of different German public transport authorities, and they often have slightly different sales conditions. The DeutschlandTicket is a subscription; you have to stop the subscription before a certain date (typically around the 10th of a month), if not you will be charged for the next month as well. The mo.pla app allows you to pause or cancel a subscription right till before the last day of a calendar month.
The DeutschlandTicket has some validity outside Germany, and on some sections of long-distance train services within Germany. This is summarised in the following diagram. (See the fine prints in German here, press Tarifbestimmungen für das Deutschland-Ticket inkl. SPNV-Geltungsbereiche.)
The validity of these various tickets cannot be used to infer the validity of another. For instance, that a section of rail service in The Netherlands is valid with a German state ticket does not infer that it is also valid with the DeutschlandTicket. Read the terms and conditions carefully. In the DB website and DB app, it is possible to restrict the search to "Local/regional transport only" or "Long-distance travel only". Within a journey search, it also states explicitely if, e.g., the DeutschlandTicket is valid on a specific section of long distance train service.
Totally separate from all of the aforementioned is FlixTrain, which has its own ticketing. Booking early is recommended.
See also, e.g., pdf rail maps at DB's website, DB's Elektronisches Kursbuch, Zugfinder, fernbahn.de.
The national railway company of France is French Railways, or "SNCF" (Société nationale des chemins de fer français). The train services run by the regions are called TER (or Transilien in Île-de-France / Paris region). Services run at the national level include TGV INOUI (high speed), Intercité (long-distance conventional rail), Intercité de nuit (domestic night sleeper services). This is a map of the intercité (de nuit) network. For these services, it is best to book early.
The two French regions that border Belgium / Luxembourg – Hauts-de-France (northern France) and Grand-Est (northeastern France) – have taken over all the Intercité services in their regions, so they are now all classed as TER. TGV also runs in these regions (and further to Brussels and Luxembourg). Bookings can be done at the national SNCF website / app, or the regional websites of TER Hauts-de-France and TER Grand-Est. Both TER Hauts-de-France and TER Grand Est have cheap tickets for regional trains, so it is best to book early. In addition, TER Hauts-de-France has TERGV, which is normal TER fare plus a small surcharge for certain TGV services within the region.
OUIGO is the low-cost brand of SNCF. There are high-speed-rail and conventional-rail services. Like low-cost airlines, you can only book online, and it is best if you book early. OUIGO's conventional-rail service between Brussels-South and Paris Nord begins on 19-12-2024.
See also, e.g., SNCF rail maps, Train O'Clock France (electronic train timetables), transbus.org.
I do this as a hobby. I am not a travel agent; while I would be interested in questions that you might have, please direct your questions to the public transport providers involved. Situations and rules can change quickly; please check with the public transport providers for the latest information. I take utter care on the accuracy of the information I provide here, but I cannot be held responsible for any inaccuracies. If you see any doubtful information, comments are welcome: hilario.penguinden gmail.
Unless otherwise stated, all diagrams, photos, and videos are work of mine. Please respect copyright. The quality of the photos and videos is possibly not very good; I hope that they are good enough for illustrative purposes.
I would like to thank Arne Nys' Network map of the Belgian railways (2015), which I learnt a lot from.
This page in 2022Please buy me a coffee/tea! ☕