Where the Rivers Go
Every perennial river in the United States, coloured by the sea it finally reaches. Right now 19,828 m³/s is leaving the country's outlet gauges every second — 45% of it bound for the Gulf of Mexico.
1.42 M NHDPlus reaches rendered from Snoflo's vector tiles, each assigned a terminal sea by point-in-polygon against USGS WBD HUC-2/HUC-4 boundaries. Outflow is the sum of the most-downstream USGS gauge on each non-tributary mainstem; percent-of-normal is relative to the day-of-year median for each gauge.
Water year so far
Outflow, stacked
Biggest movers
| Gauge | Sea | cfs | % normal |
|---|---|---|---|
| St. Johns River Near Melbourne Fla FL | 7080 | 1497% | |
| Peace River At Arcadia Fl FL | 6780 | 1379% | |
| Des Moines River At St. Francisville MO | 25000 | 1289% | |
| Iowa River At Marengo IA | 7280 | 1139% | |
| Raccoon River At 63rd Street At Des Moines IA | 6130 | 1093% | |
| E Fk Trinity Rv Nr Forney TX | 6120 | 713% | |
| San Juan River At Four Corners CO | 5080 | 710% | |
| Kansas R At Lecompton KS | 8340 | 673% | |
| Cedar River At Cedar Rapids IA | 13700 | 606% | |
| Minnesota River At Mankato MN | 8880 | 555% |
Rivers ranked by what they are carrying now
| # | River | Flows to | m³/s | cfs | % normal | |
|---|---|---|---|---|---|---|
| 1 | Columbia OR | pac | 9684 | 342000 | 108% | River levels → |
| 2 | Mississippi MS | gulf | 8042 | 284000 | 80% | River levels → |
| 3 | → Missouri MO | gulf | 2398 | 84700 | 158% | River levels → |
| 4 | → Ohio KY | gulf | 2081 | 73500 | 80% | River levels → |
| 5 | → Willamette OR | pac | 603 | 21300 | 97% | River levels → |
| 6 | Mobile-Alabama AL | gulf | 484 | 17100 | 126% | River levels → |
| 7 | → Snake WA | pac | 385 | 13600 | 91% | River levels → |
| 8 | → Arkansas OK | gulf | 331 | 11700 | 201% | River levels → |
| 9 | Apalachicola FL | gulf | 258 | 9120 | 91% | River levels → |
| 10 | Hudson NY | atl | 252 | 8890 | 64% | River levels → |
| 11 | → Platte NE | gulf | 208 | 7350 | 124% | River levels → |
| 12 | Susquehanna MD | atl | 203 | 7160 | 103% | River levels → |
| 13 | Colorado (Lees Ferry) AZ | pac | 173 | 6120 | 67% | River levels → |
| 14 | Sacramento CA | pac | 151 | 5340 | 43% | River levels → |
| 15 | Connecticut CT | atl | 136 | 4790 | 52% | River levels → |
| 16 | Savannah GA | atl | 129 | 4570 | 86% | River levels → |
| 17 | → Green UT | pac | 118 | 4180 | 155% | River levels → |
| 18 | Delaware NJ | atl | 98 | 3460 | 61% | River levels → |
| 19 | Klamath CA | pac | 74 | 2600 | 86% | River levels → |
| 20 | → San Joaquin CA | pac | 61 | 2150 | 103% | River levels → |
| 21 | Potomac MD | atl | 51 | 1810 | 51% | River levels → |
| 22 | Trinity TX | gulf | 43 | 1510 | 90% | River levels → |
| 23 | Brazos TX | gulf | 19 | 653 | 30% | River levels → |
| 24 | Bear UT | inl | 18 | 647 | 89% | River levels → |
| 25 | Souris ND | arc | 12 | 418 | 516% | River levels → |
| 26 | Rio Grande TX | gulf | 1 | 22 | 10% | River levels → |
| 27 | Humboldt NV | inl | 0 | 0 | River levels → |
Basin by basin
Pacific Northwest
California
Colorado Basin
Great Basin
Missouri Headwaters
Upper Mississippi
Ohio & Tennessee
Texas & Gulf Coast
Southeast Atlantic
Northeast
Great Lakes
Hudson Bay & Alaska
Follow the water home
Tap any river above for its live level, or go deeper: the full interactive map, state flow reports and snowpack.
Methods & data
- River network: NHDPlus V2 perennial flowlines (1.42 M reaches) baked to vector tiles with tippecanoe; zoom 3–12. Stream order drives which reaches appear at each zoom (
mzattribute). - Destination sea: USGS Watershed Boundary Dataset HUC-2 regions, split at HUC-4 in the South Atlantic–Gulf (03), California (18) and Alaska (19) regions so the Florida peninsula, Great Basin outliers and Arctic-slope Alaska are assigned correctly. Each reach is tested in the browser with Mapbox's
withinexpression against simplified polygons (tolerance 0.04°). - Outflow: for each mainstem, the most-downstream USGS gauge Snoflo holds, or else its highest-discharge gauge (flow accumulates downstream, so this is the best outlet proxy); tributaries are listed but excluded from the sums to avoid double counting. Where the lowest gauge sits well upstream of the coast (Mississippi, Yukon) the sea totals are lower bounds.
- Percent of normal: current discharge vs. the day-of-year median for that gauge's period of record, as computed by Snoflo's streamflow pipeline.
- Water-year volume: daily snapshots of outflow by sea integrated since Oct 1; days before snapshots began are flagged and estimated at today's rate.
- Particles: seeded on rendered reaches each frame; where National Water Model velocities are loaded they scale particle speed, otherwise speed follows stream order.
- API: /api/rivers/state (JSON, CORS, 10-min cache).