Porthmadog, formerly Portmadoc, is a small coastal town in Gwynedd with a population of 4,000. It has a picturesque harbour.
William Madocks built a sea wall in the early 1800s that reclaimed the region for agricultural land. The town grew during the 19th century and by 1861 had a population of 3,000. The town became significant as a port, but that part of the local economy declined with World War I. 19th-century wharves still survive, but the harbour is used by leisure yachts.
Porthmadog station is on the Cambrian Coast Line which runs from Machynlleth to Pwllheli. Travel to Machynlleth is from either Aberystwyth or Shrewsbury.
The town is also served by the narrow gauge Ffestiniog Railway from Blaneau Ffestiniog, Welsh Highland Railway from Caernarfon and the Welsh Highland Heritage Railway.
On the A487, the Fishguard to Bangor trunk road. The A498 runs north from Porthmadog to Beddgelert, giving access to Snowdonia. The A497 runs west through the southern Llŷn Peninsula to Criccieth and Pwllheli.
The town has a Chinese restaurant, an Indian restaurant, a bistro, and various pubs serving food, including one at the station of the Ffestiniog Railway situated at the end of the Cob. The village of Tremadog is about a fifteen minute walk and enjoys four food pubs on its square. There are also numerous take-aways, including Chinese and an award-winning Fish & Chip shop.
The town has a good selection of Bed and Breakfast guest houses and makes a good base for exploring North-West Wales.