Granite Shoals is a city in Burnet County, Texas, United States with a 2020 census population of 5,129. Granite Shoals is located in southwestern Burnet County 7 miles west of Marble Falls and 56 miles northwest of downtown Austin, on a bend on the east shore of Lake Lyndon B. Johnson.