All cities in Minnesota, sorted by 2024 population.
Rank
City
2024 pop
2020 base
4-yr Δ
4-yr Δ %
#1
Minneapolis
428,579
429,983
-1,404
-0.3%
#2
St. Paul
307,465
311,483
-4,018
-1.3%
#3
Rochester
123,624
121,391
2,233
+1.8%
#4
Bloomington
88,344
89,978
-1,634
-1.8%
#5
Duluth
87,986
86,718
1,268
+1.5%
#6
Brooklyn Park
82,893
86,460
-3,567
-4.1%
#7
Woodbury
80,596
75,105
5,491
+7.3%
#8
Plymouth
78,551
81,020
-2,469
-3.0%
#9
Lakeville
77,971
69,495
8,476
+12.2%
#10
Blaine
75,172
70,216
4,956
+7.1%
#11
Maple Grove
72,739
70,268
2,471
+3.5%
#12
St. Cloud
72,145
69,615
2,530
+3.6%
#13
Eagan
67,240
68,862
-1,622
-2.4%
#14
Burnsville
64,864
64,324
540
+0.8%
#15
Coon Rapids
63,807
63,636
171
+0.3%
#16
Eden Prairie
62,905
64,198
-1,293
-2.0%
#17
Apple Valley
55,272
56,367
-1,095
-1.9%
#18
Edina
53,564
53,480
84
+0.2%
#19
Minnetonka
52,651
53,812
-1,161
-2.2%
#20
St. Louis Park
49,899
50,010
-111
-0.2%
#21
Shakopee
48,401
43,710
4,691
+10.7%
#22
Mankato
46,459
44,575
1,884
+4.2%
#23
Moorhead
45,726
44,511
1,215
+2.7%
#24
Cottage Grove
42,760
38,835
3,925
+10.1%
#25
Maplewood
40,142
42,086
-1,944
-4.6%
#26
Richfield
36,491
37,002
-511
-1.4%
#27
Inver Grove Heights
36,226
35,813
413
+1.2%
#28
Roseville
35,637
36,270
-633
-1.7%
#29
Andover
33,426
32,598
828
+2.5%
#30
Savage
32,896
32,453
443
+1.4%
#31
Brooklyn Center
31,755
33,782
-2,027
-6.0%
#32
Fridley
30,679
29,580
1,099
+3.7%
#33
Rosemount
30,581
25,648
4,933
+19.2%
#34
Oakdale
30,441
28,298
2,143
+7.6%
#35
Chaska
30,167
27,807
2,360
+8.5%
#36
Ramsey
28,999
27,636
1,363
+4.9%
#37
Prior Lake
28,018
27,613
405
+1.5%
#38
Elk River
27,606
25,839
1,767
+6.8%
#39
Shoreview
26,939
26,931
8
+0.0%
#40
Austin
26,690
26,183
507
+1.9%
#41
Owatonna
26,626
26,424
202
+0.8%
#42
Winona
26,173
26,001
172
+0.7%
#43
Chanhassen
25,746
25,950
-204
-0.8%
#44
Faribault
24,983
24,463
520
+2.1%
#45
Farmington
24,464
23,676
788
+3.3%
#46
Otsego
23,875
19,968
3,907
+19.6%
#47
White Bear Lake
23,479
24,876
-1,397
-5.6%
#48
Champlin
23,045
23,913
-868
-3.6%
#49
Lino Lakes
22,774
21,410
1,364
+6.4%
#50
Hastings
22,502
22,159
343
+1.5%
#51
New Brighton
22,374
23,457
-1,083
-4.6%
#52
Columbia Heights
22,358
21,963
395
+1.8%
#53
Crystal
22,082
23,328
-1,246
-5.3%
#54
West St. Paul
21,920
20,600
1,320
+6.4%
#55
Willmar
21,892
21,028
864
+4.1%
#56
St. Michael
21,681
18,217
3,464
+19.0%
#57
Northfield
21,316
20,815
501
+2.4%
#58
Golden Valley
21,263
22,556
-1,293
-5.7%
#59
New Hope
20,745
21,981
-1,236
-5.6%
#60
Forest Lake
20,700
20,612
88
+0.4%
#61
South St. Paul
20,590
20,757
-167
-0.8%
#62
Sartell
19,979
19,356
623
+3.2%
#63
Hopkins
19,462
19,079
383
+2.0%
#64
Stillwater
19,386
19,383
3
+0.0%
#65
Albert Lea
18,159
18,502
-343
-1.9%
#66
Anoka
18,068
17,915
153
+0.9%
#67
Ham Lake
16,905
16,471
434
+2.6%
#68
Red Wing
16,788
16,602
186
+1.1%
#69
Hugo
16,765
15,757
1,008
+6.4%
#70
Buffalo
16,736
16,179
557
+3.4%
#71
Hibbing
15,940
16,211
-271
-1.7%
#72
Bemidji
15,733
15,420
313
+2.0%
#73
Monticello
15,482
14,469
1,013
+7.0%
#74
Alexandria
14,914
14,379
535
+3.7%
#75
Hutchinson
14,708
14,594
114
+0.8%
#76
Rogers
14,493
13,298
1,195
+9.0%
#77
Brainerd
14,400
14,367
33
+0.2%
#78
Fergus Falls
14,258
14,119
139
+1.0%
#79
Lake Elmo
14,161
11,334
2,827
+24.9%
#80
North Mankato
14,142
14,274
-132
-0.9%
#81
Marshall
13,996
13,886
110
+0.8%
#82
Robbinsdale
13,993
14,639
-646
-4.4%
#83
New Ulm
13,970
14,124
-154
-1.1%
#84
Sauk Rapids
13,832
13,861
-29
-0.2%
#85
Waconia
13,831
13,031
800
+6.1%
#86
Worthington
13,754
13,938
-184
-1.3%
#87
Vadnais Heights
13,108
12,921
187
+1.4%
#88
Big Lake
12,855
11,684
1,171
+10.0%
#89
Mounds View
12,841
13,254
-413
-3.1%
#90
North St. Paul
12,644
12,365
279
+2.3%
#91
Cloquet
12,475
12,561
-86
-0.7%
#92
St. Peter
12,456
12,068
388
+3.2%
#93
East Bethel
12,288
11,784
504
+4.3%
#94
North Branch
12,258
10,826
1,432
+13.2%
#95
Victoria
11,937
10,561
1,376
+13.0%
#96
Mendota Heights
11,542
11,738
-196
-1.7%
#97
Grand Rapids
11,244
11,089
155
+1.4%
#98
Cambridge
10,974
9,618
1,356
+14.1%
#99
Dayton
10,744
7,264
3,480
+47.9%
#100
Little Canada
10,590
10,835
-245
-2.3%
#101
Hermantown
10,265
10,226
39
+0.4%
#102
Fairmont
10,176
10,465
-289
-2.8%
#103
Detroit Lakes
10,033
10,043
-10
-0.1%
#104
St. Anthony
9,993
9,264
729
+7.9%
#105
Arden Hills
9,490
9,935
-445
-4.5%
#106
Oak Grove
9,327
8,926
401
+4.5%
#107
Little Falls
9,206
9,130
76
+0.8%
#108
Baxter
9,186
8,652
534
+6.2%
#109
Minnetrista
9,091
8,259
832
+10.1%
#110
Waseca
9,067
9,221
-154
-1.7%
#111
Mound
9,031
9,397
-366
-3.9%
#112
East Grand Forks
8,915
9,182
-267
-2.9%
#113
Thief River Falls
8,779
8,866
-87
-1.0%
#114
Albertville
8,555
7,900
655
+8.3%
#115
St. Francis
8,523
8,140
383
+4.7%
#116
Waite Park
8,504
8,342
162
+1.9%
#117
Corcoran
8,378
6,185
2,193
+35.5%
#118
Virginia
8,267
8,432
-165
-2.0%
#119
New Prague
8,235
8,168
67
+0.8%
#120
Orono
8,228
8,304
-76
-0.9%
#121
Mahtomedi
8,199
8,145
54
+0.7%
#122
Wyoming
8,173
8,027
146
+1.8%
#123
Shorewood
7,557
7,779
-222
-2.9%
#124
Delano
7,513
6,496
1,017
+15.7%
#125
Isanti
7,493
6,807
686
+10.1%
#126
Belle Plaine
7,444
7,382
62
+0.8%
#127
Crookston
7,269
7,509
-240
-3.2%
#128
Medina
7,209
6,846
363
+5.3%
#129
Kasson
7,207
6,880
327
+4.8%
#130
Spring Lake Park
7,083
7,189
-106
-1.5%
#131
St. Joseph
6,992
7,029
-37
-0.5%
#132
Stewartville
6,919
6,688
231
+3.5%
#133
Jordan
6,831
6,664
167
+2.5%
#134
Carver
6,810
5,339
1,471
+27.6%
#135
Byron
6,809
6,317
492
+7.8%
#136
Zimmerman
6,772
6,213
559
+9.0%
#137
Litchfield
6,515
6,626
-111
-1.7%
#138
Chisago City
5,953
5,801
152
+2.6%
#139
Glencoe
5,659
5,737
-78
-1.4%
#140
Credit River
5,589
5,507
82
+1.5%
#141
International Falls
5,498
5,798
-300
-5.2%
#142
Newport
5,415
3,796
1,619
+42.7%
#143
St. Paul Park
5,381
5,544
-163
-2.9%
#144
Princeton
5,329
5,005
324
+6.5%
#145
Lake City
5,306
5,247
59
+1.1%
#146
Montevideo
5,300
5,419
-119
-2.2%
#147
La Crescent
5,257
5,338
-81
-1.5%
#148
Becker
5,252
4,879
373
+7.6%
#149
North Oaks
5,232
5,272
-40
-0.8%
#150
Elko New Market
5,193
4,834
359
+7.4%
#151
Morris
5,192
5,115
77
+1.5%
#152
Lonsdale
5,066
4,687
379
+8.1%
#153
Redwood Falls
5,038
5,106
-68
-1.3%
#154
Lindstrom
5,026
4,891
135
+2.8%
#155
Falcon Heights
5,002
5,361
-359
-6.7%
#156
Circle Pines
4,944
5,028
-84
-1.7%
#157
Luverne
4,941
4,940
1
+0.0%
#158
Dilworth
4,811
4,604
207
+4.5%
#159
Windom
4,797
4,808
-11
-0.2%
#160
Rockford
4,796
4,496
300
+6.7%
#161
Watertown
4,774
4,664
110
+2.4%
#162
St. James
4,750
4,809
-59
-1.2%
#163
Sauk Centre
4,682
4,563
119
+2.6%
#164
Oak Park Heights
4,674
4,847
-173
-3.6%
#165
Chisholm
4,667
4,774
-107
-2.2%
#166
Nowthen
4,565
4,534
31
+0.7%
#167
Park Rapids
4,381
4,145
236
+5.7%
#168
Stacy
4,378
4,401
-23
-0.5%
#169
Wadena
4,373
4,340
33
+0.8%
#170
Cold Spring
4,326
4,162
164
+3.9%
#171
Wayzata
4,308
4,432
-124
-2.8%
#172
Columbus
4,307
4,155
152
+3.7%
#173
Le Sueur
4,230
4,209
21
+0.5%
#174
Hanover
4,229
3,549
680
+19.2%
#175
Cannon Falls
4,201
4,225
-24
-0.6%
#176
Rice Lake
4,168
4,106
62
+1.5%
#177
Goodview
4,088
4,115
-27
-0.7%
#178
St. Charles
4,057
4,023
34
+0.8%
#179
Pipestone
4,034
4,206
-172
-4.1%
#180
Zumbrota
4,013
3,726
287
+7.7%
#181
Centerville
3,956
3,898
58
+1.5%
#182
Scandia
3,951
3,988
-37
-0.9%
#183
Grant
3,942
3,962
-20
-0.5%
#184
Montrose
3,925
3,778
147
+3.9%
#185
Melrose
3,911
3,607
304
+8.4%
#186
Pine Island
3,870
3,767
103
+2.7%
#187
Pine City
3,865
3,139
726
+23.1%
#188
Bayport
3,785
4,017
-232
-5.8%
#189
Mora
3,779
3,668
111
+3.0%
#190
Norwood Young America
3,774
3,863
-89
-2.3%
#191
St. Augusta
3,767
3,497
270
+7.7%
#192
Deephaven
3,762
3,885
-123
-3.2%
#193
Independence
3,710
3,754
-44
-1.2%
#193
Long Prairie
3,710
3,652
58
+1.6%
#195
Perham
3,708
3,517
191
+5.4%
#196
Montgomery
3,537
3,262
275
+8.4%
#197
Plainview
3,498
3,477
21
+0.6%
#198
Sleepy Eye
3,489
3,447
42
+1.2%
#199
Annandale
3,487
3,332
155
+4.7%
#200
Two Harbors
3,456
3,634
-178
-4.9%
#201
Eveleth
3,415
3,494
-79
-2.3%
#202
Benson
3,414
3,488
-74
-2.1%
#203
Rush City
3,353
3,225
128
+4.0%
#204
Eagle Lake
3,333
3,278
55
+1.7%
#205
Breckenridge
3,308
3,436
-128
-3.7%
#206
Jackson
3,252
3,320
-68
-2.0%
#207
Ely
3,214
3,269
-55
-1.7%
#208
Blue Earth
3,159
3,171
-12
-0.4%
#209
Proctor
3,076
3,120
-44
-1.4%
#210
Staples
3,075
2,995
80
+2.7%
#211
Empire
3,068
3,138
-70
-2.2%
#212
Lexington
3,062
2,257
805
+35.7%
#213
Milaca
3,060
3,015
45
+1.5%
#214
Chatfield
3,023
3,002
21
+0.7%
#215
Moose Lake
3,003
2,791
212
+7.6%
#216
Afton
2,949
2,950
-1
-0.0%
#217
Dodge Center
2,939
2,842
97
+3.4%
#218
Greenfield
2,908
2,904
4
+0.1%
#219
Albany
2,874
2,781
93
+3.3%
#220
Mountain Iron
2,847
2,874
-27
-0.9%
#221
Cokato
2,782
2,797
-15
-0.5%
#222
Caledonia
2,767
2,864
-97
-3.4%
#223
Barnesville
2,765
2,761
4
+0.1%
#224
Breezy Point
2,750
2,576
174
+6.8%
#225
Cohasset
2,723
2,691
32
+1.2%
#226
Roseau
2,699
2,751
-52
-1.9%
#227
Granite Falls
2,678
2,739
-61
-2.2%
#228
Foley
2,666
2,697
-31
-1.1%
#229
Glenwood
2,657
2,649
8
+0.3%
#230
Wabasha
2,598
2,564
34
+1.3%
#231
Pelican Rapids
2,594
2,575
19
+0.7%
#232
Paynesville
2,586
2,394
192
+8.0%
#233
Mayer
2,534
2,453
81
+3.3%
#234
Le Center
2,528
2,513
15
+0.6%
#235
Osseo
2,526
2,683
-157
-5.9%
#236
Lake Crystal
2,485
2,538
-53
-2.1%
#237
Rockville
2,471
2,385
86
+3.6%
#238
Sandstone
2,466
2,456
10
+0.4%
#239
Janesville
2,462
2,446
16
+0.7%
#239
Pequot Lakes
2,462
2,399
63
+2.6%
#241
Spring Valley
2,445
2,457
-12
-0.5%
#242
Madelia
2,430
2,400
30
+1.3%
#243
Crosslake
2,412
2,394
18
+0.8%
#244
Wells
2,401
2,412
-11
-0.5%
#245
Lauderdale
2,341
2,270
71
+3.1%
#246
Gaylord
2,334
2,274
60
+2.6%
#247
Crosby
2,328
2,357
-29
-1.2%
#248
Arlington
2,314
2,245
69
+3.1%
#249
Olivia
2,306
2,354
-48
-2.0%
#250
Excelsior
2,296
2,360
-64
-2.7%
#251
Hawley
2,274
2,235
39
+1.7%
#252
Howard Lake
2,247
2,079
168
+8.1%
#253
Waverly
2,241
1,892
349
+18.4%
#254
Clearwater
2,221
1,922
299
+15.6%
#254
Winsted
2,221
2,238
-17
-0.8%
#256
Maple Lake
2,214
2,160
54
+2.5%
#257
Rice
2,207
1,982
225
+11.4%
#258
Aitkin
2,174
2,171
3
+0.1%
#259
St. Bonifacius
2,169
2,305
-136
-5.9%
#260
Nisswa
2,156
1,967
189
+9.6%
#261
Cologne
2,097
2,047
50
+2.4%
#262
Tracy
2,041
2,068
-27
-1.3%
#263
Oronoco
2,040
1,806
234
+13.0%
#264
Eyota
2,025
2,002
23
+1.1%
#265
Coleraine
1,995
2,005
-10
-0.5%
#265
Springfield
1,995
2,032
-37
-1.8%
#267
Hoyt Lakes
1,988
2,020
-32
-1.6%
#268
Warroad
1,983
1,824
159
+8.7%
#269
Ortonville
1,970
2,024
-54
-2.7%
#270
Slayton
1,967
2,015
-48
-2.4%
#271
Mountain Lake
1,944
1,998
-54
-2.7%
#272
Blooming Prairie
1,938
1,971
-33
-1.7%
#273
Long Lake
1,937
1,746
191
+10.9%
#274
Hinckley
1,918
1,905
13
+0.7%
#275
Lester Prairie
1,895
1,899
-4
-0.2%
#276
Kenyon
1,872
1,890
-18
-1.0%
#277
Rushford
1,852
1,865
-13
-0.7%
#278
Dundas
1,806
1,711
95
+5.6%
#279
Rock Creek
1,778
1,683
95
+5.6%
#280
Braham
1,776
1,786
-10
-0.6%
#280
Silver Bay
1,776
1,861
-85
-4.6%
#282
Waterville
1,763
1,748
15
+0.9%
#283
Osakis
1,747
1,770
-23
-1.3%
#284
Avon
1,742
1,621
121
+7.5%
#285
Lakefield
1,710
1,733
-23
-1.3%
#286
Ada
1,696
1,752
-56
-3.2%
#287
Canby
1,664
1,694
-30
-1.8%
#287
Lakeland
1,664
1,714
-50
-2.9%
#289
Gilbert
1,655
1,691
-36
-2.1%
#290
Aurora
1,652
1,679
-27
-1.6%
#291
Maple Plain
1,648
1,742
-94
-5.4%
#292
Spring Park
1,641
1,736
-95
-5.5%
#293
Mapleton
1,639
1,704
-65
-3.8%
#294
Warren
1,549
1,601
-52
-3.2%
#295
Tonka Bay
1,540
1,439
101
+7.0%
#296
Richmond
1,521
1,485
36
+2.4%
#297
Dassel
1,520
1,472
48
+3.3%
#298
Lewiston
1,512
1,529
-17
-1.1%
#299
Madison
1,488
1,517
-29
-1.9%
#300
New York Mills
1,481
1,353
128
+9.5%
#301
Pierz
1,461
1,422
39
+2.7%
#302
Dawson
1,431
1,462
-31
-2.1%
#303
Starbuck
1,419
1,367
52
+3.8%
#304
Clara City
1,390
1,440
-50
-3.5%
#305
Winnebago
1,381
1,393
-12
-0.9%
#306
Fosston
1,377
1,427
-50
-3.5%
#307
Babbitt
1,370
1,398
-28
-2.0%
#308
Glyndon
1,369
1,309
60
+4.6%
#309
Menahga
1,366
1,346
20
+1.5%
#310
Medford
1,362
1,319
43
+3.3%
#311
Hayfield
1,361
1,364
-3
-0.2%
#312
Minneota
1,355
1,368
-13
-1.0%
#313
Appleton
1,352
1,390
-38
-2.7%
#314
Medicine Lake
1,343
338
1,005
+297.3%
#315
Wheaton
1,334
1,459
-125
-8.6%
#316
Winthrop
1,332
1,332
0
0.0%
#317
Red Lake Falls
1,327
1,346
-19
-1.4%
#318
Fulda
1,326
1,364
-38
-2.8%
#319
New London
1,316
1,253
63
+5.0%
#319
Preston
1,316
1,320
-4
-0.3%
#321
Madison Lake
1,314
1,250
64
+5.1%
#322
Frazee
1,310
1,332
-22
-1.7%
#323
Grand Marais
1,306
1,342
-36
-2.7%
#324
Bagley
1,304
1,279
25
+2.0%
#325
Royalton
1,280
1,284
-4
-0.3%
#326
Elbow Lake
1,276
1,274
2
+0.2%
#327
Renville
1,271
1,302
-31
-2.4%
#328
Goodhue
1,244
1,249
-5
-0.4%
#329
Edgerton
1,231
1,257
-26
-2.1%
#330
Fairfax
1,217
1,249
-32
-2.6%
#331
Mahnomen
1,216
1,248
-32
-2.6%
#332
Shafer
1,203
1,145
58
+5.1%
#333
Spring Grove
1,202
1,255
-53
-4.2%
#334
Adrian
1,198
1,201
-3
-0.2%
#335
New Richland
1,189
1,227
-38
-3.1%
#336
Grand Meadow
1,155
1,127
28
+2.5%
#337
Dellwood
1,147
1,171
-24
-2.0%
#337
East Gull Lake
1,147
978
169
+17.3%
#339
Cottonwood
1,146
1,151
-5
-0.4%
#340
Harris
1,142
1,113
29
+2.6%
#341
Elgin
1,139
1,114
25
+2.2%
#342
Lake Shore
1,123
1,064
59
+5.5%
#343
Nicollet
1,114
1,143
-29
-2.5%
#344
Mantorville
1,110
1,111
-1
-0.1%
#345
Wanamingo
1,109
1,115
-6
-0.5%
#346
Tyler
1,102
1,139
-37
-3.2%
#347
Spicer
1,099
1,114
-15
-1.3%
#348
Atwater
1,098
1,122
-24
-2.1%
#349
Truman
1,069
1,099
-30
-2.7%
#350
Eden Valley
1,068
1,029
39
+3.8%
#351
Taylors Falls
1,056
1,051
5
+0.5%
#352
Sherburn
1,050
1,063
-13
-1.2%
#353
Harmony
1,030
1,047
-17
-1.6%
#354
Parkers Prairie
1,029
1,018
11
+1.1%
#355
Morristown
1,016
995
21
+2.1%
#356
Watkins
1,010
989
21
+2.1%
#357
Lake St. Croix Beach
1,005
1,042
-37
-3.6%
#358
Scanlon
998
992
6
+0.6%
#359
Hector
994
1,021
-27
-2.6%
#360
Henderson
988
958
30
+3.1%
#361
Bird Island
986
1,011
-25
-2.5%
#362
Walker
982
978
4
+0.4%
#363
Houston
970
999
-29
-2.9%
#363
Le Roy
970
956
14
+1.5%
#365
Keewatin
968
982
-14
-1.4%
#366
Biwabik
965
956
9
+0.9%
#367
Carlton
962
949
13
+1.4%
#368
Nashwauk
961
972
-11
-1.1%
#369
Hilltop
956
955
1
+0.1%
#370
Buhl
945
954
-9
-0.9%
#371
Baudette
935
962
-27
-2.8%
#372
Deer River
930
912
18
+2.0%
#373
Pine River
925
916
9
+1.0%
#374
Kimball
919
803
116
+14.4%
#375
Battle Lake
914
859
55
+6.4%
#376
Morgan
879
896
-17
-1.9%
#377
Mazeppa
869
870
-1
-0.1%
#378
Emily
863
845
18
+2.1%
#379
Henning
857
856
1
+0.1%
#380
Hancock
856
849
7
+0.8%
#381
Silver Lake
855
866
-11
-1.3%
#382
Hallock
853
898
-45
-5.0%
#383
Landfall
843
846
-3
-0.4%
#384
West Concord
842
865
-23
-2.7%
#385
Birchwood Village
838
861
-23
-2.7%
#386
Onamia
830
779
51
+6.5%
#387
Browerville
829
837
-8
-1.0%
#387
Stockton
829
826
3
+0.4%
#389
Isle
827
805
22
+2.7%
#390
Clarkfield
820
840
-20
-2.4%
#391
Blackduck
816
851
-35
-4.1%
#392
Bovey
813
825
-12
-1.5%
#393
St. Stephen
812
796
16
+2.0%
#394
Rushford Village
799
794
5
+0.6%
#395
Raymond
796
784
12
+1.5%
#396
Gibbon
788
788
0
0.0%
#397
Kerkhoven
783
803
-20
-2.5%
#398
Lamberton
781
798
-17
-2.1%
#399
Fertile
780
801
-21
-2.6%
#400
Lilydale
779
807
-28
-3.5%
#401
Dover
771
783
-12
-1.5%
#402
Cleveland
769
744
25
+3.4%
#403
Elysian
759
704
55
+7.8%
#404
Sebeka
753
740
13
+1.8%
#405
Holdingford
746
742
4
+0.5%
#406
Wabasso
745
735
10
+1.4%
#407
Belgrade
742
734
8
+1.1%
#408
Westbrook
734
758
-24
-3.2%
#409
Walnut Grove
733
750
-17
-2.3%
#410
Courtland
724
732
-8
-1.1%
#411
Ottertail
721
633
88
+13.9%
#412
Kasota
718
716
2
+0.3%
#413
St. Clair
717
740
-23
-3.1%
#414
Hampton
714
742
-28
-3.8%
#414
Lake Park
714
730
-16
-2.2%
#416
Greenwood
713
733
-20
-2.7%
#417
Lanesboro
712
725
-13
-1.8%
#418
Hoffman
709
702
7
+1.0%
#419
Brownton
706
725
-19
-2.6%
#420
Mabel
705
718
-13
-1.8%
#421
Adams
700
682
18
+2.6%
#422
Twin Valley
697
719
-22
-3.1%
#423
Welcome
695
710
-15
-2.1%
#424
Green Isle
694
588
106
+18.0%
#425
Trimont
689
711
-22
-3.1%
#426
Motley
686
680
6
+0.9%
#427
Freeport
685
675
10
+1.5%
#428
Cass Lake
683
676
7
+1.0%
#429
Clarks Grove
682
698
-16
-2.3%
#429
Rollingstone
682
668
14
+2.1%
#431
Clear Lake
679
641
38
+5.9%
#432
Lake Benton
678
692
-14
-2.0%
#433
Greenbush
674
685
-11
-1.6%
#434
Karlstad
671
708
-37
-5.2%
#435
La Prairie
666
659
7
+1.1%
#436
Hills
665
689
-24
-3.5%
#437
Clarissa
661
665
-4
-0.6%
#438
Minnesota Lake
660
662
-2
-0.3%
#439
Ellendale
658
670
-12
-1.8%
#439
Marine on St. Croix
658
664
-6
-0.9%
#441
Brownsdale
648
635
13
+2.0%
#442
Brooten
646
627
19
+3.0%
#443
Taconite
642
650
-8
-1.2%
#444
Buffalo Lake
641
652
-11
-1.7%
#445
Center City
640
626
14
+2.2%
#446
Grove City
634
627
7
+1.1%
#447
Hill City
615
614
1
+0.2%
#448
Randall
614
611
3
+0.5%
#449
Barnum
610
621
-11
-1.8%
#449
Loretto
610
644
-34
-5.3%
#451
Marble
606
616
-10
-1.6%
#452
Hendricks
603
616
-13
-2.1%
#453
Sabin
601
618
-17
-2.8%
#454
Butterfield
597
601
-4
-0.7%
#455
Heron Lake
592
603
-11
-1.8%
#456
Evansville
587
600
-13
-2.2%
#457
Balaton
585
592
-7
-1.2%
#458
McIntosh
581
603
-22
-3.6%
#459
Foreston
579
558
21
+3.8%
#459
Jasper
579
606
-27
-4.5%
#461
Alden
575
584
-9
-1.5%
#462
Stephen
574
592
-18
-3.0%
#463
Deerwood
570
528
42
+8.0%
#464
Audubon
569
565
4
+0.7%
#465
Kandiyohi
565
574
-9
-1.6%
#466
Ironton
564
576
-12
-2.1%
#467
Glenville
558
567
-9
-1.6%
#467
Racine
558
456
102
+22.4%
#469
Halstad
551
569
-18
-3.2%
#470
Bertha
548
556
-8
-1.4%
#470
Hamburg
548
566
-18
-3.2%
#472
Brownsville
545
565
-20
-3.5%
#472
Elmore
545
550
-5
-0.9%
#472
Good Thunder
545
560
-15
-2.7%
#475
Eagle Bend
543
550
-7
-1.3%
#476
Ivanhoe
542
559
-17
-3.0%
#477
Ranier
540
568
-28
-4.9%
#478
Village of Minnetonka Beach
537
545
-8
-1.5%
#479
Hokah
535
554
-19
-3.4%
#480
Pillager
531
512
19
+3.7%
#481
Argyle
529
542
-13
-2.4%
#482
Littlefork
527
554
-27
-4.9%
#483
Lyle
526
524
2
+0.4%
#484
Sunfish Lake
522
523
-1
-0.2%
#485
Cook
520
527
-7
-1.3%
#486
Floodwood
517
521
-4
-0.8%
#487
Franklin
516
498
18
+3.6%
#488
Amboy
515
536
-21
-3.9%
#488
Gem Lake
515
525
-10
-1.9%
#490
Verndale
512
511
1
+0.2%
#490
Willernie
512
520
-8
-1.5%
#492
Graceville
511
521
-10
-1.9%
#492
Prinsburg
511
519
-8
-1.5%
#494
Browns Valley
505
553
-48
-8.7%
#495
Brandon
500
502
-2
-0.4%
#495
Brewster
500
508
-8
-1.6%
#495
Jenkins
500
484
16
+3.3%
#498
Claremont
499
512
-13
-2.5%
#498
Geneva
499
507
-8
-1.6%
#500
Cosmos
495
512
-17
-3.3%
#501
Sacred Heart
494
508
-14
-2.8%
#502
Ellsworth
487
496
-9
-1.8%
#502
Kiester
487
489
-2
-0.4%
#502
Rothsay
487
497
-10
-2.0%
#505
Carlos
486
498
-12
-2.4%
#506
Upsala
481
487
-6
-1.2%
#507
Bethel
480
474
6
+1.3%
#507
Pennock
480
484
-4
-0.8%
#509
Ashby
472
471
1
+0.2%
#509
Ulen
472
479
-7
-1.5%
#511
Stewart
470
483
-13
-2.7%
#512
Lafayette
469
491
-22
-4.5%
#513
Clearbrook
468
464
4
+0.9%
#513
Sturgeon Lake
468
440
28
+6.4%
#515
Altura
465
470
-5
-1.1%
#516
Randolph
458
465
-7
-1.5%
#517
Wrenshall
454
430
24
+5.6%
#518
Fifty Lakes
449
439
10
+2.3%
#519
New Germany
448
469
-21
-4.5%
#520
Danube
447
458
-11
-2.4%
#521
Miltona
442
429
13
+3.0%
#522
Lynd
435
437
-2
-0.5%
#523
Wykoff
430
432
-2
-0.5%
#524
Vermillion
429
446
-17
-3.8%
#525
Kellogg
426
417
9
+2.2%
#526
Tower
421
429
-8
-1.9%
#527
Akeley
418
402
16
+4.0%
#528
Badger
417
431
-14
-3.2%
#529
Milan
416
425
-9
-2.1%
#530
New Auburn
413
411
2
+0.5%
#531
Chokio
411
406
5
+1.2%
#532
Oklee
407
414
-7
-1.7%
#533
Fountain
406
409
-3
-0.7%
#534
Bigfork
403
405
-2
-0.5%
#534
Fisher
403
421
-18
-4.3%
#534
Rose Creek
403
398
5
+1.3%
#537
Morton
402
412
-10
-2.4%
#538
Ogilvie
400
391
9
+2.3%
#539
Waubun
399
408
-9
-2.2%
#540
Remer
397
390
7
+1.8%
#541
Willow River
396
385
11
+2.9%
#542
Alvarado
388
398
-10
-2.5%
#543
Erskine
387
404
-17
-4.2%
#544
Herman
386
382
4
+1.0%
#545
Hanska
385
387
-2
-0.5%
#545
Nevis
385
377
8
+2.1%
#547
Pine Springs
384
391
-7
-1.8%
#548
Ghent
378
375
3
+0.8%
#548
McGregor
378
379
-1
-0.3%
#550
Barrett
377
373
4
+1.1%
#550
Woodland
377
381
-4
-1.0%
#552
Comfrey
376
383
-7
-1.8%
#553
Wood Lake
373
381
-8
-2.1%
#554
Clinton
371
385
-14
-3.6%
#555
New Munich
367
361
6
+1.7%
#555
Round Lake
367
375
-8
-2.1%
#557
Rushmore
364
370
-6
-1.6%
#558
Underwood
363
357
6
+1.7%
#559
Emmons
360
367
-7
-1.9%
#560
Vergas
357
346
11
+3.2%
#561
Russell
356
348
8
+2.3%
#562
Bricelyn
350
354
-4
-1.1%
#563
Newfolden
343
354
-11
-3.1%
#564
St. Marys Point
342
351
-9
-2.6%
#565
Lancaster
340
358
-18
-5.0%
#566
Long Beach
339
341
-2
-0.6%
#567
Darwin
338
347
-9
-2.6%
#567
Jeffers
338
351
-13
-3.7%
#569
Garfield
337
346
-9
-2.6%
#569
Swanville
337
328
9
+2.7%
#571
Lowry
335
335
0
0.0%
#572
Finlayson
333
297
36
+12.1%
#573
Deer Creek
332
332
0
0.0%
#574
Askov
331
331
0
0.0%
#575
Lakeland Shores
330
341
-11
-3.2%
#576
Cuyuna
327
296
31
+10.5%
#577
Wilmont
326
334
-8
-2.4%
#578
Dexter
325
321
4
+1.2%
#578
Plato
325
331
-6
-1.8%
#580
Calumet
324
329
-5
-1.5%
#580
Grey Eagle
324
329
-5
-1.5%
#582
St. Martin
318
312
6
+1.9%
#582
Sanborn
318
327
-9
-2.8%
#584
Vernon Center
315
328
-13
-4.0%
#585
Canton
313
312
1
+0.3%
#586
Cyrus
312
306
6
+2.0%
#587
Hartland
311
317
-6
-1.9%
#588
Buckman
309
309
0
0.0%
#589
Maynard
304
316
-12
-3.8%
#590
Hollandale
303
309
-6
-1.9%
#591
Hackensack
300
292
8
+2.7%
#592
Murdock
298
305
-7
-2.3%
#593
Ceylon
295
306
-11
-3.6%
#594
Middle River
294
304
-10
-3.3%
#595
Dakota
290
293
-3
-1.0%
#596
Belview
285
291
-6
-2.1%
#597
Hendrum
282
289
-7
-2.4%
#597
Skyline
282
286
-4
-1.4%
#599
Granada
281
290
-9
-3.1%
#600
Nerstrand
278
277
1
+0.4%
#601
Plummer
273
274
-1
-0.4%
#602
Beaver Creek
272
283
-11
-3.9%
#603
Bowlus
271
276
-5
-1.8%
#604
Kensington
270
266
4
+1.5%
#605
Chandler
269
278
-9
-3.2%
#606
Vesta
268
275
-7
-2.5%
#607
Backus
266
267
-1
-0.4%
#607
Gonvick
266
263
3
+1.1%
#607
Utica
266
271
-5
-1.8%
#607
Wilton
266
270
-4
-1.5%
#611
Eitzen
262
270
-8
-3.0%
#612
Freeborn
257
262
-5
-1.9%
#613
St. Hilaire
256
274
-18
-6.6%
#614
Milroy
254
258
-4
-1.6%
#615
Hewitt
250
250
0
0.0%
#616
Hayward
249
254
-5
-2.0%
#616
Kelliher
249
258
-9
-3.5%
#616
Wahkon
249
236
13
+5.5%
#619
Cromwell
246
237
9
+3.8%
#620
Lake Wilson
245
255
-10
-3.9%
#621
Lake Lillian
243
248
-5
-2.0%
#621
Pease
243
239
4
+1.7%
#623
Climax
241
244
-3
-1.2%
#624
Oslo
239
241
-2
-0.8%
#625
Hanley Falls
238
244
-6
-2.5%
#626
Echo
235
241
-6
-2.5%
#627
Peterson
227
232
-5
-2.2%
#628
Ostrander
226
231
-5
-2.2%
#629
Villard
224
224
0
0.0%
#630
Donnelly
223
220
3
+1.4%
#630
Gary
223
228
-5
-2.2%
#632
Pemberton
222
232
-10
-4.3%
#633
Bigelow
220
226
-6
-2.7%
#634
Elrosa
219
210
9
+4.3%
#634
Gilman
219
225
-6
-2.7%
#636
Dennison
218
221
-3
-1.4%
#636
Sobieski
218
213
5
+2.3%
#638
Northrop
217
224
-7
-3.1%
#638
Ruthton
217
225
-8
-3.6%
#640
Currie
214
223
-9
-4.0%
#640
Dalton
214
216
-2
-0.9%
#640
Frost
214
216
-2
-0.9%
#640
Storden
214
223
-9
-4.0%
#644
Orr
213
217
-4
-1.8%
#645
Bluffton
212
212
0
0.0%
#645
Rutledge
212
212
0
0.0%
#647
Flensburg
210
214
-4
-1.9%
#648
Lewisville
207
206
1
+0.5%
#649
Beardsley
206
214
-8
-3.7%
#650
Greenwald
205
198
7
+3.5%
#650
Lucan
205
211
-6
-2.8%
#650
Ogema
205
208
-3
-1.4%
#653
Waldorf
203
205
-2
-1.0%
#654
Hitterdal
202
200
2
+1.0%
#654
Lismore
202
205
-3
-1.5%
#656
Garrison
201
193
8
+4.1%
#656
Okabena
201
204
-3
-1.5%
#658
Magnolia
188
196
-8
-4.1%
#659
Forada
187
171
16
+9.4%
#659
Kingston
187
184
3
+1.6%
#661
Meire Grove
186
180
6
+3.3%
#662
Mendota
185
187
-2
-1.1%
#663
Warba
184
181
3
+1.7%
#664
Minnesota City
183
187
-4
-2.1%
#664
Nelson
183
181
2
+1.1%
#664
South Haven
183
185
-2
-1.1%
#667
Callaway
180
176
4
+2.3%
#667
Tenstrike
180
187
-7
-3.7%
#669
Hardwick
179
190
-11
-5.8%
#670
Easton
177
179
-2
-1.1%
#671
Bellechester
175
176
-1
-0.6%
#671
Shelly
175
182
-7
-3.8%
#673
Holland
173
180
-7
-3.9%
#673
Kettle River
173
169
4
+2.4%
#673
Watson
173
181
-8
-4.4%
#676
Winger
172
175
-3
-1.7%
#677
Big Falls
171
178
-7
-3.9%
#677
Grygla
171
177
-6
-3.4%
#679
Dent
170
170
0
0.0%
#679
Lake Bronson
170
180
-10
-5.6%
#681
Delavan
169
171
-2
-1.2%
#681
Felton
169
176
-7
-4.0%
#681
Palisade
169
162
7
+4.3%
#681
Wright
169
166
3
+1.8%
#685
Waltham
167
165
2
+1.2%
#685
Wendell
167
165
2
+1.2%
#687
Kennedy
166
177
-11
-6.2%
#688
Elizabeth
165
165
0
0.0%
#689
Campbell
164
170
-6
-3.5%
#689
Iona
164
165
-1
-0.6%
#691
Winton
163
165
-2
-1.2%
#692
Porter
162
166
-4
-2.4%
#692
Steen
162
172
-10
-5.8%
#694
Longville
158
157
1
+0.6%
#695
Grasston
157
153
4
+2.6%
#696
Roosevelt
156
158
-2
-1.3%
#696
Williams
156
154
2
+1.3%
#698
Northome
154
158
-4
-2.5%
#698
Zumbro Falls
154
156
-2
-1.3%
#700
Bena
152
147
5
+3.4%
#701
Conger
151
154
-3
-1.9%
#701
Kilkenny
151
142
9
+6.3%
#703
Clements
148
153
-5
-3.3%
#703
Mapleview
148
146
2
+1.4%
#705
Kinney
147
149
-2
-1.3%
#706
Millville
144
148
-4
-2.7%
#707
Laporte
142
134
8
+6.0%
#708
Bellingham
141
145
-4
-2.8%
#709
Blomkest
140
143
-3
-2.1%
#709
Boyd
140
143
-3
-2.1%
#709
Meadowlands
140
135
5
+3.7%
#712
Shevlin
139
137
2
+1.5%
#713
Coates
136
143
-7
-4.9%
#714
Heidelberg
135
135
0
0.0%
#715
Roscoe
134
128
6
+4.7%
#716
Bingham Lake
133
130
3
+2.3%
#717
Elkton
132
130
2
+1.5%
#717
Erhard
132
132
0
0.0%
#717
Miesville
132
136
-4
-2.9%
#717
Taunton
132
135
-3
-2.2%
#721
Brook Park
131
129
2
+1.6%
#722
Twin Lakes
130
130
0
0.0%
#723
Hammond
129
131
-2
-1.5%
#724
Chickamaw Beach
128
129
-1
-0.8%
#725
Dunnell
127
132
-5
-3.8%
#725
Elba
127
129
-2
-1.6%
#727
Clontarf
126
127
-1
-0.8%
#728
Odin
124
125
-1
-0.8%
#729
Lastrup
123
124
-1
-0.8%
#729
Ormsby
123
121
2
+1.7%
#731
Beaver Bay
122
118
4
+3.4%
#731
Burtrum
122
123
-1
-0.8%
#731
Harding
122
123
-1
-0.8%
#731
Wolverton
122
128
-6
-4.7%
#735
Foxhome
121
125
-4
-3.2%
#736
Federal Dam
119
119
0
0.0%
#737
Brooks
117
118
-1
-0.8%
#737
Garvin
117
120
-3
-2.5%
#739
Brookston
116
116
0
0.0%
#739
Marietta
116
119
-3
-2.5%
#741
Elmdale
115
114
1
+0.9%
#741
Riverton
115
117
-2
-1.7%
#743
Trommald
113
100
13
+13.0%
#744
Biscay
111
113
-2
-1.8%
#744
Woodstock
111
113
-2
-1.8%
#746
Avoca
108
112
-4
-3.6%
#746
De Graff
108
112
-4
-3.6%
#748
Effie
107
108
-1
-0.9%
#748
Goodridge
107
112
-5
-4.5%
#748
Quamba
107
106
1
+0.9%
#751
Iron Junction
106
108
-2
-1.9%
#751
Perley
106
112
-6
-5.4%
#753
Mentor
103
107
-4
-3.7%
#753
Odessa
103
104
-1
-1.0%
#755
McKinley
102
104
-2
-1.9%
#755
Squaw Lake
102
101
1
+1.0%
#757
Danvers
100
102
-2
-2.0%
#757
Trosky
100
104
-4
-3.8%
#759
Comstock
99
100
-1
-1.0%
#759
Millerville
99
101
-2
-2.0%
#761
Minneiska
97
99
-2
-2.0%
#762
Alpha
96
98
-2
-2.0%
#763
Sunburg
95
97
-2
-2.1%
#764
Alberta
94
93
1
+1.1%
#765
Borup
93
94
-1
-1.1%
#765
St. Anthony
93
92
1
+1.1%
#767
St. Leo
91
92
-1
-1.1%
#767
West Union
91
88
3
+3.4%
#769
Beltrami
90
93
-3
-3.2%
#770
Lengby
89
91
-2
-2.2%
#771
Georgetown
87
89
-2
-2.2%
#771
Holt
87
90
-3
-3.3%
#773
Holloway
86
88
-2
-2.3%
#774
Arco
85
89
-4
-4.5%
#774
Revere
85
86
-1
-1.2%
#776
Bejou
83
85
-2
-2.4%
#776
Bruno
83
83
0
0.0%
#776
Darfur
83
84
-1
-1.2%
#779
Fort Ripley
82
83
-1
-1.2%
#779
Nimrod
82
82
0
0.0%
#779
Seaforth
82
83
-1
-1.2%
#779
Turtle River
82
85
-3
-3.5%
#783
Bock
80
78
2
+2.6%
#783
New Trier
80
83
-3
-3.6%
#785
Dundee
79
74
5
+6.8%
#785
Zemple
79
75
4
+5.3%
#787
Nielsville
78
81
-3
-3.7%
#787
Viking
78
81
-3
-3.7%
#789
Lake Henry
77
74
3
+4.1%
#789
Richville
77
77
0
0.0%
#791
Kerrick
76
73
3
+4.1%
#792
La Salle
75
75
0
0.0%
#793
Solway
72
75
-3
-4.0%
#793
Wanda
72
73
-1
-1.4%
#795
Dumont
71
78
-7
-9.0%
#795
Evan
71
72
-1
-1.4%
#795
Spring Hill
71
68
3
+4.4%
#798
Clitherall
70
62
8
+12.9%
#798
Genola
70
71
-1
-1.4%
#798
Walters
70
70
0
0.0%
#801
Whalan
69
66
3
+4.5%
#802
Strandquist
68
70
-2
-2.9%
#802
Taopi
68
59
9
+15.3%
#804
Wolf Lake
67
69
-2
-2.9%
#805
Nassau
66
67
-1
-1.5%
#805
Sargeant
66
65
1
+1.5%
#807
Nashua
64
67
-3
-4.5%
#808
Kent
63
66
-3
-4.5%
#808
Manhattan Beach
63
60
3
+5.0%
#810
Tamarack
61
58
3
+5.2%
#810
Tintah
61
67
-6
-9.0%
#812
Henriette
60
58
2
+3.4%
#812
Kenneth
60
63
-3
-4.8%
#814
Cedar Mills
59
56
3
+5.4%
#814
Vining
59
59
0
0.0%
#816
Ihlen
58
60
-2
-3.3%
#816
St. Rosa
58
55
3
+5.5%
#818
Wilder
57
58
-1
-1.7%
#819
Farwell
56
56
0
0.0%
#819
Halma
56
59
-3
-5.1%
#821
Gully
55
56
-1
-1.8%
#821
Hadley
55
55
0
0.0%
#823
Hatfield
54
56
-2
-3.6%
#824
Dovray
53
55
-2
-3.6%
#824
Hazel Run
53
54
-1
-1.9%
#824
Mizpah
53
54
-1
-1.9%
#827
Manchester
52
53
-1
-1.9%
#828
Leonidas
51
52
-1
-1.9%
#829
St. Vincent
50
53
-3
-5.7%
#830
Myrtle
49
50
-1
-2.0%
#830
Norcross
49
48
1
+2.1%
#832
Urbank
48
48
0
0.0%
#833
Sedan
46
45
1
+2.2%
#833
Westport
46
44
2
+4.5%
#835
Delhi
45
46
-1
-2.2%
#836
Leonard
43
43
0
0.0%
#837
McGrath
41
41
0
0.0%
#838
Regal
40
41
-1
-2.4%
#839
Denham
39
38
1
+2.6%
#839
Humboldt
39
41
-2
-4.9%
#841
Trail
38
38
0
0.0%
#842
Aldrich
34
34
0
0.0%
#843
Cobden
32
32
0
0.0%
#844
Doran
30
31
-1
-3.2%
#845
Louisburg
29
29
0
0.0%
#846
Strathcona
28
29
-1
-3.4%
#847
Correll
27
28
-1
-3.6%
#848
Boy River
24
23
1
+4.3%
#848
Johnson
24
25
-1
-4.0%
#850
Florence
21
21
0
0.0%
#850
Hillman
21
21
0
0.0%
#852
Donaldson
17
18
-1
-5.6%
#853
Barry
14
14
0
0.0%
#854
Funkley
12
12
0
0.0%
#855
Kinbrae
10
10
0
0.0%
Top 500 of 855 Minnesota cities. Full dataset in the CSV.
Methodology · what counts as a city
Minnesota cities follow the V1 universe.
Minnesota cities follow the same V1 universe: incorporated places, consolidated city-county governments where applicable, and Washington DC where applicable. Census-designated places (CDPs) are excluded, with one named national exception — Urban Honolulu (Honolulu only). State ranks are standard competition ranking (“1224”) within Minnesota: tied cities share the lower rank and the next rank is skipped. Ranks are pre-computed in the dataset (state_rank_pop_2024).