Logo | |
area in North Rhine-Westphalia the VRR is commissioned for public transport | |
| Abbreviation | VRR |
|---|---|
| Named after | rivers Rhine and Ruhr |
| Formation | VRR AöR: September 2004 (2004-09) |
| Dissolved | VRR GmbH: January 1980 (1980-01) to September 2006 (2006-09) |
| Type | Statutory corporation |
| Legal status | Body corporate |
| Headquarters | Gelsenkirchen, Germany |
Region served | Ruhr, Lower Rhine region, parts of the Rhine-Ruhr |
| Oliver Wittke | |
| Subsidiaries | ZV VRR Eigenbetrieb Fahrzeuge und Infrastruktur |
| Website | www.vrr.de |
Verkehrsverbund Rhein-Ruhr (VRR) (German: [fɐˈkeːɐ̯sfɐˌbʊnt ˌʁaɪ̯n ˈʁuːɐ̯]), is a public transport association (Verkehrsverbund) in the German state of North Rhine-Westphalia. It covers large parts of the Ruhr area, the Lower Rhine region including Düsseldorf and the Rhine-Ruhr conurbation. It was founded on 1 January 1980, and is Europe’s largest public Transport association, covering an area of some 7,305 km2 (2,820 sq mi)[1] with around 7.8 million inhabitants[2], spanning as far as Dorsten in the north, Dortmund in the east, Langenfeld in the south, and the Dutch border in the west and northwest.
Structure and responsibilities
The VRR is tasked with coordinating public transport in its area. This means the following:[3][4]
- setting and developing the fare system (VRR tariff)
- redistributing ticket revenue onto the transport companies
- coordinating local train services (Schienenpersonennahverkehr, SPNV) within its area as public service obligations (PSO)
- integrating the public transport system
- setting standards and guidelines for passenger information and bus/tram stop facilities
- coordination between transport companies, local authorities and Land authorities
- financing partial subsidies for bus and tram companies according to § 11 (2) and § 11a ÖPNVG NRW
- coordinating Land subsidies to transport companies and local authorities according to § 12 and § 13 ÖPNVG NRW
Governance
The member cities and districts of the public transport association VRR are:
The municipal and district councils send representatives to the two special purpose associations’ councils, which in turn elect the main decision making corporations, the administrative council of the VRR, and other committees. The administrative council elects the administrative board of the VRR, currently Oliver Wittke who also is their speaker.[5]
In addition, there are departments within the VRR dealing with different matters, such as marketing or law. Two Land institutions are located within the VRR structure: Kompetenzcenter Digitalisierung NRW (KCD) and Kompetenzcenter Sicherheit (KCS).
Through the ZV VRR Eigenbetrieb Fahrzeuge und Infrastruktur (ZV VRR FaIn-EB), the VRR also buys and/or owns the rolling stock for some, but not all, of its PSO rail operations.[6]
Former governance
Before 2026, two spare subsidiaries named Zweckverband Verkehrsverbund Rhein-Ruhr (ZV VRR) and Nahverkehrs-Zweckverband Niederrhein (ZV NVN) formed the public transport association VRR shared responsibility for public transport related tasks. ZV NVN was responsible for the districts Kleve and Wesel while ZV VRR was commissioned for all other municipals.[7][8]
Transport companies
These above mentioned cities’ and districts’ and other associated transport companies thus operate under the VRR fare scheme:[9]
|
|
|
Additionally, there are several districts and cities outside the area of VRR which tariff applies for, but only while travelling with a transport vehicle from/to the area of VRR. Unless specified separately, this regulation counts for all lines.[10]
Line numbering scheme
With the introduction of the VRR in 1980 a new line numbering system for all bus, tram and Stadtbahn (underground) lines in the VRR area was introduced. The VRR has been divided into ten three-digit numbering sheme regions, the first digit in the line number representing that numbering sheme Region (key number). The last two digits form the individual line number.[1] These are the existing key numbers:
- 1: Essen and Mülheim
- 2: Kreis Recklinghausen, Bottrop and northern Gelsenkirchen
- 3: Bochum, southern Gelsenkirchen, parts of the Ennepe-Ruhr-Kreis and Herne
- 4: Dortmund
- 5: Hagen and main part of the Ennepe-Ruhr-Kreis
- 6: Wuppertal, Solingen and Remscheid
- 7: Düsseldorf and Kreis Mettmann
- 8: Düsseldorf and Rhein-Kreis Neuss
- 9: Duisburg and Oberhausen
- 0: Mönchengladbach, Krefeld and Kreis Viersen
- no key number: Kreis Kleve and Kreis Wesel
Stadtbahn lines are identified with the prefix “U” followed by the key number and a one-digit identifiers. Wuppertal's suspension railway line is officially line 60, but because it does not run underground, the prefix U is not used.
After the integration of the former Verkehrsgemeinschaft Niederrhein (VGN) area consisting of Kleve and Wesel, route numbers were unchanged, i.e. representing no key number.[1]
- Express buses are called Schnellbus and have the prefix SB followed by two digits. None of these digits is a key number.
- Semi-fast buses are called City-Express and have the prefix CE followed by two digits. As with the express buses none of the digits is a key number.
- On demand buses (and also Taxis) have the prefixes ALT, AST or TB.
- In some cities the local buses have an own numbering system, e.g. the buses in Velbert, whose line number consists of the prefix OV, followed by one or two digits.
- In some cities the night buses are called NachtExpress (NE).
Pricing
Fare sheme
The VRR is divided into two-digit fare zones and sells tickets based on the three different fare levels represented by their three letters A, B and C.
| City Fare level A | Destination Either fare level A | Destination Fare level B |
|---|---|---|
| Alpen | Sonsbeck Xanten | Emmerich Geldern Hamminkeln Issum Kalkar Kamp-Lintfort Kevelaer Neukirchen-Vluyn Rees Rheinberg Uedem Weeze Wesel |
| Bedburg-Hau | Kleve | Emmerich Goch Kalkar Kranenburg Millingen a. d. Rijn Rees Uedem |
| Bochum | – | Castrop-Rauxel Dortmund Essen Gelsenkirchen Hattingen Herdecke Herne Herten Recklinghausen Sprockhövel Wetter Witten |
| Bottrop | Gladbeck | Dinslaken Dorsten Essen Gelsenkirchen Hünxe Oberhausen Schermbeck Voerde |
| Breckerfeld | Ennepetal Gevelsberg Schwelm | Hagen Hattingen Herdecke Sprockhövel Wetter Witten Wuppertal |
| Brüggen | Nettetal | Grefrath Kempen Kerken Niederkrüchten Rheurdt Schwalmtal Straelen Tönisvorst Venlo Viersen Wachtendonk |
| Castrop-Rauxel | Herne | Bochum Datteln Dortmund Essen Gelsenkirchen Herdecke Herten Marl Oer-Erkenschwick Recklinghausen Waltrop Wetter Witten |
| Datteln | Oer-Erkenschwick Waltrop | Castrop-Rauxel Dortmund Haltern Herne Herten Lünen Marl Olfen Recklinghausen |
| Dinslaken | Voerde | Bottrop Duisburg Gladbeck Hamminkeln Hünxe Oberhausen Schermbeck Wesel |
| Dormagen | – | Düsseldorf Grevenbroich Kaarst Langenfeld Monheim Neuss Rommerskirchen |
| Dorsten | – | Borken Bottrop Gelsenkirchen Gladbeck Haltern Heiden Herten Hünxe Marl Raesfeld Recklinghausen Reken Schermbeck |
| Dortmund | – | Bergkamen Bochum Castrop-Rauxel Datteln Hagen Herdecke Herne Holzwickede Kamen Lünen Oer-Erkenschwick Schwerte Unna Waltrop Wetter Witten |
| Duisburg | – | Dinslaken Düsseldorf Heiligenhaus Krefeld Moers Mülheim (Ruhr) Oberhausen Ratingen Rheinberg Voerde |
| Düsseldorf | – | Dormagen Duisburg Erkrath Haan Heiligenhaus Hilden Kaarst Langenfeld Meerbusch Mettmann Monheim Neuss Ratingen Wülfrath |
| Emmerich | Rees | Bedburg-Hau Hamminkeln Isselburg Kalkar Kleve ’s-Heerenberg Uedem Wesel Zevenaar |
| Ennepetal | Breckerfeld Gevelsberg Schwelm | Hagen Hattingen Herdecke Sprockhövel Wetter Witten Wuppertal |
| Erkrath | Haan Hilden | Düsseldorf Langenfeld Mettmann Monheim Solingen Wülfrath Wuppertal |
| Essen | – | Bochum Bottrop Castrop-Rauxel Gelsenkirchen Gladbeck Hattingen Heiligenhaus Herne Mülheim (Ruhr) Oberhausen Ratingen Sprockhövel Velbert |
| Geldern | Issum | Alpen Kamp-Lintfort Kerken Kevelaer Neukirchen-Vluyn Rheurdt Sonsbeck Straelen Wachtendonk Weeze Xanten |
| Gelsenkirchen | – | Bochum Bottrop Castrop-Rauxel Dorsten Essen Gladbeck Herne Herten Marl Recklinghausen |
| Gevelsberg | Breckerfeld Ennepetal Schwelm | Hagen Hattingen Herdecke Sprockhövel Wetter Witten Wuppertal |
| Gladbeck | Bottrop | Dinslaken Dorsten Essen Gelsenkirchen Hünxe Oberhausen Schermbeck Voerde |
| Goch | Kranenburg | Bedburg-Hau Groesbeek Kalkar Kevelaer Kleve Millingen a. d. Rijn Nijmegen Uedem Weeze |
| Grefrath | Kempen Tönisvorst | Brüggen Kamp-Lintfort Kerken Krefeld Nettetal Neukirchen-Vluyn Rheurdt Straelen Viersen Wachtendonk Willich |
| Grevenbroich | – | Dormagen Jüchen Kaarst Korschenbroich Neuss Rommerskirchen |
| Haan | Erkrath Hilden | Düsseldorf Langenfeld Mettmann Monheim Solingen Wülfrath Wuppertal |
| Hagen | – | Breckerfeld Dortmund Ennepetal Gevelsberg Herdecke Holzwickede Schwelm Schwerte Wetter Witten |
| Haltern | – | Datteln Dorsten Dülmen Herten Marl Oer-Erkenschwick Olfen Recklinghausen Reken Waltrop |
| Hamminkeln | Wesel | Alpen Bocholt Dinslaken Emmerich Hünxe Isselburg Raesfeld Rees Rhede Rheinberg Schermbeck Sonsbeck Voerde Xanten |
| Hattingen | Sprockhövel | Bochum Breckerfeld Ennepetal Essen Gevelsberg Herdecke Schwelm Velbert Wetter Witten Wuppertal |
| Heiligenhaus | Ratingen | Duisburg Düsseldorf Essen Mettmann Mülheim (Ruhr) Velbert Wülfrath |
| Herdecke | Wetter Witten | Bochum Breckerfeld Castrop-Rauxel Dortmund Ennepetal Gevelsberg Hagen Hattingen Herne Schwelm Sprockhövel |
| Herne | Castrop-Rauxel | Bochum Datteln Dortmund Essen Gelsenkirchen Herdecke Herten Marl Oer-Erkenschwick Recklinghausen Waltrop Wetter Witten |
| Herten | Recklinghausen | Bochum Castrop-Rauxel Datteln Dorsten Gelsenkirchen Haltern Herne Marl Oer-Erkenschwick Waltrop |
| Hilden | Erkrath Haan | Düsseldorf Langenfeld Mettmann Monheim Solingen Wülfrath Wuppertal |
| Hünxe | Schermbeck | Bottrop Dinslaken Dorsten Gladbeck Hamminkeln Raesfeld Voerde Wesel |
| Issum | Geldern | Alpen Kamp-Lintfort Kerken Kevelaer Neukirchen-Vluyn Rheurdt Sonsbeck Straelen Wachtendonk Weeze Xanten |
| Jüchen | – | Grevenbroich Korschenbroich Mönchengladbach |
| Kaarst | Neuss | Dormagen Düsseldorf Grevenbroich Jüchen Korschenbroich Meerbusch Rommerskirchen Willich |
| Kalkar | Uedem | Alpen Bedburg-Hau Emmerich Goch Kevelaer Kleve Kranenburg Rees Sonsbeck Weeze Xanten |
| Kamp-Lintfort | Neukirchen-Vluyn | Alpen Geldern Grefrath Issum Kempen Kerken Krefeld Moers Rheinberg Rheurdt Sonsbeck Straelen Tönisvorst Wachtendonk Xanten |
| Kempen | Grefrath Tönisvorst | Brüggen Kamp-Lintfort Kerken Krefeld Nettetal Neukirchen-Vluyn Rheurdt Straelen Viersen Wachtendonk Willich |
| Kerken | Rheurdt Straelen Wachtendonk | Brüggen Geldern Grefrath Issum Kamp-Lintfort Kempen Nettetal Neukirchen-Vluyn Tönisvorst Venlo |
| Kevelaer | Weeze | Alpen Gelderm Goch Issum Kalkar Kranenburg Sonsbeck Uedem Xanten |
| Kleve | Bedburg-Hau | Emmerich Goch Kalkar Kranenburg Millingen a. d. Rijn Rees Uedem |
| Korschenbroich | – | Grevenbroich Jüchen Kaarst Meerbusch Mönchengladbach Neuss Viersen Willich |
| Kranenburg | Goch | Bedburg-Hau Groesbeek Kalkar Kevelaer Kleve Millingen a. d. Rijn Nijmegen Uedem Weeze |
| Krefeld | – | Duisburg Grefrath Kamp-Lintfort Kempen Meerbusch Moers Neukirchen-Vluyn Tönisvorst Willich |
| Langenfeld | Monheim | Dormagen Düsseldorf Erkrath Haan Hilden Solingen |
| Marl | – | Bottrop Castrop-Rauxel Datteln Dorsten Gelsenkirchen Gladbeck Haltern Herne Herten Oer-Erkenschwick Recklinghausen Waltrop |
| Meerbusch | – | Düsseldorf Kaarst Korschenbroich Krefeld Neuss Willich |
| Mettmann | Wülfrath | Düsseldorf Erkrath Haan Heiligenhaus Hilden Ratingen Solingen Velbert Wuppertal |
| Moers | – | Duisburg Kamp-Lintfort Krefeld Neukirchen-Vluyn Rheinberg |
| Mönchengladbach | – | Jüchen Korschenbroich Niederkrüchten Schwalmtal Viersen Wegberg Willich |
| Monheim | Langenfeld | Dormagen Düsseldorf Erkrath Haan Hilden Solingen |
| Mülheim (Ruhr) | – | Duisburg Essen Heiligenhaus Oberhausen Ratingen |
| Nettetal | Brüggen | Grefrath Kempen Kerken Niederkrüchten Rheurdt Schwalmtal Straelen Tönisvorst Venlo Viersen Wachtendonk |
| Neukirchen-Vluyn | Kamp-Lintfort | Alpen Geldern Grefrath Issum Kempen Kerken Krefeld Moers Rheinberg Rheurdt Sonsbeck Straelen Tönisvorst Wachtendonk Xanten |
| Neuss | Kaarst | Dormagen Düsseldorf Grevenbroich Jüchen Korschenbroich Meerbusch Rommerskirchen Willich |
| Niederkrüchten | Schwalmtal | Brüggen Mönchengladbach Nettetal Viersen Wegberg |
| Oberhausen | – | Bottrop Dinslaken Duisburg Essen Gladbeck Mülheim (Ruhr) Voerde |
| Oer-Erkenschwick | Datteln Waltrop | Castrop-Rauxel Dortmund Haltern Herne Herten Lünen Marl Olfen Recklinghausen |
| Ratingen | Heiligenhaus | Duisburg Düsseldorf Essen Mettmann Mülheim (Ruhr) Velbert Wülfrath |
| Recklinghausen | Herten | Bochum Castrop-Rauxel Datteln Dorsten Gelsenkirchen Haltern Herne Marl Oer-Erkenschwick Waltrop |
| Rees | Emmerich | Bedburg-Hau Hamminkeln Isselburg Kalkar Kleve ’s-Heerenberg Uedem Wesel Zevenaar |
| Remscheid | – | Solingen Wuppertal |
| Rheinberg | – | Alpen Duisburg Hamminkeln Kamp-Lintfort Moers Neukirchen-Vluyn Sonsbeck Wesel Xanten |
| Rheurdt | Kerken Straelen Wachtendonk | Brüggen Geldern Grefrath Issum Kamp-Lintfort Kempen Nettetal Neukirchen-Vluyn Tönisvorst Venlo |
| Rommerskirchen | – | Dormagen Grevenbroich |
| Schermbeck | Hünxe | Bottrop Dinslaken Dorsten Gladbeck Hamminkeln Raesfeld Voerde Wesel |
| Schwalmtal | Niederkrüchten | Brüggen Mönchengladbach Nettetal Viersen Wegberg |
| Schwelm | Breckerfeld Ennepetal Gevelsberg | Hagen Hattingen Herdecke Sprockhövel Wetter Witten Wuppertal |
| Solingen | – | Erkrath Haan Hilden Langenfeld Mettmann Monheim Remscheid Wülfrath Wuppertal |
| Sonsbeck | Alpen Xanten | Emmerich Geldern Hamminkeln Issum Kalkar Kamp-Lintfort Kevelaer Neukirchen-Vluyn Rees Rheinberg Uedem Weeze Wesel |
| Sprockhövel | Hattingen | Bochum Breckerfeld Ennepetal Essen Gevelsberg Herdecke Schwelm Velbert Wetter Witten Wuppertal |
| Straelen | Kerken Rheurdt Wachtendonk | Brüggen Geldern Grefrath Issum Kamp-Lintfort Kempen Nettetal Neukirchen-Vluyn Tönisvorst Venlo |
| Tönisvorst | Grefrath Kempen | Brüggen Kamp-Lintfort Kerken Krefeld Nettetal Neukirchen-Vluyn Rheurdt Straelen Viersen Wachtendonk Willich |
| Uedem | Kalkar | Alpen Bedburg-Hau Emmerich Goch Kevelaer Kleve Kranenburg Rees Sonsbeck Weeze Xanten |
| Velbert | – | Essen Hattingen Heiligengaus Mettmann Ratingen Sprockhövel Wülfrath Wuppertal |
| Viersen | – | Brüggen Grefrath Kempen Korschenbroich Mönchengladbach Nettetal Niederkrüchten Schwalmtal Tönisvorst Willich |
| Voerde | Dinslaken | Bottrop Duisburg Gladbeck Hamminkeln Hünxe Oberhausen Schermbeck Wesel |
| Wachtendonk | Kerken Rheurdt Straelen | Brüggen Geldern Grefrath Issum Kamp-Lintfort Kempen Nettetal Neukirchen-Vluyn Tönisvorst Venlo |
| Waltrop | Datteln Oer-Erkenschwick | Castrop-Rauxel Dortmund Haltern Herne Herten Lünen Marl Olfen Recklinghausen |
| Weeze | Kevelaer | Alpen Gelderm Goch Issum Kalkar Kranenburg Sonsbeck Uedem Xanten |
| Wesel | Hamminkeln | Alpen Bocholt Dinslaken Emmerich Hünxe Isselburg Raesfeld Rees Rhede Rheinberg Schermbeck Sonsbeck Voerde Xanten |
| Wetter | Herdecke Witten | Bochum Breckerfeld Castrop-Rauxel Dortmund Ennepetal Gevelsberg Hagen Hattingen Herne Schwelm Sprockhövel |
| Willich | – | Grefrath Kaarst Kempen Korschenbroich Krefeld Meerbusch Mönchengladbach Neuss Tönisvorst Viersen |
| Witten | Herdecke Wetter | Bochum Breckerfeld Castrop-Rauxel Dortmund Ennepetal Gevelsberg Hagen Hattingen Herne Schwelm Sprockhövel |
| Wülfrath | Mettmann | Düsseldorf Erkrath Haan Heiligenhaus Hilden Ratingen Solingen Velbert Wuppertal |
| Wuppertal | – | Breckerfeld Ennepetal Erkrath Gevelsberg Haan Hattingen Hilden Mettmann Remscheid Schwelm Solingen Sprockhövel Velbert Wülfrath |
| Xanten | Alpen Sonsbeck | Emmerich Geldern Hamminkeln Issum Kalkar Kamp-Lintfort Kevelaer Neukirchen-Vluyn Rees Rheinberg Uedem Weeze Wesel |
| Zevenaar | – | Arnhem Emmerich Rees ’s-Heerenberg |
Tickets
People younger than fifteen years pay lower fares. The VRR sells tickets for one single journey or for four consecutive journeys respectively. Tickets for 24 hours are also available. If the transportation of a bicycle is desired, the traveller has to buy a ticket for bicycles, valid for 24 hours. Before travelling, those tickets must be validated by nearby stamp boxes. The monthly ticket is called Ticket2000. The social discount variant is named SozialTicket, only valid in the district of residence. To expand the area of a monthly ticket temporarily, a supplement ticket called ZusatzTicket is needed per journey.[11]
The digital variant is called eezy.nrw, working as a check-in system.[12] Its product's name consists of the fictive respelling of the word easy and the abbreviation of the state North Rhine-Westphalia.
Furthermore, the VRR's transport association companies offer the nationwide Deutschlandticket.
See also
References
- "VRR-Nahverkehrsplan 2017" (PDF) (in German). Verkehrsverbund Rhein-Ruhr. Retrieved 2026-05-30.
- "Der Verkehrsverbund Rhein-Ruhr" (in German). Retrieved 2026-05-30.
- "Die Verbundaufgaben". Verkehrsverbund Rhein-Ruhr (in German). Retrieved 2026-05-30.
- "ÖPNV-Investitionen". Verkehrsverbund Rhein-Ruhr (in German). Retrieved 2026-05-30.
- "Die politischen Gremien des VRR". Verkehrsverbund Rhein-Ruhr (in German). Retrieved 2026-05-30.
- "Der Verbund". Verkehrsverbund Rhein-Ruhr (in German). Retrieved 2026-05-30.
- "Verbundbericht 2019/2020" (PDF) (in German). Verkehrsverbund Rhein-Ruhr. Retrieved 2026-05-30.
- "Vollmitgliedschaft stärkt die Mobilität am Niederrhein" (in German). Verkehrsverbund Rhein-Ruhr. Retrieved 2026-05-30.
- "Handbuch Tarif und Vertrieb" (PDF) (in German). Verkehrsverbund Rhein-Ruhr. 2026-06-01. pp. 52–53. Retrieved 2026-05-30.
- "Übergangstarife: Fahrten über den VRR hinaus". Stadtwerke Oberhausen (in German). Retrieved 2026-05-30.
- "Der Tarif im Überblick" (PDF). Verkehrsverbund Rhein-Ruhr. 2026-06-01. Retrieved 2026-06-03.
- "Was ist eigentlich eezy.nrw?" (in German). Verkehrsverbund Rhein-Ruhr. Retrieved 2026-05-30.
External links
Media related to Verkehrsverbund Rhein-Ruhr at Wikimedia Commons
- Official site (in English)
- Official site (in German)
- Kompetenzcenter Digitalisierung NRW
- Kompetenzcenter Sicherheit NRW
- map of operation