By what criterion is it decided which rivers are shown at which zoom level?

Is it width? And if it is width, what width is shown at what zoom level? (The question is about the map at https://www.openstreetmap.org.)

Hello and welcome to the OpenStreetMap Community!

On the OSM default (Carto) style, rivers aren’t shown by real-world width but by tags, zoom level, and on-screen size:

  • Line rivers (waterway=river): shown from z8 upward, line width increases with zoom.
  • Riverbank/water polygons: drawn at all zooms, but labels appear only if the polygon covers enough screen pixels (way_pixels). That’s why wide rivers get names earlier.
  • Streams/ditches/drains: hidden until z14–15 to avoid clutter.
  • Labels: rivers/canals from z13, streams/drains from z15.

So there’s no fixed “X meters wide = shown at Y zoom” rule - it’s purely tag- and zoom-based, with polygon size thresholds for labels.
See also: openstreetmap-carto/style/water.mss at b7e0691161ba00671f9cedd0f957dd496c911590 · gravitystorm/openstreetmap-carto · GitHub

8 Likes