Public transport in Germany
Germany: 1,183 public transport operators, 3.8B km of scheduled service a year, 8,557 major stations and 5,205 tender notices — per region and operator.
- Operators
- 1,183
- Vehicle-km / year
- ≈ 3.8B km
- Vehicles (peak)
- ≈ 47,617
- Trips / week
- 4.9M
- Stations*
- 8,557
- Tender notices
- 5,205
- Open procedures
- 3,344
- Value (€)
- €11.4B
Estimates from the scheduled timetables (one representative week per feed). *Stations with a page of their own. Methodology →
Germany over time
27 snapshots · Mar 2024 – Oct 2026
3.8B km ↓ −6% since Mar 2024
Vehicle-km over 12 months: −6% since Oct 2025. All countries →
The largest operators
Map →Vehicle-km / year
- 1 Berliner Verkehrsbetriebe 131.2M km
- 2 DB Regio AG Bayern 58M km
- 3 VHH Bus 57.2M km
- 4 Hochbahn Bus 56.1M km
- 5 DB Regio AG NRW 53.1M km
- 6 Privatunternehmer-Bus (VVS) 52M km
- 7 MVV-Regionalbus 48.3M km
- 8 DB Regio AG Südost 44.9M km
- 9 DB Regio AG Nordost 40.1M km
- 10 Verkehrsgesellschaft Ludwigslust-Parchim 39.6M km
- 11 S-Bahn Berlin GmbH 36.5M km
- 12 Kölner VB 36.1M km
- 13 DB Regio AG Baden-Württemberg 34.4M km
- 14 Bus München 32.1M km
- 15 DB Regio AG Nord 31.7M km
Share of vehicle-km
9.5% Top 5 operators
Other 3.4B km 91%
Routes by mode
28.6K routes
Bus 26,382 92%
Rail 1,328 4.6%
Demand-responsive 415 1.4%
Tram 329 1.1%
Metro 91 0.3%
Ferry 70 0.2%
Other 15 <0.1%
Regions
NUTS-3 regions by the service run inside them.
- Berlin Operators 23 170.6M km
- Hamburg Operators 17 124.7M km
- München, Kreisfreie Stadt Operators 24 82.3M km
- Region Hannover Operators 17 53.1M km
- Frankfurt am Main Operators 37 52.9M km
- Köln Operators 18 46.9M km
- Ludwigslust-Parchim Operators 10 38.4M km
- Stuttgart Operators 16 37.2M km
- Düsseldorf Operators 18 37M km
- Nürnberg Operators 11 33.6M km
- Dresden Operators 24 32.4M km
- Rhein-Sieg-Kreis Operators 23 30.2M km
- Städteregion Aachen Operators 14 27.2M km
- Essen Operators 17 26.6M km
- Dortmund Operators 22 26.5M km
Busiest stations
By scheduled departures per day.
- S+U Zoologischer Garten Bhf (Berlin) 3,887 departures/day
- Düsseldorf Hbf 3,483 departures/day
- Karlsplatz (Stachus) 3,228 departures/day
- S+U Berlin Hauptbahnhof 3,118 departures/day
- Hertzallee (Berlin) 3,102 departures/day
- Hauptbahnhof (U, Tram) 3,064 departures/day
- S+U Rathaus Spandau (Berlin) 3,032 departures/day
- Neuss Hauptbahnhof 2,943 departures/day
- Bf. Bergedorf 2,902 departures/day
- Ostbahnhof 2,882 departures/day
- Essen Hbf 2,873 departures/day
- Frankfurt (Main) Konstablerwache 2,843 departures/day
- Nürnberg Hbf 2,827 departures/day
- Bonn Hbf 2,804 departures/day
- S+U Friedrichstr. Bhf (Berlin) 2,644 departures/day
Tender market
By stage
5,205 Tender notices
Prior information 911 18%
Call for tenders 2,433 47%
Award 1,847 36%
By service type
- Scheduled public transport 2,011
- School transport 1,863
- Demand-responsive 576
- Rail 324
- Other 323
- Vehicle hire with driver 72
- Taxi 36
Most active contracting authorities
- 1 LVR-Fachbereich Zentraler Einkauf und Dienstleistungen 193
- 2 Münchner Verkehrs- und Tarifverbund GmbH 187
- 3 Landratsamt Bautzen 93
- 4 Landkreis Märkisch-Oderland / Amt für Digitalisierung, Organisation und Personal / Fachdienst Organisation/Zentrale Vergabestelle 72
- 5 Stadt Mannheim - Fachbereich Baurecht, Bauverwaltung und Denkmalschutz 67
- 6 Landkreis München, vertreten durch die Münchner Verkehrs- und Tarifverbund GmbH 53
- 7 Bayerische Eisenbahngesellschaft mbH (BEG) 47
- 8 Stadt Frankfurt am Main, Stadtschulamt 41
- 9 DB InfraGO AG – Geschäftsbereich Fahrweg (Bukr 16) 40
- 10 Landkreis Ravensburg 39
- 11 Landratsamt Rems-Murr-Kreis 39
- 12 Landkreis Regensburg 37
How we calculate
- Operators Unit: operators · counted
- Transport companies as their timetable names them (GTFS agency). The same operator in several feeds is counted once; in Germany the company that actually runs each line. Source: published GTFS timetables, one representative week per feed
- Vehicle-km / year Unit: km per year · estimate
- For every trip: route length (along the published route shape; without one, the straight line between its stops × 1.25) × the days it runs in the representative week, × 365.25 / 7. Only scheduled service — no empty or depot runs, no demand-responsive services. Source: published GTFS timetables, one representative week per feed
- Vehicles (peak) Unit: vehicles · estimate
- The highest number of trips running at the same moment in the representative week — a lower bound: reserve and workshop vehicles are not included. Source: published GTFS timetables, one representative week per feed
- Trips / week Unit: trips per week · counted
- All scheduled trips in the representative week; trips given as a frequency (every 10 minutes) are expanded into single trips. Source: published GTFS timetables, one representative week per feed
- Stations* Unit: stations · counted
- Stations with a page of their own: at least 250 scheduled departures a day, or among a country's busiest 1,000 with at least 30. Capped per country, so not comparable between countries. Source: published GTFS timetables, one representative week per feed
- Vehicle-km per inhabitant Unit: km per inhabitant and year · estimate
- Vehicle-km per year of all operators in the country ÷ its population. Only countries whose timetables cover the whole country; the figure for all countries together is their vehicle-km ÷ their population. Source: published GTFS timetables, one representative week per feed; Eurostat, population on 1 January 2025
- Tender notices Unit: notices · counted
- Every published notice counts once: prior information, call for tenders or award notice. Source: TED (EU Official Journal) since 06/2024 and the German national portal
- Open procedures Unit: notices · as published
- Prior information notices and calls for tenders — notices that do not announce an award. Source: TED (EU Official Journal) since 06/2024 and the German national portal
- Value (€) Unit: € · as published
- Sum of the contract values stated in the notices, in euro only; other currencies are neither converted nor added. Many notices state no value, so the sum is a lower bound. Source: TED (EU Official Journal) since 06/2024 and the German national portal