<embed> <image>

For over a decade, Stamen has been exploring cartography with our clients and in research. These maps are presented here for your enjoyment and use wherever you display OpenStreetMap data.


These high-contrast B+W (black and white) maps are featured in our Dotspotting project. They are perfect for data mashups and exploring river meanders and coastal zones. Available in six flavors: standard toner, hybrid, labels, lines, background, and lite.

Available worldwide.


Orient yourself with our terrain maps, featuring hill shading and natural vegetation colors. These maps showcase advanced labeling and linework generalization of dual-carriageway roads. Terrain was developed in collaboration with Gem Spear and Nelson Minar. Available in four flavors: standard terrain, labels, lines, and background.

Available worldwide.


Reminiscent of hand drawn maps, our watercolor maps apply raster effect area washes and organic edges over a paper texture to add warm pop to any map. Watercolor was inspired by the Bicycle Portraits project. Thanks to Cassidy Curtis for his early advice.

Available worldwide.

Really hot heatmaps

Burning Map

The roof, the roof, the roof is on fire! These "heat maps" use toner-lines as the foundation on which to draw fiery animations. It's our way of showing that maps don't have to lie still on the screen anymore, and that we can use the whole world as a canvas for interaction and movement.

Requires a WebGL-enabled browser, such as Google Chrome.



Yes, Mars. The Mars Orbiter Laser Altimeter, or MOLA, is an instrument on the Mars Global Surveyor (MGS), a spacecraft that was launched on November 7, 1996. The MOLA dataset also contains height data, which we've made into a 3D contour map.

Requires a WebGL-enabled browser, such as Google Chrome.

Trees, Cabs & Crime

Trees, Cabs & Crime started off as a weekend hack and ended up in the Venice Biennale. This map combines three data sets (street tree locations, taxi cab GPS positions, and crime reports) with subtractive blending to reveal halftones hidden in the urban fabric of San Francisco.

Available in San Francisco, California.

How to Use These Tiles Elsewhere

CC-BY License

Except otherwise noted, each of these map tile sets are © Stamen Design, under a Creative Commons Attribution (CC BY 3.0) license.

We’d love to see these maps used around the web, so we’ve included some brief instructions to help you use them in the mapping system of your choice. These maps are available free of charge. If you use the tiles we host here, please use this attribution:


For Toner and Terrain: Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under ODbL. <COPY HTML>

For Watercolor: Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under CC BY SA. <COPY HTML>

If you roll your own tiles from another source you will still need to credit “Map data by OpenStreetMap, under ODbL.” And if you do use these maps elsewhere, please post a tweet to @stamen!

Isn't OSM data provided under the ODbL now? Yes, but the data used in our some of our map tiles pre-dates the license change, so it remains CC BY SA until it's refreshed.

JavaScript Libraries

To use these tiles, just include our JavaScript alongside your favorite mapping library:

<script type="text/javascript" src="http://maps.stamen.com/js/tile.stamen.js?v1.3.0"></script>

Then, follow the instructions below for your preferred library:


ModestMaps is a no-frills mapping library by Stamen and friends. View the example.

// replace "toner" here with "terrain" or "watercolor"
var layer = new MM.StamenTileLayer("toner");
var map = new MM.Map("element_id", layer);
map.setCenterZoom(new MM.Location(37.7, -122.4), 12);


Leaflet is a lightweight and easy-to-use library by Cloudmade. View the example.

// replace "toner" here with "terrain" or "watercolor"
var layer = new L.StamenTileLayer("toner");
var map = new L.Map("element_id", {
    center: new L.LatLng(37.7, -122.4),
    zoom: 12


OpenLayers is a hefty and featureful mapping library for use with a variety of GIS applications. View the example.

// replace "toner" here with "terrain" or "watercolor"
var layer = new OpenLayers.Layer.Stamen("toner");
var map = new OpenLayers.Map("element_id");

Google Maps

The Google Maps API is ubiquitous and feature-rich, but requires an API key and may cost money if your usage exceeds 25,000 map views per day. View the example.

// replace "toner" here with "terrain" or "watercolor"
var layer = "toner";
var map = new google.maps.Map(document.getElementById("element_id"), {
    center: new google.maps.LatLng(37.7, -122.4),
    zoom: 12,
    mapTypeId: layer,
    mapTypeControlOptions: {
        mapTypeIds: [layer]
map.mapTypes.set(layer, new google.maps.StamenMapType(layer));


Many applications and libraries understand the notion of map URL templates. These are ours:

  • http://tile.stamen.com/toner/{z}/{x}/{y}.png
  • http://tile.stamen.com/terrain/{z}/{x}/{y}.jpg
  • http://tile.stamen.com/watercolor/{z}/{x}/{y}.jpg


If you'd like to display these map tiles on a website that requires HTTPS, use our tile SSL endpoint by replacing http://tile.stamen.com with https://stamen-tiles.a.ssl.fastly.net. Multiple subdomains can be also be used: https://stamen-tiles-{S}.a.ssl.fastly.net

JavaScript can be loaded from https://stamen-maps.a.ssl.fastly.net/js/tile.stamen.js.

If you need protocol-agnostic URLs, use //stamen-tiles-{s}.a.ssl.fastly.net/, as that endpoint will work for both SSL and non-SSL connections.