| City | County | 2026 Pop. ↓ |
|---|---|---|
| O'Fallon | St. Charles County | 96,958 |
| Oakville | St. Louis County | 34,941 |
| Ozark | Christian County | 24,004 |
| Old Jamestown | St. Louis County | 21,568 |
| Overland | St. Louis County | 15,378 |
| Oak Grove | Jackson County | 9,604 |
| Olivette | St. Louis County | 9,046 |
| Odessa | Lafayette County | 5,737 |
| Osage Beach | Camden County | 5,186 |
| Oronogo | Jasper County | 3,350 |
| Owensville | Gasconade County | 2,798 |
| Oakland | St. Louis County | 1,367 |
| Oran | Scott County | 1,196 |
| Osceola | St. Clair County | 1,023 |
| Oregon | Holt County | 829 |
| Orrick | Ray County | 737 |
| Olympian Village | Jefferson County | 708 |
| Otterville | Cooper County | 452 |
| Oak Grove Village | Crawford County | 405 |
| Osborn | DeKalb County | 369 |
| Oakview | Clay County | 363 |
| Ozora | Ste. Genevieve County | 347 |
| Old Monroe | Lincoln County | 288 |
| Oak Ridge | Cape Girardeau County | 239 |
| Oakwood | Clay County | 198 |
| Oakwood Park | Clay County | 196 |
| Oaks | Clay County | 125 |
| Olean | Miller County | 121 |
| Old Appleton | Cape Girardeau County | 75 |
| Osgood | Grundy County | 22 |