CFL - Book cheap tickets - Train

To make it easy for you to find a CFL train ticket, we recommend that you use our multimodal Vivanoda search engine where you can see not only all CFL and other rail companies' train offers for the desired journey, but also flights, buses, ferries and carpool offers. To refine your search according to your preferences, you only need to use the filters and sorting options.
In which countries does the CFL railway company serve ?
CFL is a cross-border railway company since it operates train journeys in 4 countries: France, Belgium, Luxembourg and Germany.
What are the main destinations of CFL's trains ?
The company CFL offers travellers train travel to nearly 70 cities, including Bascharage, Liege, Dommeldange, Livange, Angleur, Dudelange, Trier, Wiltz, Mersch, Uckange, Virton, Woippy, Konz, Saarbrucken, Troisvierges, Kiischpelt, Gouvy, Nancy, Wecker, Esch-sur-Alzette, Roodt-sur-Syre, Schuttrange, Oetrange, Arlon, Walferdange, Sprimont, Draufelt, Hagondange, Mertert and Ettelbruck.
Which train journeys are operated by CFL ?
970 lines are currently served by CFL's trains:
- Luxembourg City Metz
- Luxembourg City Nancy
- Luxembourg City Thionville
- Luxembourg City Arlon
- Luxembourg City Trier
- Luxembourg City Ciney
- Luxembourg City Petange
- Luxembourg City Rodange
- Luxembourg City Bettembourg
- Luxembourg City Liege
- Luxembourg City Longwy
- Luxembourg City Saarbrucken
- Luxembourg City Hagondange
- Luxembourg City Maizieres-les-Metz
- Luxembourg City Pont-a-Mousson
- Luxembourg City Woippy
- Luxembourg City Hettange-Grande
- Luxembourg City Pagny-sur-Moselle
- Luxembourg City Uckange
- Luxembourg City Dudelange
- Luxembourg City Esch-sur-Alzette
- Luxembourg City Bascharage
- Luxembourg City Mertert
- Luxembourg City Differdange
- Kautebaach Kiischpelt
- Kautebaach Ettelbruck
- Kautebaach Luxembourg City
- Kautebaach Clervaux
- Kautebaach Dommeldange
- Kautebaach Welscheid
- Kautebaach Wiltz
- Kautebaach Mersch
- Kautebaach Dirbach
- Kiischpelt Kautebaach
- Kiischpelt Ettelbruck
- Kiischpelt Luxembourg City
- Kiischpelt Clervaux
- Kiischpelt Dommeldange
- Kiischpelt Welscheid
- Kiischpelt Wiltz
- Kiischpelt Mersch
- Kiischpelt Dirbach
- Clervaux Ettelbruck
- Clervaux Luxembourg City
- Clervaux Dommeldange
- Clervaux Welscheid
- Clervaux Mersch
- Clervaux Kiischpelt
- Clervaux Dirbach
- Clervaux Troisvierges
- Clervaux Walferdange
- Dommeldange Ettelbruck
- Dommeldange Clervaux
- Dommeldange Welscheid
- Dommeldange Mersch
- Dommeldange Kiischpelt
- Dommeldange Dirbach
- Dommeldange Troisvierges
- Dommeldange Walferdange
- Dommeldange Draufelt
- Welscheid Ettelbruck
- Welscheid Luxembourg City
- Welscheid Clervaux
- Welscheid Dommeldange
- Welscheid Mersch
- Welscheid Kiischpelt
- Welscheid Dirbach
- Welscheid Troisvierges
- Welscheid Walferdange
- Mersch Ettelbruck
- Mersch Luxembourg City
- Mersch Clervaux
- Mersch Dommeldange
- Mersch Welscheid
- Mersch Kiischpelt
- Mersch Dirbach
- Mersch Troisvierges
- Mersch Walferdange
- Dirbach Ettelbruck
- Dirbach Luxembourg City
- Dirbach Clervaux
- Dirbach Dommeldange
- Dirbach Welscheid
- Dirbach Mersch
- Dirbach Kiischpelt
- Dirbach Troisvierges
- Dirbach Walferdange
- Troisvierges Ettelbruck
- Troisvierges Luxembourg City
- Troisvierges Clervaux
- Troisvierges Dommeldange
- Troisvierges Welscheid
- Troisvierges Mersch
- Troisvierges Kiischpelt
- Troisvierges Dirbach
- Troisvierges Walferdange
- Ettelbruck Walferdange
- Ettelbruck Luxembourg City
- Ettelbruck Clervaux
- Ettelbruck Dommeldange
- Ettelbruck Welscheid
- Ettelbruck Mersch
- Ettelbruck Kiischpelt
- Ettelbruck Dirbach
- Ettelbruck Troisvierges