leaflet-providers 0,0,1,1,0 eslint travis-ci Bower npm

An extension to Leaflet that contains configurations for various free tile providers.

3 years after BSD-2-Clause


An extension to Leaflet that contains configurations for various free1 tile providers.


Leaflet-providers providers are refered to with a provider[.<variant>]-string. Let's say you want to add the nice Watercolor style from Stamen to your map, you pass Stamen.Watercolor to the L.tileLayer.provider-constructor, which will return a L.TileLayer instance for Stamens Watercolor tile layer.

// add Stamen Watercolor to map.

Protocol relativity (https://-urls)

Leaflet-providers tries to use https:// if the page uses https:// and the provider supports it. You can force the use of http:// by passing force_http: true in the options argument.

Retina tiles

Some providers have retina tiles for which the URL only needs to be slightly adjusted, e.g. [email protected]. For this, add the retina option in the URL, e.g. -----{retina}.png, and set a retina value in the options, e.g. retina: '@2x'. If Leaflet detects a retina screen (L.Browser.retina), the retina option passed to the tileLayer is set to the value supplied, otherwise it's replaced by an empty string.


Leaflet-providers provides tile layers from different providers, including OpenStreetMap, Stamen, Esri and OpenWeatherMap. The full listing of free to use layers can be previewed. The page will show you the name to use with leaflet-providers.js and the code to use it without dependencies.

Providers requiring registration

In addition to the providers you are free1 to use, we support some layers which require registration.

HERE (formerly Nokia).

In order to use HERE layers, you must register. Once registered, you can create an app_id and app_code which you have to pass to L.tileLayer.provider in the options:

L.tileLayer.provider('HERE.terrainDay', {
    app_id: '<insert ID here>',
    app_code: '<insert ID here>'

Available HERE layers


In order to use Mapbox maps, you must register. You can get map ID and ACCESS_TOKEN from Mapbox projects:

L.tileLayer.provider('MapBox', {id: 'ID', accessToken: 'ACCESS_TOKEN'}).addTo(map);


In order to use ArcGIS maps, you must register and abide by the terms of service. No special syntax is required.

Available Esri layers


This work was inspired from https://gist.github.com/1804938, and originally created by Stefan Seelmann.

What do we mean by free?

1 We try to maintain leaflet-providers in such a way that you'll be able to use the layers we include without paying money. This doesn't mean no limits apply, you should always check before using these layers for anything serious.

Related Repositories



A lightweight set of tools for working with ArcGIS services in Leaflet. ...



Plugins for Leaflet library ...



Leaflet geosearching/geocoding control ...



A simple geocoder form to locate places. Easily extended to multiple data provid ...



A QGIS plugin to create a working leaflet based webmap from it ...

Top Contributors

jieter brunob ximex seelmann StevenHeinrich tomhughes duncmc dpix gutenye calvinmetcalf almccon pensierinmusica abierbaum stefanocudini voda andreaswc brianherbert chrismcband davy39 maxdeepfield patrickarlt PeterDaveHello missinglink routexl stephan-nordnes-eriksen tmcw


package version
dev chai ^2.3.0
eslint ^3.16.1
eslint-plugin-html ^2.0.1
mocha ^2.2.4
mocha-phantomjs-core ^2.0.1
mversion ^1.3.0
phantomjs-prebuilt ^2.1.4
uglify-js ^2.4.15


-   1.1.15 zip tar
-   1.1.14 zip tar
-   1.1.13 zip tar
-   1.1.12 zip tar
-   1.1.11 zip tar
-   1.1.10 zip tar
-   1.1.9 zip tar
-   1.1.8 zip tar
-   1.1.7 zip tar
-   1.1.6 zip tar
-   1.1.5 zip tar
-   1.1.4 zip tar
-   1.1.3 zip tar
-   1.1.2 zip tar
-   1.1.1 zip tar
-   1.1.0 zip tar
-   1.0.29 zip tar
-   1.0.28 zip tar
-   1.0.27 zip tar
-   1.0.26 zip tar
-   1.0.25 zip tar
-   1.0.24 zip tar
-   1.0.23 zip tar
-   1.0.22 zip tar
-   1.0.21 zip tar
-   1.0.20 zip tar
-   1.0.19 zip tar
-   1.0.18 zip tar
-   1.0.17 zip tar
-   1.0.16 zip tar