Stamen Toner¶
Free
Starter
Standard
Professional
Styled Raster Tiles
Static Map Images API
The most popular of the excellent styles from Stamen Design, these high-contrast B+W (black and white) maps are the perfect backdrop for your colorful and eye-catching overlays. Available with raster layer groups separating the background, lines, and labels to enable composition with your own raster layers.
Preview and Use Stamen Toner¶
Our standard endpoints will serve requests from the fastest server no matter where your users are, and is backed by our global CDN with multiple layers of redundancy.
https://tiles.stadiamaps.com/styles/stamen_toner.json
https://tiles.stadiamaps.com/styles/stamen_toner.json?api_key=YOUR-API-KEY
https://tiles.stadiamaps.com/tiles/stamen_toner/{z}/{x}/{y}{r}.png
https://tiles.stadiamaps.com/tiles/stamen_toner/{z}/{x}/{y}@2x.png
https://tiles.stadiamaps.com/static/stamen_toner.png
https://tiles.stadiamaps.com/styles/stamen_toner/rendered.json
What do {x}, {y}, {z}, and {r} mean?
The {x}
, {y}
, and {z}
placeholders represent x, y, and zoom
following the standard slippy map tilename
convention. This format is used by most popular libraries. Note that our tile numbering uses the XYZ
scheme, not TMS.
The {r}
placeholder is used for HiDPI ("retina") display suppoort. Popular web map renderers like Leaflet
understand this placeholder. If your renderer does not understand this (e.g., MapLibre GL JS or QGIS),
you can either remove the placeholder to get raw 256x256 PNGs, or replace it with @2x
for 2x scaled images.
Our EU endpoints allow you to explicitly route all requests to our EU servers. See our EU Endpoints page for more details.
https://tiles-eu.stadiamaps.com/styles/stamen_toner.json
https://tiles-eu.stadiamaps.com/styles/stamen_toner.json?api_key=YOUR-API-KEY
https://tiles-eu.stadiamaps.com/tiles/stamen_toner/{z}/{x}/{y}{r}.png
https://tiles-eu.stadiamaps.com/tiles/stamen_toner/{z}/{x}/{y}@2x.png
https://tiles-eu.stadiamaps.com/static/stamen_toner.png
https://tiles-eu.stadiamaps.com/styles/stamen_toner/rendered.json
What do {x}, {y}, {z}, and {r} mean?
The {x}
, {y}
, and {z}
placeholders represent x, y, and zoom
following the standard slippy map tilename
convention. This format is used by most popular libraries. Note that our tile numbering uses the XYZ
scheme, not TMS.
The {r}
placeholder is used for HiDPI ("retina") display suppoort. Popular web map renderers like Leaflet
understand this placeholder. If your renderer does not understand this (e.g., MapLibre GL JS or QGIS),
you can either remove the placeholder to get raw 256x256 PNGs, or replace it with @2x
for 2x scaled images.
Leaflet is one of the oldest mapping libraries still in active use, and its longevity is a testament to its quality. What it lacks in fancy 3D support, it makes up for in ease-of-use and a vibrant plugin ecosystem. Check out our tutorials to get started with your favorite web framework or vanilla JavaScript.
1 2 3 4 5 6 7 8 9 10 |
|
1 2 3 4 5 6 7 8 9 10 11 |
|
In OpenLayers v8.0.0 and newer, Stadia Maps is one of the bundled tile sources, so it's only a few lines of code to get started.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
If you're using a version before v8.0.0, you'll need to create an XYZ source like so.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
Lite Variant¶
Stamen's Toner style is also available in a slightly lighter variant!
Our standard endpoints will serve requests from the fastest server no matter where your users are, and is backed by our global CDN with multiple layers of redundancy.
https://tiles.stadiamaps.com/styles/stamen_toner_lite.json
https://tiles.stadiamaps.com/styles/stamen_toner_lite.json?api_key=YOUR-API-KEY
https://tiles.stadiamaps.com/tiles/stamen_toner_lite/{z}/{x}/{y}{r}.png
https://tiles.stadiamaps.com/tiles/stamen_toner_lite/{z}/{x}/{y}@2x.png
https://tiles.stadiamaps.com/static/stamen_toner_lite.png
https://tiles.stadiamaps.com/styles/stamen_toner_lite/rendered.json
What do {x}, {y}, {z}, and {r} mean?
The {x}
, {y}
, and {z}
placeholders represent x, y, and zoom
following the standard slippy map tilename
convention. This format is used by most popular libraries. Note that our tile numbering uses the XYZ
scheme, not TMS.
The {r}
placeholder is used for HiDPI ("retina") display suppoort. Popular web map renderers like Leaflet
understand this placeholder. If your renderer does not understand this (e.g., MapLibre GL JS or QGIS),
you can either remove the placeholder to get raw 256x256 PNGs, or replace it with @2x
for 2x scaled images.
Our EU endpoints allow you to explicitly route all requests to our EU servers. See our EU Endpoints page for more details.
https://tiles-eu.stadiamaps.com/styles/stamen_toner_lite.json
https://tiles-eu.stadiamaps.com/styles/stamen_toner_lite.json?api_key=YOUR-API-KEY
https://tiles-eu.stadiamaps.com/tiles/stamen_toner_lite/{z}/{x}/{y}{r}.png
https://tiles-eu.stadiamaps.com/tiles/stamen_toner_lite/{z}/{x}/{y}@2x.png
https://tiles-eu.stadiamaps.com/static/stamen_toner_lite.png
https://tiles-eu.stadiamaps.com/styles/stamen_toner_lite/rendered.json
What do {x}, {y}, {z}, and {r} mean?
The {x}
, {y}
, and {z}
placeholders represent x, y, and zoom
following the standard slippy map tilename
convention. This format is used by most popular libraries. Note that our tile numbering uses the XYZ
scheme, not TMS.
The {r}
placeholder is used for HiDPI ("retina") display suppoort. Popular web map renderers like Leaflet
understand this placeholder. If your renderer does not understand this (e.g., MapLibre GL JS or QGIS),
you can either remove the placeholder to get raw 256x256 PNGs, or replace it with @2x
for 2x scaled images.
Leaflet is one of the oldest mapping libraries still in active use, and its longevity is a testament to its quality. What it lacks in fancy 3D support, it makes up for in ease-of-use and a vibrant plugin ecosystem. Check out our tutorials to get started with your favorite web framework or vanilla JavaScript.
1 2 3 4 5 6 7 8 9 10 |
|
1 2 3 4 5 6 7 8 9 10 11 |
|
In OpenLayers v8.0.0 and newer, Stadia Maps is one of the bundled tile sources, so it's only a few lines of code to get started.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
If you're using a version before v8.0.0, you'll need to create an XYZ source like so.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
Raster Layer Groups¶
If you're building a raster map and want to intersperse your own overlays (for example, to use as layers in QGIS), we offer three separate layer groups.
Name | Leaflet URL format | QGIS URL format | Description |
---|---|---|---|
Toner Background | https://tiles.stadiamaps.com/tiles/stamen_toner_background/{z}/{x}/{y}{r}.png |
https://tiles.stadiamaps.com/tiles/stamen_toner_background/{z}/{x}/{y}@2x.png |
Includes only background layers (water, landcover, etc.) and lines (roads, borders, etc.) |
Toner Lines | https://tiles.stadiamaps.com/tiles/stamen_toner_lines/{z}/{x}/{y}{r}.png |
https://tiles.stadiamaps.com/tiles/stamen_toner_lines/{z}/{x}/{y}@2x.png |
Includes only line layers (road, borders, etc.) |
Toner Labels | https://tiles.stadiamaps.com/tiles/stamen_toner_labels/{z}/{x}/{y}{r}.png |
https://tiles.stadiamaps.com/tiles/stamen_toner_labels/{z}/{x}/{y}@2x.png |
Includes only label layers (places, road names, etc.) |
Looking for Toner Hybrid?
The toner-hybrid
flavor offered by Stamen Design is no longer available in raster form.
You can achieve the same effect by combining the lines and labels layer groups,
or by modifying vector styles to show only the layers you need.
Next Steps¶
Take the next step and follow one of our tutorials to set up a map for your website or app. Just plug in one of the appropriate URLs above!