28 cities
| City | Rank | 2025 Pop. ↓ | 2020 Pop. | Annual Change | Density | Area (mi²) | Type |
|---|---|---|---|---|---|---|---|
| David City | 1 | 3,032 | 2,999 | 0.2% | 723 | 4 | City |
| Alexis | 2 | 723 | 716 | -0.14% | 21 | 35 | Township |
| Savannah | 3 | 544 | 542 | -0.55% | 18 | 30 | Township |
| Oak Creek | 4 | 514 | 501 | -0.19% | 14 | 36 | Township |
| Reading | 5 | 505 | 504 | -0.39% | 14 | 36 | Township |
| Richardson | 6 | 433 | 430 | -0.23% | 12 | 36 | Township |
| Bellwood | 7 | 411 | 405 | 0.24% | 1,756 | 0 | Village |
| Bone Creek | 8 | 379 | 370 | 0.53% | 10 | 38 | Township |
| Rising City | 9 | 360 | 358 | 0% | 1,003 | 0 | Village |
| Brainard | 10 | 354 | 337 | 0.85% | 1,142 | 0 | Village |
| Ulysses | 11 | 317 | 316 | 0% | 9 | 36 | Township |
| Skull Creek | 12 | 252 | 253 | -0.4% | 7 | 36 | Township |
| Lakeview | 13 | 251 | 378 | -1.57% | 690 | 0 | CDP |
| Dwight | 14 | 230 | 227 | 0% | 954 | 0 | Village |
| Linwood | 15 | 213 | 212 | 0% | 6 | 36 | Township |
| Olive | 16 | 205 | 206 | -0.97% | 6 | 35 | Township |
| Summit | 17 | 196 | 194 | 0% | 5 | 36 | Township |
| Ulysses | 18 | 190 | 190 | 0% | 876 | 0 | Village |
| Read | 19 | 177 | 177 | -0.56% | 5 | 36 | Township |
| Plum Creek | 20 | 169 | 167 | 0% | 5 | 36 | Township |
| Platte | 21 | 167 | 162 | 0.6% | 10 | 17 | Township |
| Octavia | 22 | 108 | 107 | 0% | 659 | 0 | Village |
| Bruno | 23 | 97 | 96 | 0% | 363 | 0 | Village |
| Linwood | 24 | 93 | 92 | 0% | 245 | 0 | Village |
| Richland | 25 | 83 | 73 | 2.47% | 388 | 0 | Village |
| Abie | 26 | 66 | 65 | 0% | 710 | 0 | Village |
| Garrison | 27 | 56 | 55 | 0% | 519 | 0 | Village |
| Surprise | 28 | 40 | 40 | 0% | 102 | 0 | Village |
David City is the largest city in Butler County, with a population of 3,032.
Surprise is the smallest city in Butler County, with a population of 40.
There are 28 cities in Butler County, Nebraska.