Porthmadog (/pɔːrθˈmædɒɡ/; pronúncia galesa: [pɔrθˈmadoɡ]) é uma cidade costeira e uma comunidade em Gwynedd, País de Gales.

O censo de 2011 revelou que a cidade tem uma população de 4.185 habitantes.

Até 1974, era também conhecida por seu nome anglicizado de Portmadoc e era conhecida localmente como Porto. A cidade surgiu depois que William Madocks construiu um muro marítimo, o Cob, entre 1808 e 1811.