Se encuentra al noreste de la provincia de Cádiz, en la zona más occidental de la Cordillera Bética, concretamente en la Sierra del Endrinal, al sur del río Tavizna, encontrándose su término municipal dentro del Parque Natural Sierra de Grazalema, a excepción de la zona más occidental que se encuentra en el Parque Natural de Los Alcornocales.