| City | Rank | 2026 Pop. ↓ | 2020 Pop. | Annual Change | Density (/mi²) | Area (mi²) | Type |
|---|---|---|---|---|---|---|---|
| Vinita | 1 | 5,451 | 5,293 | 0.5% | 442 | 12 | City |
| South Coffeyville | 2 | 689 | 683 | 0.29% | 934 | 1 | Town |
| Welch | 3 | 643 | 627 | 0.47% | 1,253 | 1 | Town |
| Bernice | 4 | 436 | 420 | 0.46% | 534 | 1 | Town |
| Big Cabin | 5 | 186 | 178 | 0.54% | 82 | 2 | Town |
| Pensacola | 6 | 110 | 101 | 0.92% | 367 | 0 | Town |
| New Alluwe | 7 | 87 | 87 | 0% | 750 | 0 | Town |
| Grand Lake Towne | 8 | 80 | 79 | 0% | 597 | 0 | Town |
Vinita is the largest city in Craig County, with a population of 5,451.
Grand Lake Towne is the smallest city in Craig County, with a population of 80.
There are 8 cities in Craig County, Oklahoma.