12 cities
| City | Rank | 2025 Pop. ↓ | 2020 Pop. | Annual Change | Density | Area (mi²) | Type |
|---|---|---|---|---|---|---|---|
| Pearisburg | 1 | 2,843 | 2,914 | -0.49% | 891 | 3 | Town |
| Pearisburg | 2 | 2,843 | 2,912 | -0.49% | 891 | 3 | Town |
| Narrows | 3 | 2,027 | 2,091 | -0.64% | 1,600 | 1 | Town |
| Narrows | 4 | 2,027 | 2,090 | -0.64% | 1,600 | 1 | Town |
| Pembroke | 5 | 1,131 | 1,150 | -0.35% | 1,041 | 1 | Town |
| Pembroke | 6 | 1,131 | 1,149 | -0.35% | 1,041 | 1 | Town |
| Rich Creek | 7 | 730 | 748 | -0.54% | 891 | 1 | Town |
| Rich Creek | 8 | 730 | 748 | -0.54% | 891 | 1 | Town |
| Ripplemead | 9 | 344 | 571 | 7.17% | 304 | 1 | CDP |
| Eggleston | 10 | 104 | 67 | 7.22% | 126 | 1 | CDP |
| Glen Lyn | 11 | 92 | 95 | -1.08% | 151 | 1 | Town |
| Glen Lyn | 12 | 92 | 95 | -1.08% | 151 | 1 | Town |
Pearisburg is the largest city in Giles County, with a population of 2,843.
Glen Lyn is the smallest city in Giles County, with a population of 92.
There are 12 cities in Giles County, Virginia.