Cleveland Port, By Tim Evanson - Flickr.com

The Largest Ports On The Great Lakes

The Great Lakes hold some of the busiest bulk-freight ports in North America. The ten below are ranked by annual tonnage, and the order holds real surprises. Small towns like Two Harbors outrank major metros. A single iron-ore dock can beat a diversified city harbor. The reason is simple: on the lakes, size is measured by the weight of raw material moved, not the value of goods.

This ranking counts individual ports and harbors rather than administrative districts. US figures are the US Army Corps of Engineers' 2019-2023 five-year averages. The two Canadian entries come from Transport Canada and the Hamilton-Oshawa Port Authority. Their tonnage is converted to short tons for comparison.

1. Duluth-Superior, Minnesota and Wisconsin

Duluth and Superior port at the western end of Lake Superior in the morning
Duluth and Superior Port in the morning

No other harbor on the lakes comes close to Duluth-Superior, which averaged 30.276 million short tons a year between 2019 and 2023. It sits at the far western end of Lake Superior, spread across Duluth on the Minnesota side and Superior in Wisconsin, yet the Corps counts the whole complex as one harbor rather than a district. Iron ore pellets from Minnesota's Mesabi Iron Range dominate the traffic, with coal, limestone, grain, salt, cement, and project cargo behind them. A dense web of railroads feeds the docks, letting minerals and crops from deep in the continent reach ships headed east.

2. Two Harbors, Minnesota

The lake freighter Edgar B. Speer arriving at Two Harbors, Minnesota, to load iron ore
The MV Edgar B. Speer arrives at Two Harbors, Minnesota, to load iron ore. By Pete Markham, CC BY-SA 2.0, via Wikimedia Commons

Almost everything crossing the docks at Two Harbors is iron ore, and there is enough of it to place the town second at 14.660 million short tons a year. Taconite pellets ride the rails down from the mines of northeastern Minnesota into large waterfront storage, then load onto bulk carriers bound through the Soo Locks for the mills of the lower lakes. There is little else in the mix. That single-minded specialization is exactly what lets a small community out-ship ports many times its size.

3. Port of Hamilton, Ontario

Vessels on Hamilton Harbour at the western end of Lake Ontario
Hamilton Harbour at the western end of Lake Ontario. By Dan Zen, CC BY 2.0, via Wikimedia Commons

Hamilton is the largest individual Canadian port on the lakes, handling roughly 10 million metric tonnes in a typical year, near 11 million short tons, and about 10.8 million tonnes in its strong 2021 season. Its fortunes have long tracked southern Ontario's steel industry: iron ore, coal, and other steelmaking inputs arrive at the docks, and finished steel ships out. Grain, fertilizer, sugar, and food-processing materials have grown into a substantial share of the total in recent years. That widening base has made the port less tied to steel alone than it once was.

4. Cleveland, Ohio

The Cuyahoga River winding through downtown Cleveland toward Lake Erie
The Cuyahoga River near downtown Cleveland

Cleveland's docks run along the Lake Erie shoreline and up the lower Cuyahoga River, close enough to the mills to matter, and the port averaged 11.356 million short tons a year across the period. Iron ore leads the traffic, a legacy of the city's long tie to steelmaking, alongside limestone, salt, cement, aggregates, finished steel, and general cargo. Year-to-year swings are large here: the Corps logged 9.2 million tons in 2022 and 13.8 million in 2023. That gap is the clearest argument in the whole list for why a five-year average, rather than any single season, is the fairer measure of a port's size.

5. Indiana Harbor, Indiana

Indiana Harbor and Ship Canal
Indiana Harbor and Ship Canal

At East Chicago on southern Lake Michigan, Indiana Harbor is wired directly into the steel plants around it, and it averaged 10.499 million short tons a year. Iron ore pellets off Lake Superior are the largest inbound category, trailed by limestone and asphalt-related products, all feeding the enormous raw-material appetite of nearby heavy manufacturing. The harbor sits inside the Corps' Northern Indiana District in some tallies, which is why it often disappears into a regional number. Counted on its own, without Gary, Burns Harbor, and Michigan City folded in, it stands clearly among the largest single harbors on the lakes.

6. Port of Toledo, Ohio

Port of Toledo shipyard, Maumee River Toledo, Ohio
Port of Toledo shipyard, Maumee River Toledo, Ohio

Toledo earns its 10.310 million short tons a year by doing several things at once. Sitting where the Maumee River meets Lake Erie, it moves iron ore inbound while also handling coal, grain, soybeans, petroleum products, aggregates, and general cargo, tied to the Midwest by strong rail and highway links. Its grain terminals matter especially, connecting Ohio and neighboring farm country to Great Lakes and overseas routes. That blend of agricultural and heavy industrial freight gives Toledo a broader cargo base than a single-commodity ore port like Two Harbors, and steadier footing when any one market softens.

7. Port of Thunder Bay, Ontario

Grain elevator, Port of Thunder Bay, Ontario
Grain elevator, Port of Thunder Bay, Ontario, By Robin Férand - Wikimedia

Grain built Thunder Bay, Canada's leading grain gateway on the western lakes. Its annual tonnage swings with the harvest: 9.3 million metric tonnes in 2019, 10.2 million in 2020, 8.6 million in 2021, 8.2 million in 2022, and 9.6 million in 2023, averaging about 9.18 million tonnes, or roughly 10.1 million short tons. Prairie wheat and canola roll east by rail into the waterfront elevators before shipping out down the Seaway. Potash, coal, and assorted dry bulk and project cargoes round out a port whose rhythm follows the growing season as much as the shipping one.

8. Gary, Indiana

Gary, Indiana
Gary, Indiana, By Ken Lund - Wikimedia

Steel is the reason Gary is on this list. Its marine traffic, 8.927 million short tons a year, flows almost entirely to and from the steel complex along its Lake Michigan shoreline rather than a public municipal terminal. Iron ore pellets railed and shipped from the Lake Superior region supply much of it, arriving by the boatload because a single lake carrier delivering tens of thousands of tons is far cheaper than the equivalent in rail cars for a mill that never stops consuming raw material. The Corps marks Gary a non-Corps port, but the tonnage puts it among the busiest individual freight points on the lakes.

9. Calumet Harbor and River, Illinois and Indiana

Aerial view of the Calumet River
Aerial view of the Calumet River and port, By Pi.1415926535 - Wikimedia

The Calumet system, straddling the Illinois-Indiana line in the industrial belt of southeastern Chicago, averaged 8.422 million short tons a year and carries a different cargo mix than the ore ports up north. Salt, cement and concrete materials, petroleum products, coal, steel, and aggregates all pass through it. Its real advantage is geographic: the Chicago-area waterways connect Lake Michigan to the Illinois River and, through it, the Mississippi, making Calumet a hinge between the lakes and the inland river system. It usually vanishes inside the Illinois International Port District's numbers; taken alone, it ranks on its own weight.

10. Burns Waterway Harbor, Indiana

The Port of Indiana-Burns Harbor
The Port of Indiana-Burns Harbor, By Ken Lund - Wikimedia

Better known as Ports of Indiana-Burns Harbor, this southern Lake Michigan port closes the list at 7.921 million short tons a year and serves one of the densest manufacturing regions in the country. Iron ore is the largest cargo, most of it bound for nearby steelmaking, with limestone, slag, steel products, coke, and other industrial materials alongside it. Unlike the pure bulk ports, Burns Harbor also moves international and general cargo, and its position among major railroads, interstates, and Chicago-area markets makes it as much a multimodal hub as a shipping point.

Why Great Lakes Port Rankings Are Dominated by Bulk Cargo

These ports look nothing like Los Angeles, New York, or Vancouver in what they rank on. Their standings come from moving extraordinarily heavy raw materials, not containers of finished goods. Iron ore alone drives the totals at Duluth-Superior, Two Harbors, Indiana Harbor, Gary, Cleveland, and Burns Harbor, while agricultural cargo carries much of the weight at Thunder Bay, Hamilton, Toledo, and Duluth-Superior.

That mix is why several small towns out-rank far larger metros. Proximity to mines, mills, grain regions, and bulk terminals counts for more than local population when the freight is measured by the ton. Lake vessels suit these trades perfectly, since one bulk carrier moving tens of thousands of tons in a voyage replaces hundreds of rail cars or trucks hauling the same load.

The Case for Counting Ports One at a Time

The largest individual ports on the lakes map the region's mining, steel, farming, and manufacturing onto the water. Duluth-Superior towers over the rest, Two Harbors shows the sheer haulage behind Minnesota's iron ore, Hamilton and Cleveland and Indiana Harbor and Toledo form a tier of high-volume industrial ports, and Thunder Bay stands apart as Canada's grain gateway. Counting them individually is what makes that picture legible. Bundled totals like the Northern Indiana District, the Detroit-Wayne County Port, the Illinois International Port District, and a combined Hamilton-Oshawa figure blur several locations into one and can push a ranking out of shape. Measuring each harbor on its own shows where cargo is actually loaded, unloaded, and transferred across the system.

Share

More in Bodies of Water