8 cities
| City | Rank | 2025 Pop. ↓ | 2020 Pop. | Annual Change | Density | Area (mi²) | Type |
|---|---|---|---|---|---|---|---|
| Vinita | 1 | 5,422 | 5,284 | 0.5% | 440 | 12 | City |
| South Coffeyville | 2 | 696 | 683 | 0.29% | 943 | 1 | Town |
| Welch | 3 | 641 | 625 | 0.47% | 1,250 | 1 | Town |
| Bernice | 4 | 436 | 419 | 0.69% | 534 | 1 | Town |
| Big Cabin | 5 | 177 | 170 | 0.57% | 78 | 2 | Town |
| Pensacola | 6 | 108 | 101 | 0.93% | 360 | 0 | Town |
| New Alluwe | 7 | 88 | 87 | 0% | 759 | 0 | Town |
| Grand Lake Towne | 8 | 79 | 79 | 0% | 590 | 0 | Town |
Vinita is the largest city in Craig County, with a population of 5,422.
Grand Lake Towne is the smallest city in Craig County, with a population of 79.
There are 8 cities in Craig County, Oklahoma.