Cities in Ohio by population
Columbus, OH had the highest population of 176 cities in 2023, at 919,569. Canal Winchester, OH had the lowest, at 9,771. The median was 19,746 and the figure for Ohio was 11.81 million. Source: the U.S. Census Bureau.
Top 40 cities, 2023
Full ranking
| Rank | Cities | 2023 | Change on 2022 |
|---|---|---|---|
| 1 | Columbus, OH | 919,569 | +1% |
| 2 | Cleveland, OH | 363,056 | 0% |
| 3 | Cincinnati, OH | 312,728 | +0.8% |
| 4 | Toledo, OH | 265,250 | -0.4% |
| 5 | Akron, OH | 188,934 | +0.1% |
| 6 | Dayton, OH | 135,989 | 0% |
| 7 | Parma, OH | 79,004 | -0.4% |
| 8 | Canton, OH | 69,205 | -0.5% |
| 9 | Lorain, OH | 65,279 | 0% |
| 10 | Hamilton, OH | 63,638 | +0.5% |
| 11 | Youngstown, OH | 59,073 | -0.2% |
| 12 | Springfield, OH | 58,276 | +0.6% |
| 13 | Kettering, OH | 57,122 | +0.1% |
| 14 | Elyria, OH | 53,050 | +0.5% |
| 15 | Middletown, OH | 51,815 | +1% |
| 16 | Newark, OH | 50,972 | +0.5% |
| 17 | Cuyahoga Falls, OH | 50,766 | +0.3% |
| 18 | Lakewood, OH | 49,429 | -0.6% |
| 19 | Dublin, OH | 49,178 | +0.2% |
| 20 | Euclid, OH | 48,234 | -0.5% |
| 21 | Mansfield, OH | 47,509 | -0.2% |
| 22 | Beavercreek, OH | 47,216 | +0.6% |
| 23 | Mentor, OH | 46,862 | -0.2% |
| 24 | Strongsville, OH | 45,560 | -0.3% |
| 25 | Delaware, OH | 44,999 | +2.3% |
| 26 | Fairfield, OH | 44,649 | +0.4% |
| 27 | Cleveland Heights, OH | 43,983 | -0.6% |
| 28 | Huber Heights, OH | 43,448 | +0.2% |
| 29 | Grove City, OH | 43,055 | +1.7% |
| 30 | Lancaster, OH | 41,502 | +0.6% |
| 31 | Reynoldsburg, OH | 41,446 | +0.5% |
| 32 | Findlay, OH | 40,151 | -0% |
| 33 | Warren, OH | 38,662 | -0.5% |
| 34 | Westerville, OH | 38,330 | -0.2% |
| 35 | Hilliard, OH | 37,496 | +0.2% |
| 36 | North Ridgeville, OH | 37,119 | +0.9% |
| 37 | Upper Arlington, OH | 35,992 | -0.3% |
| 38 | Mason, OH | 35,815 | +0.7% |
| 39 | Marion, OH | 35,513 | +0.6% |
| 40 | Gahanna, OH | 35,459 | +0.6% |
| 41 | Brunswick, OH | 35,053 | -0.4% |
| 42 | Lima, OH | 34,799 | -0.3% |
| 43 | Fairborn, OH | 34,753 | +0.1% |
| 44 | Stow, OH | 33,910 | -0.8% |
| 45 | Westlake, OH | 33,881 | +0.3% |
| 46 | Massillon, OH | 31,885 | 0% |
| 47 | North Olmsted, OH | 31,565 | -0.5% |
| 48 | North Royalton, OH | 31,064 | +0.7% |
| 49 | Bowling Green, OH | 30,317 | +2.4% |
| 50 | Garfield Heights, OH | 28,986 | -0.5% |
| 51 | Shaker Heights, OH | 28,641 | -0.5% |
| 52 | Marysville, OH | 28,503 | +4.9% |
| 53 | Kent, OH | 27,589 | +1.7% |
| 54 | Green, OH | 27,377 | +0.3% |
| 55 | Wooster, OH | 27,069 | -0% |
| 56 | Troy, OH | 26,899 | +0.7% |
| 57 | Avon Lake, OH | 25,904 | +1.3% |
| 58 | Medina, OH | 25,882 | -0.4% |
| 59 | Xenia, OH | 25,764 | +0.6% |
| 60 | Avon, OH | 25,362 | +0.2% |
| 61 | Pickerington, OH | 25,290 | +2.9% |
| 62 | Perrysburg, OH | 25,230 | +0.2% |
| 63 | Centerville, OH | 24,999 | -0.2% |
| 64 | Wadsworth, OH | 24,681 | +0.6% |
| 65 | Athens, OH | 24,657 | +8.7% |
| 65 | Zanesville, OH | 24,657 | +0.2% |
| 67 | Barberton, OH | 24,595 | -1% |
| 68 | Riverside, OH | 24,462 | +0.3% |
| 69 | Sandusky, OH | 24,264 | -1.3% |
| 70 | Willoughby, OH | 24,157 | +0.3% |
| 71 | Solon, OH | 23,710 | -0.3% |
| 72 | Maple Heights, OH | 23,034 | -0.5% |
| 73 | Trotwood, OH | 22,970 | +0.2% |
| 74 | Hudson, OH | 22,954 | +0.2% |
| 75 | Oxford, OH | 22,380 | +6.6% |
| 76 | Chillicothe, OH | 21,884 | -0% |
| 77 | Lebanon, OH | 21,771 | +1.3% |
| 78 | Alliance, OH | 21,504 | +0.2% |
| 79 | South Euclid, OH | 21,309 | -0.5% |
| 80 | Rocky River, OH | 21,244 | -0.3% |
| 81 | Piqua, OH | 20,754 | +0.6% |
| 82 | Painesville, OH | 20,618 | 0% |
| 83 | Parma Heights, OH | 20,439 | +0.2% |
| 84 | Sidney, OH | 20,341 | +0.2% |
| 85 | Forest Park, OH | 19,933 | +0.2% |
| 86 | Whitehall, OH | 19,887 | -0.3% |
| 87 | Miamisburg, OH | 19,861 | +0.6% |
| 88 | Mayfield Heights, OH | 19,791 | -0.5% |
| 89 | Oregon, OH | 19,700 | -0.3% |
| 90 | Broadview Heights, OH | 19,691 | 0% |
| 91 | Springboro, OH | 19,538 | +0.5% |
| 92 | Norwood, OH | 19,167 | +0.1% |
| 93 | Sylvania, OH | 18,991 | -0.1% |
| 94 | Twinsburg, OH | 18,976 | -0.9% |
| 95 | Ashland, OH | 18,665 | -0.5% |
| 96 | Tallmadge, OH | 18,402 | +0.7% |
| 97 | Pataskala, OH | 18,337 | +0.7% |
| 98 | Niles, OH | 18,250 | -0.3% |
| 99 | Brook Park, OH | 18,100 | -0.4% |
| 100 | Steubenville, OH | 18,058 | +0.5% |
| 101 | Berea, OH | 17,917 | -1.5% |
| 102 | Tiffin, OH | 17,828 | -0.3% |
| 103 | Streetsboro, OH | 17,759 | +0.4% |
| 104 | Aurora, OH | 17,704 | +1.1% |
| 105 | North Canton, OH | 17,643 | -0.3% |
| 106 | Ashtabula, OH | 17,619 | -0.5% |
| 107 | Portsmouth, OH | 17,524 | -0.1% |
| 108 | New Philadelphia, OH | 17,464 | +0.1% |
| 109 | Eastlake, OH | 17,366 | -0.1% |
| 110 | Norwalk, OH | 17,125 | +0.4% |
| 111 | Defiance, OH | 17,002 | +0.2% |
| 112 | Fairview Park, OH | 16,854 | -0.3% |
| 113 | Mount Vernon, OH | 16,812 | -0.4% |
| 114 | Bay Village, OH | 15,827 | -0.3% |
| 115 | Fremont, OH | 15,820 | +0.1% |
| 116 | Monroe, OH | 15,637 | +0.9% |
| 117 | Middleburg Heights, OH | 15,633 | -0.3% |
| 118 | Powell, OH | 15,347 | +0.2% |
| 119 | Vandalia, OH | 14,898 | -0.1% |
| 120 | Worthington, OH | 14,600 | -0.4% |
| 121 | Washington Court House, OH | 14,373 | -0% |
| 122 | Circleville, OH | 14,265 | +1.6% |
| 123 | Willowick, OH | 14,148 | -0.1% |
| 124 | Bellefontaine, OH | 14,081 | -0.1% |
| 125 | Sharonville, OH | 13,962 | +0.3% |
| 126 | Brecksville, OH | 13,833 | +2.6% |
| 127 | Trenton, OH | 13,821 | +2.4% |
| 128 | New Franklin, OH | 13,795 | +0.3% |
| 129 | Beachwood, OH | 13,669 | -0.1% |
| 130 | Maumee, OH | 13,635 | -0.5% |
| 131 | Lyndhurst, OH | 13,633 | +0.1% |
| 132 | Blue Ash, OH | 13,467 | +0.6% |
| 133 | Harrison, OH | 13,441 | +2.4% |
| 134 | Warrensville Heights, OH | 13,423 | -0.3% |
| 135 | East Cleveland, OH | 13,318 | -0.7% |
| 136 | Clayton, OH | 13,271 | +0.2% |
| 137 | Englewood, OH | 13,270 | 0% |
| 138 | University Heights, OH | 13,247 | -0.8% |
| 139 | Loveland, OH | 13,196 | +0.6% |
| 140 | Marietta, OH | 13,122 | -0.7% |
| 141 | Fostoria, OH | 13,033 | +0.1% |
| 142 | Dover, OH | 12,965 | 0% |
| 143 | Amherst, OH | 12,925 | +0.4% |
| 144 | West Carrollton, OH | 12,890 | -0.1% |
| 145 | Bexley, OH | 12,885 | -0.4% |
| 146 | Bedford, OH | 12,801 | -0.5% |
| 147 | Greenville, OH | 12,626 | -0.3% |
| 147 | Wickliffe, OH | 12,626 | +0.3% |
| 149 | Wilmington, OH | 12,601 | +0.1% |
| 150 | Conneaut, OH | 12,277 | -0.3% |
| 151 | Macedonia, OH | 12,044 | -0.9% |
| 152 | Salem, OH | 11,714 | -0.2% |
| 153 | Franklin, OH | 11,681 | +0.5% |
| 154 | New Albany, OH | 11,558 | +1% |
| 155 | Seven Hills, OH | 11,535 | -0.3% |
| 156 | Bucyrus, OH | 11,520 | +0.1% |
| 157 | Norton, OH | 11,418 | -1% |
| 158 | Ravenna, OH | 11,205 | -0.2% |
| 159 | Urbana, OH | 11,131 | -0.2% |
| 160 | Springdale, OH | 11,107 | +2.2% |
| 161 | Coshocton, OH | 11,077 | +0.8% |
| 162 | Brooklyn, OH | 11,046 | -0.5% |
| 163 | Van Wert, OH | 11,021 | -0.2% |
| 164 | Celina, OH | 10,862 | -0.1% |
| 165 | Montgomery, OH | 10,826 | +0.7% |
| 166 | Bedford Heights, OH | 10,742 | -0.4% |
| 167 | Heath, OH | 10,720 | +0.6% |
| 168 | Vermilion, OH | 10,696 | +0.2% |
| 169 | Richmond Heights, OH | 10,530 | -0.4% |
| 170 | London, OH | 10,527 | +0.8% |
| 171 | Tipp City, OH | 10,484 | +0.7% |
| 172 | Reading, OH | 10,445 | +0.2% |
| 173 | Galion, OH | 10,258 | -0.4% |
| 174 | Ironton, OH | 10,200 | -0.5% |
| 175 | Cambridge, OH | 9,991 | 0% |
| 176 | Canal Winchester, OH | 9,771 | +1.2% |
Other periods
About this ranking
Resident population. Spain and the EU: 1 January, with Spanish figures from the official municipal register (Padrón). Norway: Statistics Norway, 1 January. United States: Census Bureau population estimates for 1 July. United Kingdom regions and local authorities: Office for National Statistics estimates for 30 June. Other countries and the World: World Bank mid-year estimates, which count all residents regardless of legal status or citizenship.
The World Bank series exists for every country, so use it (through compare) to rank countries on one basis.
Every value in the ranking comes from the same publisher and the same period, so the cities are compared on one definition. Equal values share a rank.
How to cite
U.S. Census Bureau. Annual estimates of the resident population for incorporated places, 1 July (Population Estimates Program, subcounty totals). https://www2.census.gov/programs-surveys/popest/datasets/2020-2025/. Retrieved 2026-10-12.
Citation styles
APA 7
U.S. Census Bureau. (2026). Annual estimates of the resident population for incorporated places, 1 July (Population Estimates Program, subcounty totals) (Cities in Ohio by population, 2023) [Data set]. Retrieved October 12, 2026, from https://www2.census.gov/programs-surveys/popest/datasets/2020-2025/
MLA 9
Annual estimates of the resident population for incorporated places, 1 July (Population Estimates Program, subcounty totals), Cities in Ohio by population, 2023. U.S. Census Bureau, 14 May 2026, https://www2.census.gov/programs-surveys/popest/datasets/2020-2025/. Invokely, https://invokely.ai/rankings/population/ohio-cities?period=2023. Accessed 12 Oct. 2026.
Chicago (author-date)
U.S. Census Bureau. 2026. Annual estimates of the resident population for incorporated places, 1 July (Population Estimates Program, subcounty totals). Cities in Ohio by population, 2023. Dataset. Accessed October 12, 2026. https://www2.census.gov/programs-surveys/popest/datasets/2020-2025/. Also distributed by Invokely, https://invokely.ai/rankings/population/ohio-cities?period=2023.
Harvard
U.S. Census Bureau (2026) Annual estimates of the resident population for incorporated places, 1 July (Population Estimates Program, subcounty totals), Cities in Ohio by population, 2023 [Dataset]. Available at: https://www2.census.gov/programs-surveys/popest/datasets/2020-2025/, via Invokely: https://invokely.ai/rankings/population/ohio-cities?period=2023 (Accessed: 12 October 2026).
BibTeX
@misc{census_cities_in_ohio_by_2023,
author = {{U.S. Census Bureau}},
title = {{Annual estimates of the resident population for incorporated places, 1 July (Population Estimates Program, subcounty totals): Cities in Ohio by population, 2023}},
year = {2026},
howpublished = {Data set},
url = {https://www2.census.gov/programs-surveys/popest/datasets/2020-2025/},
urldate = {2026-10-12},
note = {Accessed via Invokely, https://invokely.ai/rankings/population/ohio-cities?period=2023. Publisher attribution: U.S. Census Bureau. Annual estimates of the resident population for incorporated places, 1 July (Population Estimates Program, subcounty totals). https://www2.census.gov/programs-surveys/popest/datasets/2020-2025/. Retrieved 2026-10-12.},
}
RIS
TY - DATA
AU - U.S. Census Bureau
TI - Annual estimates of the resident population for incorporated places, 1 July (Population Estimates Program, subcounty totals): Cities in Ohio by population, 2023
PY - 2026
DA - 2026/05/14
PB - U.S. Census Bureau
DB - Invokely
UR - https://www2.census.gov/programs-surveys/popest/datasets/2020-2025/
L2 - https://invokely.ai/rankings/population/ohio-cities?period=2023
Y2 - 2026/10/12
N1 - Accessed via Invokely, https://invokely.ai/rankings/population/ohio-cities?period=2023.
N1 - Publisher attribution: U.S. Census Bureau. Annual estimates of the resident population for incorporated places, 1 July (Population Estimates Program, subcounty totals). https://www2.census.gov/programs-surveys/popest/datasets/2020-2025/. Retrieved 2026-10-12.
ER -
Use this data in your AI agent
Invokely serves this figure to AI assistants through MCP and to code through a REST API, with the source and citation attached. Ask your assistant:
Rank Cities in Ohio by population using official data, and cite the source.
rank_places {"indicator":"population","level":"municipality","within":"Ohio","limit":10}
GET https://invokely.ai/api/v1/rank?indicator=population&level=municipality&within=Ohio&limit=10
Questions
Which city has the highest population?
Columbus, OH, with 919,569 in 2023, according to the U.S. Census Bureau.
Which city has the lowest population?
Canal Winchester, OH, with 9,771 in 2023.
Where does this ranking come from?
Every value comes from one source and one period, so the places are comparable: U.S. Census Bureau, Annual estimates of the resident population for incorporated places, 1 July (Population Estimates Program, subcounty totals). Retrieved 2026-10-12.