The M4 in Wales on 74 cameras, Severn bridge to Pont Abraham
At 02:12 this morning the J26 Malpas camera had three empty eastbound lanes under sodium light, a run of cones down the nearside, and a scatter of headlights climbing away towards the Brynglas tunnels. The clock is burnt into the top right of the frame, so you never have to guess how old the picture is. Five minutes later there is a new one.
That is the M4 in Wales at its quietest hour. The same camera at 07:45 is the best early warning anyone gets for the worst pinch point on the road.
Who runs them, and how often they actually move
Traffic Wales operates the cameras for the Welsh Government from three control centres, and it is refreshingly plain about the cycle: "Still images of the road network's CCTV, which are displayed on the Traffic Wales website, are refreshed every 5 minutes." Stills, not video. Its M4 page carried 87 distinct camera images when I pulled it at 01:10 UTC on 2026-09-29, and we list 74 of them, counted the same morning from our own Wales listing by matching junction and location names. One extra feed at junction 33 comes from a different source on a two and a half minute cycle, which makes it the fastest-moving picture on the Welsh M4.
The road itself starts at the Severn and ends in Carmarthenshire. Below is the corridor in five stretches, with the camera I would actually open for each.
The Severn crossing and the Gwent Levels
The Prince of Wales Bridge camera looks along the deck of the crossing that carries the M4 into Wales. It was the Second Severn Crossing until it was renamed on 2 July 2018, and the tolls came off on 17 December 2018, which is why the two cameras a mile west are still called Toll Plaza East and Toll Plaza West and point at a plaza that no longer takes money. Worth watching in a westerly gale, when the bridge gets wind restrictions and the lorries move over.
Past the bridge the motorway drops onto the Gwent Levels, flat and open, and the cameras at J23 Rogiet and J23A Magor see a long way in both directions. These are the ones to check on a clear winter morning for ground fog sitting over the reens.
Newport, and the tunnels that hold everything up
J24 Coldra is where the A48(M) peels off for Newport and the traffic first starts to stack. Then J25 Caerleon, and then the Brynglas tunnels, the only twin-bored tunnels on the UK motorway network and still two lanes each way where the rest of the motorway is three. When the M4 was widened in 1982 the tunnels and the Usk bridge were left as they were, and they have been the bottleneck ever since.
No camera sits inside the bores, so J26 Malpas at the western portal and Malpas Straight just beyond it are how you read them. If the eastbound queue on Malpas Straight has stopped moving at 08:00, the tunnels are full and the variable limits between junctions 24 and 28 will already be down. J27 High Cross and J28 Tredegar Park show you how far back it has reached.
Cardiff's northern edge
The motorway never enters Cardiff, it runs along the top of it, and the run from J29 Castleton to J30 Cardiff Gate is the densest stretch of camera cover in Wales: Began, Pontprennau, Lisvane, Thornhill and Rhiwbina all have their own westbound view inside about eight miles.
West of J32 Coryton is the one I would pick of that group. Coryton is where the A470 comes down from the valleys and meets the M4, and on a Saturday with a match at the Principality Stadium it is the first place the northbound queue shows up. A few miles on, J33 Capel Llanilltern covers the A4232 link that most of the stadium traffic actually uses, and the second feed at the same junction updates every two and a half minutes rather than five.
Bridgend, Margam and the steelworks
J34 to J35 Pontyclun, J35 Pencoed and J36 Sarn cover the Bridgend approaches, and Stormy Down sits on the exposed rise between Pyle and Bridgend that earns its name in a south-westerly.
Then the coast. Kenfig looks across the dunes, and J38 Margam and J39 Groes sit above Port Talbot with the steelworks below. At 02:12 the Margam camera showed a single wet carriageway between two walls of trees, lit and empty. At dusk the same view has the works behind it, and that is the one genuinely dramatic thing on this motorway.
Neath, Swansea and the end of the road
Briton Ferry East looks along the viaduct over the river Neath, water and lights off to the left. A lorry was crossing it when I checked at 02:12, which on that bridge at that hour is most of the traffic.
West of there the junctions come quickly: J42 Earlswood, J43 Llandarcy, J44 Lon Las, the Morriston Hospital view between J45 and J46, J46 Llangyfelach and J48 Hendy. Llandarcy is the one to watch on a bank holiday Friday, because everything heading for Gower and the west coast funnels through it.
J49 Pont Abraham is the last one. The motorway simply stops there and becomes the A48, and the camera catches the moment it narrows, the hatched markings running out and the slip road folding in. At 02:12 it was lit, wet and completely empty.
What we do with these
Two of the ten frames I pulled this morning were not road at all but a bilingual card saying the camera is unavailable due to maintenance works, the same 607 by 458 image byte for byte, md5 87dafd7161d709b51205a66c4750e1c8, served for both the Prince of Wales Bridge and J37 Pyle. A status check passes that card happily. We take an MD5 of every image feed instead, so a camera serving the same bytes as a known vendor card gets marked rather than listed as live, which is why the Wales page does not quietly fill up with them.
The thing I have not solved is the timestamp. Traffic Wales burns the real capture time into the corner of every frame, which is better evidence than anything in the HTTP headers, and we throw it away. Reading it back would tell us a camera had stopped updating hours before a hash comparison could, and it would work on every Traffic Wales road, not just this one. I would like to know whether anyone has a clean way to OCR a burnt-in clock at 640 by 352 without a pile of false reads.