Leaflet is the leading open-source JavaScript library for mobile-friendly interactive maps.
Weighing just about
42 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
contribute
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);
L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
L.marker([51.5, -0.09]).addTo(map)
.bindPopup('A pretty CSS popup.<br> Easily customizable.')
.openPopup();
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.
Zoom and pan animation
Tile and popup fade animation
Very nice default design
for markers, popups and map controls
Retina resolution support
Pure CSS popups and controls
for easy restyling
Image- and HTML-based markers
A simple interface for
custom map layers and controls
Custom map projections
(with
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 CSS 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
If you find some feature really missing in Leaflet, first check if there's a
plugin for it
and if it's been discussed before already on
GitHub issues
.
If not, please open a new GitHub issue.
Getting Involved
Let's create the best mapping library in the world!
Leaflet was originally created by
Volodymyr Agafonkin
,
but is now developed by a big community of
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
,
X 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.