For journalists & site owners

Use this data

Pennr’s petrol and diesel numbers come from the UK Government’s Fuel Finder scheme — the statutory open-data programme (SI 2025/1356) that went live on 2 February 2026. Every UK forecourt selling petrol or diesel to the public must report price changes within 30 minutes. Every average and regional breakdown on this site is built from that feed — plus the government’s weekly price archive for the years before our own records begin.

It’s free to quote and reuse — all we ask is a credit and a link back to pennr.co.uk/fuel-prices. Today we’re averaging prices across 6,300+ forecourts reporting fresh data.

Download the full series

One CSV: a weekly historical series with a recent daily tail. Prices are pence per litre. The file opens with a few comment rows of attribution (each starting with #), then the data.

Columns

date

Calendar date, ISO YYYY-MM-DD.

e10_average_pence

Average unleaded petrol (E10) price for that date, pence per litre. Blank when there is no value for the date.

b7_average_pence

Average diesel (B7) price for that date, pence per litre. Blank when there is no value for the date.

source

Which series the row came from: desnz_weekly (the government’s weekly national survey) or pennr_daily (our own daily station-level average).

The two series have different bases — DESNZ’s weekly national survey and Pennr’s daily station-level averages sit a few pence apart — and we never level-adjust one to the other. The source column tells you which is which for every row, so you can split them if you need a single consistent basis.

Cite this page

UK average petrol 159.8p, diesel 178.8p (30 July 2026). Source: Pennr Fuel Price Index, based on UK Government Fuel Finder open data — pennr.co.uk/fuel-prices

How the numbers are made

No black box. Here is exactly how every figure on the site is computed — and where we stop, because the data doesn’t support going further.

National averages

Each headline average is the mean pump price across every station that has reported that fuel within the last 5 days, recomputed roughly every 30 minutes. We use a 5-day window because a “UK average” is a ranking-class claim: it should reflect what stations are charging now, not a fortnight ago.

Before averaging we drop implausible prices (anything outside a sane pence-per-litre band) and suppress junk readings — frozen or mistyped prices that would otherwise skew the mean.

The spread (dispersion)

Alongside the average we publish the spread over the same 5-day window: the 5th and 95th percentiles, plus the outright minimum and maximum. Percentiles resist the odd rogue price far better than min/max alone, so the 5th–95th band is the honest “most drivers pay between X and Y.”

Regional averages

Regional numbers roll every station up to one of the twelve UK statistical regions (ITL1: the nine English regions plus Scotland, Wales and Northern Ireland) by the leading letters of its postcode. Several postcode areas straddle a boundary; each is assigned to the region holding the plurality of its population.

The best-known call is Shrewsbury (SY), which we place in the West Midlands even though it borders mid-Wales. Note that our nation-level rankings elsewhere split SY the other way, into Wales — a nation split and a region split optimise for different things, and both are deliberate.

Motorway premium

The motorway premium is the difference between the average price at motorway-services forecourts and the average everywhere else, over the same 5-day window.

The long-run history

The history chart and the CSV stitch two datasets. For the years before Pennr’s own archive begins, we use DESNZ weekly road fuel prices — the government’s national petrol and diesel series going back to 2003, published under the Open Government Licence v3.0. From the point our own daily data starts, we switch to that.

We never level-adjust: DESNZ points keep their published values and Pennr points keep theirs, even though the two national bases sit a few pence apart. The seam is visible — the CSV’s source column labels every row — and we never compute a day, week or month change across it, because that step would show up as a phantom “surge” that never happened at the pump.

What the timestamps mean

Every timestamp is a report time, not a pump time. Every UK forecourt selling petrol or diesel to the public must report price changes within 30 minutes. What we can show is when a station reported — not the exact minute the pump price actually changed. We word it that way everywhere: “stations reported…,” never “prices changed….”

What we don't publish, and why

We show the tax you can verify — fuel duty (a flat statutory rate) and VAT (20%) — but we don’t split out the wholesale cost or the retailer’s margin, because the feed doesn’t contain that data and we won’t estimate a number we can’t stand behind.

We also don’t cover LPG or EV charging: neither is part of the statutory Fuel Finder feed, so there is nothing honest for us to report.

Licence & attribution

Contains public sector information licensed under the Open Government Licence v3.0. Two government sources sit behind this data:

If you use these numbers, please credit “Pennr Fuel Price Index” and link to pennr.co.uk/fuel-prices.