16 cities
| City | Rank | 2025 Pop. ↓ | 2020 Pop. | Annual Change | Density | Area (mi²) | Type |
|---|---|---|---|---|---|---|---|
| Sheldon | 1 | 5,604 | 5,514 | 0.36% | 1,167 | 5 | City |
| Sheldon | 2 | 5,604 | 5,503 | 0.36% | 1,167 | 5 | City |
| Hartley | 3 | 1,580 | 1,604 | -0.25% | 1,188 | 1 | City |
| Hartley | 4 | 1,580 | 1,598 | -0.25% | 1,188 | 1 | City |
| Sanborn | 5 | 1,480 | 1,392 | 1.16% | 788 | 2 | City |
| Sanborn | 6 | 1,480 | 1,395 | 1.16% | 788 | 2 | City |
| Paullina | 7 | 979 | 979 | 0% | 1,048 | 1 | City |
| Paullina | 8 | 979 | 976 | 0% | 1,048 | 1 | City |
| Primghar | 9 | 890 | 905 | -0.34% | 655 | 1 | City |
| Primghar | 10 | 890 | 903 | -0.34% | 655 | 1 | City |
| Sutherland | 11 | 628 | 630 | 0% | 739 | 1 | City |
| Sutherland | 12 | 628 | 628 | 0% | 739 | 1 | City |
| Calumet | 13 | 143 | 146 | -0.69% | 538 | 0 | City |
| Calumet | 14 | 143 | 146 | -0.69% | 538 | 0 | City |
| Archer | 15 | 116 | 116 | 0% | 1,365 | 0 | City |
| Archer | 16 | 116 | 116 | 0% | 1,365 | 0 | City |
Sheldon is the largest city in O'Brien County, with a population of 5,604.
Archer is the smallest city in O'Brien County, with a population of 116.
There are 16 cities in O'Brien County, Iowa.