At the 2001 India census, Shahgarh had a population of 14,585. Males constituted 52% of the population and females 48%. Shahgarh had an average literacy rate of 62%, higher than the national average of 59.5%: maleliteracy was 69% and female literacy 53%. 18% of the population were under 6 years of age.