El concejo limita al norte y al este con Castropol, al sur con Villanueva de Oscos, Taramundi y San Tirso de Abres, y al oeste con el río Eo, que lo separa de los municipios gallegos de Trabada y Ribadeo, para dar de nuevo con San Tirso.