Carmarthen, ou Caerfyrddin en gallois, est la capitale du comté de Carmarthenshire, au pays de Galles, sur les rives de la rivière Towy. La ville comptait habitants selon le recensement de 2011.
Selon la légende, le nom gallois Caerfyrddin dériverait de Merlin (Myrddin en gallois), qui serait né dans une grotte à Carmarthen. Caerfyrrddin se présente donc comme « la ville de Merlin ». Toutefois, les historiens rejettent cette interprétation et pensent que Caerfyrddin résulte de la déformation progressive du nom brittonique de la ville, Moridunum (mori-dunon, le fort de la mer).
Carmarthen se situe dans l'ouest du pays de Galles, au centre du comté du Carmarthenshire. Elle se trouve à environ 35 km au nord-ouest de Swansea et à 19 km au nord-ouest de Llanelli, la plus grande ville du comté.
La ville est traversée par la rivière Towi, qui se jette dans une baie communiquant avec le canal de Bristol, 13 km en aval de la ville. De ce fait, la baie est appelée « baie de Carmarthen ».
Carmarthen prétend être la plus ancienne ville du pays de Galles continuellement habitée depuis sa fondation.
Carmarthen se dresse à l'emplacement d'un fort romain probablement construit autour de l'an 75 et occupé jusqu'en 120. Une ville s'établit autour, qui devient la capitale du peuple des Demetae. Elle le reste pendant toute l'occupation romaine de la Bretagne et est connue sous le nom de Moridunum (le fort de la mer). L'existence de la ville est attestée aussi bien par Ptolémée que par sa mention dans l'Itinéraire d'Antonin.
La ville abrite notamment l'un des sept amphithéâtres romains recensés au Royaume-Uni et l'un des deux seuls présents au pays de Galles (l'autre se situe à Caerleon). Cet amphithéâtre a été mis au jour lors de fouilles menées en 1968. Les recherches ont également permis de découvrir un temple romano-celtique du Ier ou du , une basilique, des bains, plusieurs habitations et un forum.
gauche|vignette|Le château de Carmarthen.
À l'époque médiévale, la ville est connue sous le nom de Llanteulyddog (la paroisse de St Teulyddog) en hommage au saint qui aurait fondé le premier monastère de la ville.