En 2016 el municipio contaba con 23 223 habitantes siendo el tercer municipio provincial en población (sólo superado por Lepe y Huelva) y la cuarta ciudad (superada además por Isla Cristina).