Ohio · 254 places of 5,000+

Fastest-growing cities in Ohio, 2020 to 2024

Short answer

Sunbury is the fastest-growing city of 5,000+ in Ohio, +44.3% from 2020 to 2024. Obetz (+32.3%) is second.
Fastest
+44.3%
Growing
106
Shrinking
148

The 20 fastest-growing

Sunbury grew fastest, from 6,725 in July 2020 to 9,705 in July 2024, +44.3%. It is the 181st largest of the 254 places ranked. 106 places grew and 148 shrank or held flat; the median change was -0.5%.

By raw numbers the biggest gain was in Columbus, +26,797 people. At the other end, Bexley changed by -8.0%. Growth is measured between the July 2020 and July 2024 estimates for places with 5,000 or more residents in 2024, so fast growth from a small base can outrank larger absolute gains.

  1. 01Sunbury+44.3%
  2. 02Obetz+32.3%
  3. 03Marysville+13.9%
  4. 04Delaware+11.5%
  5. 05Grandview Heights+11.4%
  6. 06Pickerington+11.1%
  7. 07Canal Winchester+9.4%
  8. 08Centerville+8.8%
  9. 09Trenton+8.1%
  10. 10Harrison+7.1%
  11. 11South Lebanon+7.1%
  12. 12Grove City+6.5%
  13. 13Carlisle+6.3%
  14. 14Granville+5.9%
  15. 15North Ridgeville+5.8%
  16. 16Lebanon+5.3%
  17. 17New Albany+4.8%
  18. 18London+4.6%
  19. 19Reynoldsburg+4.5%
  20. 20Hilliard+4.4%
Change in population, July 2020 to July 2024, places of 5,000+ in 2024.

Dots: the 20 places in the chart. Orange pin: Sunbury, ranked first.

All 254 places of 5,000+ ranked

#Place2024Since 2020County
1Sunbury9,705+44.3%Delaware County
2Obetz7,306+32.3%Franklin County
3Marysville29,276+13.9%Union County
4Delaware46,521+11.5%Delaware County
5Grandview Heights9,184+11.4%Franklin County
6Pickerington25,814+11.1%Fairfield County +1
7Canal Winchester10,060+9.4%Franklin County +1
8Centerville26,311+8.8%Montgomery County +1
9Trenton14,131+8.1%Butler County
10Harrison13,526+7.1%Hamilton County
11South Lebanon6,923+7.1%Warren County
12Grove City44,019+6.5%Franklin County
13Carlisle5,855+6.3%Warren County +1
14Granville6,308+5.9%Licking County
15North Ridgeville37,504+5.8%Lorain County
16Lebanon21,995+5.3%Warren County
17New Albany11,604+4.8%Franklin County +1
18London10,743+4.6%Madison County
19Reynoldsburg42,897+4.5%Franklin County +2
20Hilliard38,832+4.4%Franklin County
21Athens24,824+4.2%Athens County
22Avon Lake26,342+4.2%Lorain County
23Aurora17,985+4.2%Portage County
24Circleville14,433+3.4%Pickaway County
25Heath10,822+3.4%Licking County
26Mason36,046+3.3%Warren County
27Pataskala18,493+3.2%Licking County
28Streetsboro17,877+3.2%Portage County
29Monroe15,950+3.2%Butler County +1
30Johnstown5,356+3.1%Licking County
31Louisville9,793+3.0%Stark County
32Beavercreek48,012+3.0%Greene County
33Columbiana6,773+3.0%Columbiana County +1
34Bellbrook7,532+3.0%Greene County
35Columbus933,263+3.0%Franklin County +2
36Tipp City10,596+2.9%Miami County
37Wadsworth24,753+2.8%Medina County
38Troy27,122+2.8%Miami County
39Newark51,424+2.8%Licking County
40Springboro19,646+2.7%Warren County +1
41Brecksville13,951+2.6%Cuyahoga County
42Piqua20,940+2.6%Miami County
43Avon25,573+2.6%Lorain County
44Lancaster41,671+2.6%Fairfield County
45Union7,076+2.6%Montgomery County +1
46Powell14,613+2.5%Delaware County
47Moraine6,603+2.5%Montgomery County
48Amherst13,048+2.5%Lorain County
49Middletown52,291+2.5%Butler County +1
50Xenia26,067+2.4%Greene County
51Hillsboro6,599+2.3%Highland County
52Norwood19,455+2.3%Hamilton County
53Massillon32,750+2.2%Stark County
54Painesville20,660+1.8%Lake County
55Elyria53,604+1.7%Lorain County
56Cincinnati314,915+1.7%Hamilton County
57Miamisburg20,253+1.7%Montgomery County
58Springdale11,183+1.6%Hamilton County
59Blue Ash13,616+1.6%Hamilton County
60Mount Vernon17,329+1.6%Knox County
61Whitehouse5,083+1.6%Lucas County
62Fairborn35,105+1.5%Greene County
63Willoughby24,208+1.4%Lake County
64Wellston5,493+1.4%Jackson County
65Twinsburg19,504+1.3%Summit County
66Northwood5,222+1.1%Wood County
67Canal Fulton5,382+1.1%Stark County
68Perrysburg25,313+1.1%Wood County
69Germantown5,863+1.0%Montgomery County
70Pepper Pike6,881+1.0%Cuyahoga County
71Montgomery10,952+0.9%Hamilton County
72Sheffield Lake9,035+0.9%Lorain County
73Fairlawn7,773+0.9%Summit County
74Hamilton63,953+0.8%Butler County
75Rossford6,353+0.8%Wood County
76Clyde6,360+0.8%Sandusky County
77Norwalk17,172+0.8%Huron County
78Lorain65,751+0.8%Lorain County
79Defiance17,180+0.8%Defiance County
80Vermilion10,733+0.7%Lorain County +1
81Coshocton11,114+0.6%Coshocton County
82Franklin11,758+0.6%Warren County
83Zanesville24,916+0.6%Muskingum County
84Madeira9,542+0.5%Hamilton County
85Conneaut12,357+0.4%Ashtabula County
86Fairfield45,094+0.4%Butler County
87Huber Heights43,590+0.3%Montgomery County +1
88Sylvania19,102+0.3%Lucas County
89Deer Park5,437+0.3%Hamilton County
90Oberlin8,587+0.3%Lorain County
91Olmsted Falls8,676+0.3%Cuyahoga County
92Wyoming8,781+0.3%Hamilton County
93Urbana11,211+0.2%Champaign County
94Dublin49,456+0.2%Franklin County +2
95Findlay40,343+0.2%Hancock County
96Celina10,945+0.1%Mercer County
97Mansfield47,593+0.1%Richland County
98Van Wert11,123+0.1%Van Wert County
99The Village of Indian Hill6,090+0.1%Hamilton County
100Fostoria13,063+0.1%Seneca County +2
101Westlake34,232+0.1%Cuyahoga County
102Green27,476+0.1%Summit County
103Waterville6,022+0.1%Lucas County
104Hudson23,073+0.0%Summit County
105Washington Court House14,446+0.0%Fayette County
106Tallmadge18,412+0.0%Summit County +1
107Riverside24,472-0.0%Montgomery County
108Trotwood23,073-0.0%Montgomery County
109New Franklin13,859-0.0%Summit County
110Clayton13,296-0.1%Montgomery County
111Bellefontaine14,100-0.1%Logan County
112Wickliffe12,659-0.1%Lake County
113Cuyahoga Falls50,979-0.1%Summit County
114Chardon5,233-0.2%Geauga County
115Wilmington12,639-0.2%Clinton County
116Loveland13,277-0.2%Hamilton County +2
117Orrville8,442-0.2%Wayne County
118Akron189,664-0.3%Summit County
119Macedonia12,139-0.3%Summit County
120St. Marys8,376-0.3%Auglaize County
121Willoughby Hills9,986-0.3%Lake County
122Ontario6,648-0.3%Richland County
123Kirtland6,914-0.3%Lake County
124Mentor-on-the-Lake7,106-0.3%Lake County
125Rittman6,119-0.3%Wayne County +1
126Cortland7,069-0.4%Trumbull County
127Sharonville14,040-0.4%Hamilton County +1
128Gahanna35,544-0.5%Franklin County
129Willowick14,159-0.5%Lake County
130Fremont15,814-0.5%Sandusky County
131Alliance21,523-0.5%Stark County +1
132Jackson6,226-0.5%Jackson County
133Shelby9,238-0.5%Richland County
134Delphos7,074-0.6%Allen County +1
135Eaton8,337-0.6%Preble County
136Broadview Heights19,792-0.7%Cuyahoga County
137Steubenville18,029-0.7%Jefferson County
138Mentor47,113-0.7%Lake County
139Forest Park20,033-0.7%Hamilton County
140Ada5,293-0.7%Hardin County
141Canfield7,628-0.7%Mahoning County
142Ravenna11,236-0.7%Portage County
143Hubbard7,565-0.7%Trumbull County
144Brookville5,946-0.7%Montgomery County
145Cambridge10,036-0.7%Guernsey County
146Brunswick35,166-0.7%Medina County
147Sidney20,392-0.8%Shelby County
148Springfield58,138-0.8%Clark County
149Whitehall19,940-0.8%Franklin County
150Greenville12,701-0.8%Darke County
151North Canton17,677-0.8%Stark County
152Bellevue8,166-0.8%Sandusky County +2
153Geneva5,871-0.8%Ashtabula County
154New Carlisle5,511-0.9%Clark County
155Dayton136,346-0.9%Montgomery County
156Independence7,518-0.9%Cuyahoga County
157Worthington14,649-0.9%Franklin County
158Upper Sandusky6,627-0.9%Wyandot County
159Wooster26,982-0.9%Wayne County
160Niles18,238-1.0%Trumbull County
161Bucyrus11,567-1.0%Crawford County
162Mount Healthy6,916-1.0%Hamilton County
163Oregon19,726-1.0%Lucas County
164Reading10,482-1.0%Hamilton County
165North College Hill9,552-1.0%Hamilton County
166Stow34,101-1.0%Summit County
167Bowling Green30,463-1.1%Wood County
168Campbell7,751-1.1%Mahoning County
169Ashtabula17,775-1.1%Ashtabula County
170Highland Heights8,612-1.1%Cuyahoga County
171Struthers9,891-1.2%Mahoning County
172Rocky River21,468-1.2%Cuyahoga County
173Vandalia15,013-1.2%Montgomery County
174Medina25,757-1.2%Medina County
175Kenton7,857-1.2%Hardin County
176Warren38,683-1.2%Trumbull County
177Chillicothe21,769-1.2%Ross County
178North Royalton30,894-1.2%Cuyahoga County
179Girard9,454-1.3%Trumbull County
180Cheviot8,640-1.3%Hamilton County
181Youngstown59,123-1.3%Mahoning County +1
182Galion10,304-1.3%Crawford County
183Eastlake17,423-1.3%Lake County
184Marion35,576-1.3%Marion County
185Seven Hills11,560-1.3%Cuyahoga County
186Wauseon7,455-1.4%Fulton County
187Parma Heights20,524-1.4%Cuyahoga County
188Kettering57,028-1.4%Montgomery County +1
189Wapakoneta9,817-1.4%Auglaize County
190Englewood13,282-1.4%Montgomery County
191Bryan8,601-1.4%Williams County
192Strongsville45,768-1.4%Cuyahoga County
193Beachwood13,820-1.4%Cuyahoga County
194Solon23,875-1.4%Cuyahoga County
195West Carrollton12,911-1.4%Montgomery County
196Bay Village15,903-1.5%Cuyahoga County
197Willard6,106-1.5%Huron County
198Napoleon8,724-1.5%Henry County
199Westerville38,612-1.6%Franklin County +1
200Kent27,720-1.6%Portage County
201Salem11,685-1.6%Columbiana County +1
202Reminderville5,345-1.7%Summit County
203New Philadelphia17,378-1.7%Tuscarawas County
204Port Clinton5,915-1.7%Ottawa County
205Upper Arlington36,140-1.7%Franklin County
206Tiffin17,729-1.7%Seneca County
207Oakwood9,400-1.7%Montgomery County
208Maumee13,625-1.7%Lucas County
209Toledo265,638-1.7%Lucas County
210Cleveland365,379-1.7%Cuyahoga County
211Dover12,946-1.8%Tuscarawas County
212Bedford Heights10,791-1.9%Cuyahoga County
213Belpre6,588-1.9%Washington County
214Norton11,423-2.0%Summit County +1
215Middleburg Heights15,672-2.0%Cuyahoga County
216Canton69,211-2.0%Stark County
217Parma79,350-2.0%Cuyahoga County
218Oxford22,585-2.0%Butler County
219Barberton24,624-2.0%Summit County
220Mayfield Heights19,886-2.1%Cuyahoga County
221Logan7,142-2.1%Hocking County
222Richmond Heights10,552-2.1%Cuyahoga County
223North Olmsted31,690-2.1%Cuyahoga County
224Toronto5,187-2.1%Jefferson County
225Milford6,433-2.1%Clermont County +1
226Warrensville Heights13,450-2.1%Cuyahoga County
227Grafton5,804-2.2%Lorain County
228South Euclid21,363-2.2%Cuyahoga County
229Bedford12,834-2.2%Cuyahoga County
230Lima34,690-2.2%Allen County
231Brook Park18,142-2.2%Cuyahoga County
232Lyndhurst13,700-2.3%Cuyahoga County
233Groveport5,867-2.3%Franklin County
234Maple Heights23,081-2.3%Cuyahoga County
235Brooklyn11,072-2.3%Cuyahoga County
236Euclid48,421-2.3%Cuyahoga County
237Shaker Heights28,689-2.4%Cuyahoga County
238Ashland18,770-2.4%Ashland County
239Fairview Park16,860-2.4%Cuyahoga County
240Garfield Heights29,014-2.4%Cuyahoga County
241Marietta13,039-2.4%Washington County
242East Cleveland13,402-2.6%Cuyahoga County
243Cleveland Heights44,064-2.6%Cuyahoga County
244Uhrichsville5,122-2.6%Tuscarawas County
245Lakewood49,517-2.6%Cuyahoga County
246Berea17,998-2.7%Cuyahoga County
247East Liverpool9,651-2.8%Columbiana County
248Martins Ferry6,050-3.0%Belmont County
249Sandusky24,174-3.6%Erie County
250Huron6,630-3.8%Erie County
251Ironton10,147-3.8%Lawrence County
252Portsmouth17,489-3.9%Scioto County
253University Heights13,265-4.5%Cuyahoga County
254Bexley12,793-8.0%Franklin County
Census Vintage 2024 subcounty estimates. Counties from the SUMLEV 157 county parts.

Questions people ask

What is the fastest-growing city in Ohio?

Sunbury, up 44.3% from July 2020 to July 2024 among places of 5,000+, to 9,705 residents.

Which Ohio city added the most people?

Columbus, which gained 26,797 residents from July 2020 to July 2024.

How many Ohio cities are shrinking?

148 of 254 places of 5,000+ had the same or fewer residents in July 2024 than in July 2020.

Why use places of 5,000 or more?

Small towns can swing by double-digit percentages from a few new homes, and Census estimates for them carry more uncertainty. The 5,000 floor keeps the ranking to places where a percentage means something.

Sources and data as of

Data as of: Census Vintage 2024 population estimates, 2024 Gazetteer land area and internal points, SAIPE 2023 median household income.

  1. 01Census Vintage 2024 subcounty population estimates
  2. 02Census 2024 Gazetteer, places

How every number is computed: methodology. Spotted a wrong figure? Report an error.