Tiene un tercio de sus límites fronterizos con el País Vasco (municipios de Sopuerta, Músquiz, Arcentales y Trucios) y el resto con el mar Cantábrico y los municipios de Guriezo y Liendo (apenas la línea Oriñón-Sonabia como punto de contacto).
Castro Urdiales se encuentra a caballo entre Santander (a 75 km) y Bilbao (a 35 km), a las que se encuentra unida por la carretera CN-634, así como por autovía.
Compañías de autobuses (Alsa e IRB) mantienen líneas regulares con el municipio.