22 cities
| City | Rank | 2025 Pop. ↓ | 2020 Pop. | Annual Change | Density | Area (mi²) | Type |
|---|---|---|---|---|---|---|---|
| Bryan | 1 | 8,570 | 8,725 | -0.36% | 1,587 | 5 | City |
| Montpelier | 2 | 3,869 | 3,942 | -0.39% | 1,346 | 3 | Village |
| Center | 3 | 2,887 | 2,942 | -0.14% | 80 | 36 | Township |
| St. Joseph | 4 | 2,627 | 2,645 | 0.19% | 75 | 35 | Township |
| Brady | 5 | 2,567 | 2,617 | -0.16% | 90 | 29 | Township |
| Pulaski | 6 | 2,430 | 2,456 | 0% | 79 | 31 | Township |
| Florence | 7 | 1,924 | 1,948 | 0.05% | 45 | 43 | Township |
| Edgerton | 8 | 1,872 | 1,880 | -0.11% | 1,092 | 2 | Village |
| West Unity | 9 | 1,724 | 1,759 | -0.4% | 1,120 | 2 | Village |
| Bridgewater | 10 | 1,403 | 1,427 | -0.14% | 42 | 33 | Township |
| Pioneer | 11 | 1,401 | 1,429 | -0.43% | 687 | 2 | Village |
| Superior | 12 | 1,290 | 1,318 | -0.15% | 32 | 41 | Township |
| Stryker | 13 | 1,232 | 1,259 | -0.48% | 1,377 | 1 | Village |
| Northwest | 14 | 1,108 | 1,118 | 0% | 34 | 33 | Township |
| Edon | 15 | 782 | 787 | -0.13% | 713 | 1 | Village |
| Mill Creek | 16 | 746 | 759 | -0.13% | 31 | 24 | Township |
| Lake Seneca | 17 | 675 | 656 | 2.12% | 475 | 1 | CDP |
| Nettle Lake | 18 | 232 | 301 | 6.91% | 910 | 0 | CDP |
| Kunkle | 19 | 217 | 352 | -0.91% | 775 | 0 | CDP |
| Alvordton | 20 | 121 | 247 | -4.72% | 480 | 0 | CDP |
| Blakeslee | 21 | 105 | 108 | -0.94% | 1,117 | 0 | Village |
| Holiday City | 22 | 49 | 51 | -2% | 19 | 3 | Village |
Bryan is the largest city in Williams County, with a population of 8,570.
Holiday City is the smallest city in Williams County, with a population of 49.
There are 22 cities in Williams County, Ohio.