Zero-emission zones for construction logistics
28 municipalities have a zero-emission zone for vans and trucks. In 23 zones the rule already applies. 10 zones start later.
In such a zone, vans and trucks (N1, N2, N3) may only drive if they are electric or run on hydrogen. A transition rule applies to some older vans and trucks. Other exemptions may exist; check with the municipality.
N1 = van up to 3,500 kg. N2 = truck from 3,500 to 12,000 kg. N3 = truck over 12,000 kg.
Note: whether a zone applies to construction logistics is AstraNL's derivation. We check whether the zone covers N1, N2 and N3 and whether electric and hydrogen vehicles are exempt. NDW does not publish this grouping itself. All other data is shown as NDW publishes it.
Zero-emission zones for vans and trucks (AstraNL derivation: construction logistics)
| Municipality (link to the municipality's information) | Zone (name as at NDW) | Start | End | Now | Transition rule |
|---|---|---|---|---|---|
| 's-Gravenhage | ZE Den Haag | 01-01-2025 | none | running | N1, N2 with Euro 5: until 31-12-2026 N1, N2 with Euro 6: until 31-12-2027 |
| 's-Gravenhage | ZE Den Haag Kust | 01-01-2026 | none | running | N1, N2 with Euro 5: until 31-12-2026 N1, N2 with Euro 6: until 31-12-2027 |
| 's-Hertogenbosch | ZE 's-Hertogenbosch | 01-03-2025 | open (in source: 2999) | running | N1, N2 with Euro 5: until 31-12-2026 N1, N2 with Euro 6: until 31-12-2027 |
| Almere | ZE zone Almere Buiten | 01-01-2028 | none | starts later | none |
| Almere | ZE zone Almere Haven | 01-01-2028 | none | starts later | none |
| Almere | ZE zone Almere Stad | 01-01-2028 | none | starts later | none |
| Alphen aan den Rijn | ZE zone Alphen aan den Rijn | 01-01-2027 | open (in source: 2999) | starts later | N1, N2 with Euro 6: until 31-12-2027 |
| Amersfoort | ZE Amersfoort 2025 | 01-01-2025 | none | running | N1, N2 with Euro 5: until 31-12-2026 N1, N2 with Euro 6: until 31-12-2027 |
| Amersfoort | onbekend | 01-01-2025 | none | running | N1, N2 with Euro 5: until 31-12-2026 N1, N2 with Euro 6: until 31-12-2027 |
| Amersfoort | ZE Amersfoort 2027 | 01-01-2027 | open (in source: 2999) | starts later | N1, N2 with Euro 6: until 31-12-2027 |
| Amsterdam | ZE Amsterdam | 01-01-2025 | 01-01-2030 | running | N1, N2 with Euro 5: until 31-12-2026 N1, N2 with Euro 6: until 31-12-2027 |
| Apeldoorn | ZE Apeldoorn | 01-01-2030 | none | starts later | none |
| Arnhem | Milieuzone Arnhem actualisering per 1 juni 2026 | 01-06-2026 | open (in source: 2099) | running | N1, N2 with Euro 5: until 31-12-2026 N1, N2 with Euro 6: until 31-12-2027 |
| Assen | ZE Assen | 01-01-2025 | open (in source: 2999) | running | N1, N2 with Euro 5: until 31-12-2026 N1, N2 with Euro 6: until 31-12-2027 |
| Breda | ZEZ Breda (voorlopig) | 01-01-2029 | open (in source: 2999) | starts later | none |
| Delft | ZE Delft | 01-01-2025 | open (in source: 2999) | running | N1, N2 with Euro 5: until 31-12-2026 N1, N2 with Euro 6: until 31-12-2027 |
| Deventer | ZE Deventer | 01-01-2028 | open (in source: 2999) | starts later | none |
| Dordrecht | ZE Dordrecht | 01-01-2026 | none | running | N1, N2 with Euro 5: until 31-12-2026 N1, N2 with Euro 6: until 31-12-2027 |
| Ede | ZE Ede | 01-01-2030 | none | starts later | none |
| Eindhoven | ZE Eindhoven | 01-01-2025 | none | running | N1, N2 with Euro 5: until 31-12-2026 N1, N2 with Euro 6: until 31-12-2027 |
| Enschede | ZE Enschede | 01-07-2025 | open (in source: 2999) | running | N1, N2 with Euro 5: until 31-12-2026 N1, N2 with Euro 6: until 31-12-2027 |
| Gouda | ZE Gouda | 01-01-2025 | open (in source: 2999) | running | N1, N2 with Euro 5: until 31-12-2026 N1, N2 with Euro 6: until 31-12-2027 |
| Groningen | ZE Groningen | 01-04-2025 | open (in source: 2999) | running | N1, N2 with Euro 5: until 31-12-2026 N1, N2 with Euro 6: until 31-12-2027 |
| Haarlem | ZE Haarlem | 01-06-2025 | none | running | N1, N2 with Euro 5: until 31-12-2026 N1, N2 with Euro 6: until 31-12-2027 |
| Haarlemmermeer | ZE Schiphol | 01-01-2026 | none | running | N1, N2 with Euro 5: until 31-12-2026 N1, N2 with Euro 6: until 31-12-2027 |
| Leiden | ZE Leiden | 01-01-2025 | open (in source: 2999) | running | N1, N2 with Euro 5: until 31-12-2026 N1, N2 with Euro 6: until 31-12-2027 |
| Maastricht | ZES Maastricht | 01-01-2025 | open (in source: 2999) | running | N1, N2 with Euro 5: until 31-12-2026 N1, N2 with Euro 6: until 31-12-2027 |
| Nijmegen | ZE Nijmegen | 01-01-2025 | open (in source: 2099) | running | N1, N2 with Euro 5: until 31-12-2026 N1, N2 with Euro 6: until 31-12-2027 |
| Rotterdam | ZE Rotterdam | 01-01-2025 | open (in source: 2999) | running | N1, N2 with Euro 5: until 31-12-2026 N1, N2 with Euro 6: until 31-12-2027 |
| Tilburg | ZE Tilburg | 01-01-2025 | open (in source: 2099) | running | N1, N2 with Euro 5: until 31-12-2026 N1, N2 with Euro 6: until 31-12-2027 |
| Utrecht | ZE Utrecht | 01-01-2025 | open (in source: 2999) | running | N1, N2 with Euro 5: until 31-12-2026 N1, N2 with Euro 6: until 31-12-2027 |
| Venlo | Identificatie146223 | 01-01-2027 | 01-01-2050 | starts later | N1, N2 with Euro 6: until 31-12-2027 |
| Zwolle | ZE Zwolle | 01-01-2025 | open (in source: 2999) | running | N1, N2 with Euro 5: until 31-12-2026 N1, N2 with Euro 6: until 31-12-2027 |
Low-emission zones for diesel vehicles
These are older low-emission zones (milieuzones). They apply to diesel vehicles. Which vehicles exactly is on the municipality's website.
| Municipality (link to the municipality's information) | Zone (name as at NDW) | Start | End | Now |
|---|---|---|---|---|
| 's-Gravenhage | LEZ Den Haag | 01-01-2020 | open (in source: 2999) | running |
| 's-Hertogenbosch | LEZ 's-Hertogenbosch | 01-01-2020 | 01-03-2025 | end date passed |
| Amsterdam | LEZ Amsterdam | 01-11-2020 | 01-01-2025 | end date passed |
| Amsterdam | Milieuzone Amsterdam | 01-01-2025 | 01-01-2030 | running |
| Arnhem | Milieuzone Arnhem | 20-12-2020 | none | running |
| Breda | LEZ Breda | 01-01-2020 | 30-06-2026 | end date passed |
| Breda | LEZ Breda 26072026 | 30-06-2026 | 31-12-2028 | running |
| Delft | LEZ Delft | 01-01-2020 | open (in source: 2999) | running |
| Haarlem | LEZ Haarlem | 01-01-2020 | open (in source: 2999) | running |
| Leiden | LEZ Leiden | 01-01-2020 | open (in source: 2999) | running |
| Maastricht | Milieuzone Maastricht | 01-01-2020 | open (in source: 2999) | running |
| Rijswijk (ZH.) | LEZ Rijswijk | 01-01-2020 | open (in source: 2999) | running |
| Rotterdam | LEZ Rotterdam Maasvlakte | 01-01-2020 | open (in source: 2999) | running |
| Tilburg | LEZ Tilburg | 01-01-2020 | 01-01-2025 | end date passed |
| Utrecht | LEZ Utrecht | 01-01-2020 | open (in source: 2999) | running |
Sources
Source: NDW, open data file emissiezones. Published by NDW on 19 October 2026. Retrieved by AstraNL on 20 October 2026. NDW's explanation of this file (Dutch). NDW states no licence for this file.
Rules can differ per zone. Always check the municipality's website before you drive.
Data as of 20 October 2026.
This is a plain-language explanation. It is not legal advice. If in doubt, the source applies.
Looking for the legal text itself? The free AstraNL Bouwhub finds the official Dutch text and shows its source.
For software and AI assistants
The AstraNL machine entrance for this data will be at /api/construction/. It is still being built.