Granite Shoals is a city located in Burnet County, Texas. Granite Shoals has a 2026 population of 5,417. Granite Shoals is currently declining at a rate of -1.38% annually but its population has increased by 5.14% since the most recent census, which recorded a population of 5,152 in 2020.