Municipio situado a una altitud sobre el nivel del mar de 432 metros, cuenta con una extensión de 48,6 Km2 y tiene una población aproximadamente de 5.819 habitantes.
Está al nordeste de la provincia de Cádiz, muy próximo al límite de la provincia de Sevilla por el norte y de Málaga por el este. Se halla a los pies del sistema Subbético, entre la campiña jerezana y la Serranía de Grazalema, en el sitio llamado puerto de Alcaudete. Su enclave está en las estribaciones, ya alejadas y en declive de la Serranía de Ronda, está flanqueado por dos elevaciones montañosas: el cerro Verdugo y Las Lomas.