Le transport ferroviaire a généré en 2020 des coûts totaux s’élevant à 12,0 milliards de francs (2010: 9,8 milliards), dont 9,9 milliards pour le transport de personnes et 2,1 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 2020 environ 5,6 milliards de francs, ce qui représente 46% des coûts totaux. Cet argent a servi notamment à financer des projets d’infrastructure ou à subventionner certaines prestations des entreprises de transport.