The town lies on the south-east bank of the River Wye and is within the north-easternmost tip of the Brecon Beacons National Park, just north of the Black Mountains. The town is just on the Welsh side of the border with Herefordshire, England, here defined by the Dulas Brook. Where the brook joins the River Wye just north of the town, the border continues northwards along the river. The Wye was the boundary between the former counties and districts of Radnorshire and Brecknockshire.