# European route E31 in the Netherlands

European route E 31 (E 31) is a north–south European route, running from Ridderkerk in the Netherlands to Hockenheim in Germany.
The highway is maintained by Rijkswaterstaat.

## Exit list

| Province | Municipality | km | mi | Exit | Name | Destinations | Notes |
| South Holland | Ridderkerk | 70.0 | 43.5 | — | Ridderkerk Interchange | E19 / A 15 west / A 16 – Europoort, The Hague, Dordrecht, Breda | West end of A15 overlap |
| South Holland | Hendrik-Ido-Ambacht | 71.5 | 44.4 | 21 | Hendrik-Ido-Ambacht | N 915 east (Rotterdamseweg) – Hendrik-Ido-Ambacht, Ridderkerk | |
| South Holland | Hendrik-Ido-Ambacht | 75.4 | 46.9 | 22 | Alblasserdam | N 915 west (Grote Beer) / Edisonweg – Alblasserdam, Kinderdijk, Papendrecht-West | |
| South Holland | Papendrecht | 77.9 | 48.4 | 23 | Papendrecht | N 3 south / N 214 east – Papendrecht, Dordrecht, Oud-Alblas | |
| South Holland | Sliedrecht | 80.3 | 49.9 | 24 | Sliedrecht-West | Parallelweg / Ouverture | |
| South Holland | Sliedrecht | 84.6 | 52.6 | 25 | Sliedrecht-Oost | Rivierdijk / Peulenlaan / Buitendams | |
| South Holland | Hardinxveld-Giessendam | 87.6 | 54.4 | 26 | Hardinxveld-Giessendam | Nieuweweg | |
| South Holland | Gorinchem | 94.7 | 58.8 | 27 | Gorinchem | N 216 west / Banneweg – Gorinchem | |
| South Holland | Gorinchem | 94.4 | 58.7 | — | Gorinchem Interchange | E311 / A 27 – Utrecht, Breda | |
| South Holland | Giessenlanden | 99.5 | 61.8 | 28 | Arkel | Spijksesteeg | |
| Gelderland | Lingewaal | 105.3 | 65.4 | 29 | Leerdam | N 848 – Leerdam, Herwijnen, Vuren | |
| Gelderland | Geldermalsen | 114.3 | 71.0 | — | Deil Interchange | E25 / A 2 – Utrecht, 's-Hertogenbosch | |
| Gelderland | Geldermalsen | 118.7 | 73.8 | 30a | Meteren | N 830 south (Steenweg Noord) / Rijksstraatweg – Meteren, Neerijnen | Eastbound exit and entrance only |
| Gelderland | Geldermalsen | 121.1 | 75.2 | 30 | Geldermalsen | N 327 north (Randweg) / Randweg – Geldermalsen, Est, Netherlands, Opijnen | |
| Gelderland | Tiel | 123.8 | 76.9 | 31 | Wadenoijen | Lingedijk | |
| Gelderland | Tiel | 126.9 | 78.9 | 32 | Tiel-West | N 834 – Tiel-West, Kerk-Avezaath, Buren | |
| Gelderland | Tiel | 130.4 | 81.0 | 33 | Tiel | N 835 north (Industrieweg) / Westroijensestraat – Tiel, Maurik | |
| Gelderland | Neder-Betuwe | 134.3 | 83.5 | 34 | Echteld | N 323 south (Prins Willem Alexanderweg) / Medelsestraat / Meersteeg – Echteld, Lienden, Beneden-Leeuwen, Druten | |
| Gelderland | Neder-Betuwe | 141.0 | 87.6 | 35 | Ochten | N 233 north (Cuneraweg) / Cuneraweg – Ochten, Kesteren, Rhenen | |
| Gelderland | Neder-Betuwe | 145.5 | 90.4 | 36 | Dodewaard | Dodewaardsestraat | |
| Gelderland | Overbetuwe | 151.5 | 94.1 | 37 | Andelst | N 836 (Wageningsestraat) / Wanraaij – Andelst, Zetten | |
| Gelderland | Overbetuwe | 154.7– 154.9 | 96.1– 96.3 | — | Valburg Interchange | A 15 east / A 50 north – Kleve, Arnhem, Oberhausen, Zwolle | East end of A15 overlap; north end of A50 overlap |
| Gelderland | Beuningen | 148.0– 114.5 | 92.0– 71.1 | — | Ewijk Interchange | A 50 south / N 322 west (Maas en Waalweg) – Eindhoven, 's-Hertogenbosch, Druten | South end of A50 overlap; north end of A73 overlap |
| Gelderland | Beuningen | 112.4 | 69.8 | 1 | Beuningen | N 847 south (Schoenaker) / Schoenaker – Beuningen, Wijchen | |
| Gelderland | Nijmegen | 109.9 | 68.3 | — | Neerbosch Interchange | Neerboscheweg | |
| Gelderland | Nijmegen | 102.5 | 63.7 | 1a | Wijchen | N 326 / S 103 – Wijchen, Nijmegen-Lindenholt | |
| Gelderland | Nijmegen | 99.5 | 61.8 | 2 | Nijmegen-Dukenburg | S 104 east – Nijmegen-Dukenburg | |
| Gelderland | Heumen | 95.0 | 59.0 | 3 | Malden | N 271 east (Jan J. Ludenlaan) / N 846 west (Jan J. Ludenlaan) – Malden, Netherlands, Groesbeek, Mook en Middelaar, Heumen, Overasselt | |
| North Brabant | Cuijk | 90.4 | 56.2 | 4 | Cuijk | N 321 west / Beersebaan – Cuijk, Beers, North Brabant, Grave | |
| North Brabant | Cuijk | 85.3 | 53.0 | 5 | Haps | N 264 (Oeffeltseweg) – Haps, Mill, Netherlands, Oeffelt | |
| North Brabant | Boxmeer | 81.8– 1.6 | 50.8– 0.99 | — | Rijkevoort Interchange | A 73 south – Boxmeer, Venray, Venlo | South end of A73 overlap; west end of A77 overlap |
| North Brabant | Boxmeer | 4.4 | 2.7 | 1 | Boxmeer | N 621 (Beugenseweg) – Boxmeer, Beugen | |
| Limburg (Netherlands) | Gennep | 7.6 | 4.7 | 2 | Gennep | N 271 (Rijksweg) – Gennep, Heijen, Afferden, Limburg, Nieuw-Bergen | |
| Limburg (Netherlands) | Gennep | 11.1 | 6.9 | — | — | E31 / A 57 – Cologne, Goch, Moers | Continuation into Germany; east end of A77 overlap |
| 1.000 mi = 1.609 km; 1.000 km = 0.621 mi Concurrency terminus Incomplete access ||||||||