La ciudad se sitúa frente al estuario del río Guadalete, e inmersa en el Parque Natural de la Bahía de Cádiz, a 124 km de la capital autonómica, Sevilla.