for mobile-friendly interactive maps
Weighing just about
38 KB of JS,
it has all the mapping features most developers ever need.
Leaflet is designed with
simplicity, performance and usability in mind.
It works efficiently across all major desktop and mobile platforms,
can be extended with lots of plugins,
has a beautiful, easy to use and well-documented API
and a simple, readable source code that is a joy to
Here we create a map in the
'map' div, add
tiles of our choice, and then add a marker with some text in a popup:
var map = L.map('map').setView([51.505, -0.09], 13);
attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
.bindPopup('A pretty CSS3 popup.<br> Easily customizable.')
Learn more with the
quick start guide, check out other tutorials,
or head straight to the API documentation.
If you have any questions, take a look at the FAQ first. Trusted by the best
Leaflet doesn't try to do everything for everyone. Instead it focuses on making
the basic things work perfectly.
Layers Out of the Box
Tile layers, WMS
: polylines, polygons, circles, rectangles Image overlays
Drag panning with inertia
Scroll wheel zoom
Pinch-zoom on mobile
Double click zoom
Zoom to area
(shift-drag) Keyboard navigation
: click, mouseover, etc. Marker dragging
Zoom and pan animation
Tile and popup fade animation
Very nice default design
for markers, popups and map controls Retina resolution support
Pure CSS3 popups and controls
for easy restyling Image- and HTML-based markers
A simple interface for custom map layers and controls Custom map projections
EPSG:3857/4326/3395 out of the box)
Powerful OOP facilities
for extending existing classes
Hardware acceleration on mobile
makes it feel as smooth as native apps Utilizing CSS3 features
to make panning and zooming really smooth Smart polyline/polygon rendering
with dynamic clipping and simplification makes it very fast Modular build system
for leaving out features you don't need Tap delay elimination on mobile
Safari for iOS 7+
Android browser 2.2+, 3.1+, 4+
Chrome for mobile
Firefox for mobile
IE10+ for Win8 devices
No external dependencies
If you find some feature really missing in Leaflet, first check if there's a
plugin for it. If not, please vote for the feature on the Leaflet UserVoice page. Getting Involved
Let's create the best mapping library that will ever exist! Leaflet is developed by
Vladimir Agafonkin of Mapbox with a team of dedicated contributors.
Pull requests are always welcome.
However, there are many more ways to get involved with the development of Leaflet.
You can help the project tremendously by discovering and
reporting bugs, improving documentation,
helping others on Stack Overflow, GIS Stack Exchange
and GitHub issues,
showing your support for your favorite feature suggestions on Leaflet UserVoice page,
tweeting to @LeafletJS
and spreading the word about Leaflet among your colleagues and friends.
Check out the
contribution guide for more information on getting involved with Leaflet development.