Le transport ferroviaire a généré en 2019 des coûts totaux s’élevant à 12,1 milliards de francs (2010: 9,8 milliards), dont 9,9 milliards pour le transport de personnes et 2,2 milliards pour le transport de marchandises.
Outre les usagers, les pouvoirs publics ont joué un rôle important dans le financement du transport ferroviaire: la Confédération, les cantons et les communes y ont consacré en 2019 environ 5,4 milliards de francs, ce qui représente 45% des coûts totaux. Cet argent a servi notamment à financer des projets d’infrastructure ou à subventionner certaines prestations des entreprises de transport.