Clean-air zone compliance

The UK now has twelve operational clean-air zones (CAZ) and low-emission zones (LEZ), each with its own rules, threshold, and daily charge. Some private cars are exempt in Bath but chargeable in Glasgow. The thresholds differ between petrol and diesel by two whole Euro classes. Working out whether your vehicle is charged in zone X is a real-time, real-money question, and the existing authority tools are zone-by-zone affairs that you'd have to check thirteen times for a clear answer.

GarageHQ surfaces the answer for every zone, on every vehicle, in one card.

Where it lives

Open any vehicle, then look on the Overview tab, below the wallet card. The Clean-air zone compliance card lists every zone the matrix knows about, with a per-zone status pill and the daily charge.

What the matrix needs from you

The grid is computed locally from two columns on your vehicle: fuel type and Euro standard. Both are optional, but the answer is more useful with them filled in.

For most vehicles, both are filled in automatically. When you add a new vehicle with the DVLA Lookup button, or click Refresh from DVLA on an existing one, we pull the fuel type and Euro standard straight from DVLA's database and pre-populate the fields. If they're already correct, you're done.

When DVLA doesn't have a formal Euro class (kit cars, imports, pre-2001 registrations), GarageHQ falls back to inferring the class from the vehicle's first-registration date. The grid still produces an answer per zone, but each row carries an Inferred tag, and the card's amber banner tells you the verdicts are best-effort. If the inference looks wrong, you can override it on the edit form.

You only need to set fuel type or Euro standard manually when:

  • DVLA had neither a formal Euro class nor a registration date we can infer from (very rare, even imports usually carry a registration date)
  • You believe the inferred class is wrong (for example, your kit car is Euro 6-equivalent by virtue of a modern donor engine but registered before the Euro 6 cutoff)
  • You have a Certificate of Conformity giving you a higher class than the registration-date inference would assume

To override, open the vehicle, click More → Edit to open the Settings tab edit form, scroll to Fuel type and Euro standard, pick the value, and Save.

Where to find your Euro standard if DVLA doesn't have it: look at your V5C (logbook). Section D.2 is the emissions class, and is labelled with the Euro number directly. If your V5C predates this field, the rough year-to-Euro mapping is:

Euro standard First registered
Pre-Euro Before 1992
Euro 1 1992-1996
Euro 2 1996-2000
Euro 3 2000-2005
Euro 4 2005-2009
Euro 5 2009-2014
Euro 6 2014-2018
Euro 6d 2018-2020 (RDE / WLTP testing)
Euro 7 2025 onwards

This is an approximation; the V5C is authoritative.

Reading the grid

Each zone row has four pieces of information:

  • Zone name (London ULEZ, Birmingham CAZ, Glasgow LEZ, etc.)
  • Status pill (Compliant, Charge, Exempt, or Unknown)
  • Daily charge (for example "£12.50/day", or "No charge" for zones where private cars are exempt by design)
  • Reason (for any non-compliant or unknown row, a one-line explanation)

Status meanings

  • Compliant: your fuel + Euro combo meets the zone's threshold. No charge.
  • Charge: your vehicle is below the zone's threshold. The daily charge applies on entry, payable to the local authority.
  • Exempt: electric, hybrid, and plug-in hybrid vehicles are exempt across every UK CAZ / LEZ.
  • Unknown: either you haven't set fuel + Euro yet (set them on the edit form), or your fuel type is one we don't auto-compute against (LPG, "other"). For those, check the authority's tool directly.

If a row carries an Inferred tag alongside the status pill, the Euro class wasn't on DVLA's record and we guessed it from the first-registration date. The verdict is a reasonable first cut, but isn't the formal classification, see the appeal section below.

Appealing a "Charge" verdict with a Certificate of Conformity

The classic case: your car was actually built to a higher Euro standard than DVLA records (or has none at all), but the zone's number-plate camera reads DVLA's data and charges you anyway. A well-known example is the Honda S2000, type-approved as Euro 4 petrol, which makes it ULEZ-compliant. Honda never re-homologated it for later schemes, so some DVLA records list no Euro class. The zone camera defaults to "non-compliant" and issues PCNs.

Every UK clean-air authority accepts a Certificate of Conformity (CoC) as proof on appeal. The CoC is the document the manufacturer issued when the vehicle was type-approved; it lists the Euro standard the vehicle was certified against. Most manufacturers will reissue one on request, usually for £20-£60, sometimes free for older vehicles.

The workflow when you receive a PCN you believe is wrong:

  1. Click Check with [authority] on the row in GarageHQ. You land on the authority's vehicle-check tool.
  2. If the authority's tool agrees you're chargeable, follow their appeal instructions (usually a form linked from the PCN). Attach a copy of the CoC.
  3. If the authority's tool says you're exempt or compliant, that's evidence the PCN was issued in error and the appeal is usually straightforward.

GarageHQ doesn't store your CoC (that's outside the scope of the document wallet), but you can upload it as an attachment on a service-history entry titled something like "PCN appeal docs" so it's findable next time.

For inferred rows, the Inferred tag is your prompt: if you're going to drive into the zone regularly, get a CoC and update the Euro standard on the edit form so the verdict is no longer a guess.

What if the grid disagrees with the authority's tool?

Two sources of disagreement are possible:

  1. Your V5C and the authority's database disagree. The authority pulls vehicle data from DVLA's public lookup, but DVLA's Euro field is occasionally wrong for older imports, kit cars, or vehicles modified to a different emissions standard. The authority is bound by what DVLA says, not what's on the V5C.
  2. There's an authority-specific exemption that the grid doesn't model. Most CAZ schemes exempt blue-badge holders, retrofits, certain taxis, military and emergency vehicles, etc. The grid doesn't try to model those; it gives you the default threshold answer.

On every non-compliant row (and every unknown row), the card includes a "Check with [authority]" link. Click it. You land on the authority's own vehicle-check tool, where you can confirm whether the default applies to your vehicle.

If the authority's tool agrees with our grid, you're chargeable. If their tool says you're exempt or compliant but our grid says you're not, an exemption applies that our default doesn't model, follow the authority's answer.

How accurate is the grid?

The thresholds and charges are hand-curated from each authority's published rules. CAZ schemes are politically volatile (charges, bounds, and exempt classes change with local-authority decisions), so the data here is maintained on a periodic refresh cycle, not pulled live from authority APIs.

If you spot a stale threshold or daily charge, email hello@garagehq.uk with the zone name and what's changed. We refresh the matrix when authorities make material changes.

The "Check with [authority]" link on every chargeable row is the always-live escape hatch: it goes to the authority's own tool, which is authoritative for your specific vehicle.

Zones the grid covers

The current matrix covers twelve operational zones across the UK:

  • London ULEZ (Transport for London)
  • Birmingham CAZ
  • Bristol CAZ
  • Bath CAZ (private cars exempt, HGV / PSV chargeable)
  • Bradford CAZ (private cars exempt)
  • Newcastle CAZ (private cars exempt)
  • Sheffield CAZ (Class C, private cars exempt)
  • Tyneside CAZ (Newcastle + Gateshead, Class C)
  • Glasgow LEZ
  • Edinburgh LEZ
  • Aberdeen LEZ
  • Dundee LEZ

Portsmouth CAZ was paused at the council's 2023 review and isn't included.

If new zones come online (Cardiff and Belfast both have schemes in consultation), we'll add them to the matrix and the card will pick them up automatically.

Common questions

My EV is showing as "Exempt" in zones with a charge listed. Is the charge accurate? Yes, the charge column shows the zone's chargeable rate for non-compliant vehicles; the Exempt pill means your specific vehicle doesn't pay it. Both pieces of information are useful: if a friend asks "what's the charge for a non-compliant car in Glasgow?", the answer's right there.

Why is there no per-trip projection? The grid surfaces compliance, not estimated annual spend. A "how much will this cost me a year?" projection would need to know your driving patterns, which we don't track. The daily charge is what you need to make the decision; multiply by your trip frequency mentally.

Does the grid update when authorities change their thresholds? When authorities publish a material change (a charge rise, new threshold, scheme expansion), we update the matrix in a maintenance pass. The matrix carries an internal freshness date that we use to schedule reviews. The "Check with [authority]" link on every row remains the always-live source of truth for any vehicle-specific question.