Edinburgh is a town located in Johnson County, Indiana. Edinburgh has a 2026 population of 4,478. Edinburgh is currently growing at a rate of 0.65% annually and its population has increased by 0.92% since the most recent census, which recorded a population of 4,437 in 2020.