La localidad está situada en el sur de la provincia de Cádiz, al pie de la Sierra del Retín, y a orillas del río Cachón y del océano Atlántico.