Integrado en la comarca de La Mariña Oriental, de la que ejerce de capital, se sitúa a 103 kilómetros de
Lugo. El término municipal está atravesado por la autovía del Cantábrico (A-8), por las
carreteras nacionales N-634 (
San Sebastián-Santiago de Compostela), N-640 (
Castropol-Villagarcía de Arosa) y N-642 (
Ribadeo-
Vegadeo), además de por carreteras locales que permiten la comunicación entre las
parroquias.