Skip to content
A470

Wales: Brecon Beacons to Snowdonia

Across Wales on the A470, up Snowdon and on to Conwy’s castle and Portmeirion.

Distance
287 km (178 mi)
Driving
3 h 58 min
Suggested days
4
Stops
6
Countries
United Kingdom
Updated
May 24, 2026

At a glance: 4-day road trip of about 287 km (178 mi) with 6 stops, from Cardiff to Conwy. About 3 h 58 min of driving in total.

Route description

Start in Cardiff, with its castle in the centre and the redeveloped bay, then take the A470 north past Merthyr Tydfil into the Brecon Beacons (Bannau Brycheiniog). The valleys give way to open grassy mountains around Pen y Fan, the highest peak in southern Britain.

Brecon is a small market town with a cathedral at the edge of the national park. The A470 then crosses mid Wales through Builth Wells and Rhayader, a long, quiet stretch of hills and sheep farms, to Dolgellau and the coast near Portmeirion.

Portmeirion is an Italian-style fantasy village built by the architect Clough Williams-Ellis on a wooded peninsula. From there drive into Snowdonia (Eryri) to Llanberis, below the old slate quarries.

From Llanberis you can walk up Snowdon (Yr Wyddfa) or take the rack railway in season, which is worth booking ahead. Finish in Conwy, with its castle and complete town walls. The A470 is slow and winding in places, and car parks at popular trailheads such as Pen-y-Pass need to be booked in advance in summer.

Stop-by-stop itinerary

In driving order. Distances are estimates between consecutive stops.

  1. 1

    Cardiff

    United Kingdom
    Start
  2. 2

    Brecon

    United Kingdom
    67 km
  3. 3

    Portmeirion

    OdditiesPenrhyndeudraeth, United Kingdom

    An Italian-style fantasy village built on the Welsh coast by an eccentric architect.

    147 km
  4. 4

    Llanberis

    United Kingdom
    29 km
  5. 5

    Snowdon (Yr Wyddfa)

    NatureLlanberis, United Kingdom

    Wales’ highest mountain. Walk up, or take the rack railway from Llanberis in season.

    8 km
  6. 6

    Conwy

    United Kingdom
    36 km