Peu après la Seconde Guerre mondiale, le réseau ferré luxembourgeois, qui totalisait quelque 550 km de lignes, fut réduit, en une quinzaine d’années, à la moitié de sa taille. Aujourd’hui, la longueur des lignes exploitées se chiffre à 274 km.
Si les trains régionaux circulent, en général, toutes les heures, l’axe Ettelbruck-Luxembourg-Esch/Alzette est desservi toutes les trente minutes (sauf le soir, les dimanches et jours de fête). À l’heure de pointe, le service est renforcé par des trains supplémentaires.
Des trains transfrontaliers relient la capitale à Trèves et à Bruxelles (via Arlon et Namur) toutes les heures, à Liège toutes les deux heures et, de manière plus irrégulière, à Metz et à Nancy.
Un certain nombre de trains internationaux partent également à destination de Paris et du nord de l’Allemagne, ou transitent par le Grand-Duché, en desservant l’axe Bruxelles - Strasbourg - Suisse - Italie. Depuis le 10 juin 2007 le Luxembourg est relié à Paris par le TGV avec un maximum de 6 départs directs par jour.
La Société Nationale des Chemins de Fer luxembourgeois (SNCFL) est le seul exploitant du service ferroviaire intérieur.
Six lignes principales constituent actuellement le réseau ferroviaire luxembourgeois:
Les services transfrontaliers sont, en règle générale, opérés par les compagnies nationales des pays voisins (DBAG, SNCF, SNCB).
