| City | Rank | 2026 Pop. ↓ | 2020 Pop. | Annual Change | Density (/mi²) | Area (mi²) | Type |
|---|---|---|---|---|---|---|---|
| Pauls Valley | 1 | 6,184 | 6,040 | 0.44% | 743 | 8 | City |
| Lindsay | 2 | 2,943 | 2,867 | 0.48% | 1,271 | 2 | City |
| Wynnewood | 3 | 1,963 | 1,930 | 0.31% | 1,263 | 2 | City |
| Stratford | 4 | 1,446 | 1,398 | 0.63% | 1,430 | 1 | Town |
| Maysville | 5 | 1,100 | 1,077 | 0.36% | 716 | 2 | Town |
| Elmore City | 6 | 773 | 734 | 0.91% | 789 | 1 | Town |
| Paoli | 7 | 596 | 580 | 0.51% | 1,624 | 0 | Town |
| Katie | 8 | 351 | 330 | 1.15% | 17 | 21 | Town |
| Hickory | 9 | 82 | 85 | -1.2% | 156 | 1 | Town |
| Rosedale | 10 | 69 | 63 | 1.47% | 885 | 0 | Town |
Pauls Valley is the largest city in Garvin County, with a population of 6,184.
Rosedale is the smallest city in Garvin County, with a population of 69.
There are 10 cities in Garvin County, Oklahoma.