Plugins - Leaflet - a JavaScript library for interactive maps
an open-source JavaScript library
for mobile-friendly interactive maps
Overview
Tutorials
Docs
Download
Plugins
Blog
Leaflet Plugins
While Leaflet is meant to be as lightweight as possible, and focuses on a core set of features, an easy way to extend its functionality is to use third-party plugins. Thanks to the awesome community behind Leaflet, there are literally hundreds of nice plugins to choose from.
Tile & image layers
Basemap providers
Basemap formats
Non-map base layers
Tile/image display
Tile load
Vector tiles
Overlay data
Overlay data formats
Dynamic data loading
Synthetic overlays
Data providers
Overlay Display
Markers & renderers
Overlay animations
Clustering/decluttering
Heatmaps
DataViz
Overlay interaction
Edit geometries
Time & elevation
Search & popups
Area/overlay selection
Map interaction
Layer switching controls
Interactive pan/zoom
Bookmarked pan/zoom
Fullscreen
Minimaps & synced maps
Measurement
Mouse coordinates
Events
User interface
Print/export
Geolocation
Miscellaneous
Geoprocessing
Routing
Geocoding
Plugin collections
Integration
Frameworks & build systems
3rd party
Develop your own
Tile & image layers
The following plugins allow loading different maps and provide functionality to tile and image layers.
Basemap providers
Basemap formats
Non-map base layers
Tile/image display
Tile load
Vector tiles
Basemap providers
Ready-to-go basemaps, with little or no configuration at all.
Plugin Description Maintainer
leaflet-providers
Contains configurations for various free tile providers — OSM, OpenCycleMap, Stamen, Esri, etc.
leaflet-extras members
Leaflet.KoreanTmsProviders
Contains configurations for various (South) Korean tile providers — Daum, Naver, VWorld, etc.
Seong Choi
Leaflet.ChineseTmsProviders
Contains configurations for various Chinese tile providers — TianDiTu, MapABC, GaoDe, etc.
Tao Huang
Esri Leaflet
A set of tools for using ArcGIS services with Leaflet. Support for map services, feature layers, ArcGIS Online tiles and more.
Patrick Arlt
Leaflet.GIBS
NASA EOSDIS GIBS imagery integration. The plugin provides 96 daily updated layers with satellite imagery and science parameters. Demo.
Alexander Parshin
L.TileLayer.Kartverket
Provides easy setup of the tile layers from Kartverket (The Norwegian Mapping Authority)
Kultur og naturreise / Atle Frenvik Sveen
Leaflet.Spain.WMS
Provides easy setup for several Web Map Services (WMS) layers for Spain (PNOA, IGN base, Catastro, etc), from Spanish mapping agencies.
Patricio Soriano
PolarMap.js
JavaScript library for displaying tiles from ArcticWebMap, a free tile provider with OSM data in multiple Arctic polar projections. Includes lower-level API for deeper integration with other Leaflet plugins.
GeoSensorWeb Lab
Bing Maps Layer
Add Bing Maps tiles to your Leaflet Map. Requires Leaflet v1.0.0.beta.2 or later.
Gregor MacLennan
L.TileLayer.HERE
Displays map tiles from HERE maps (demo).
Iván Sánchez
L.GridLayer.GoogleMutant
Displays Google maps (with minimal artifacts thanks to a DOM mutation observer technique) (demo).
Iván Sánchez
L.MapkitMutant
Displays Apple's MapkitJS basemaps.
Iván Sánchez
SuperMap Leaflet
SuperMap Leaflet is a Leaflet plugins for working with SuperMap service types.
Support for SuperMap services, tiles and more.
SuperMap
Leaflet.TileLayer.Mierune
Displays tiles from Mierune map. (Demo)
Mierune
Leaflet.TileLayer.Swiss
Displays national maps of Switzerland using map tiles from Swisstopo.
Demo.
Roman Karavia
Basemap formats
Plugins for loading basemaps or GIS raster layers in common (albeit non-default) formats.
Plugin Description Maintainer
leaflet.TileLayer.WMTS
Add WMTS (IGN) layering for leaflet.
Alexandre Melard
azgs-leaflet
A set of small plugins for Leaflet, including WFS-GeoJSON layer with filtering, a hover control for GeoJSON, and an Esri tile layer.
AZGS
leaflet.wms
Enhanced WMS support for Leaflet, including single-tile/untiled layers, shared WMS sources, and layer identify via GetFeatureInfo.
S. Andrew Sheppard
(HEI Geo)
Leaflet.NonTiledLayer.WCS
Display raster data from Web Coverage Services. Rasters can be styled and queried in the client. See the demo.
Stuart Matthews
Leaflet.bpg
TileLayer with .bpg image format decoding.
Andrzej Zaborowski
TileLayer.GeoJSON
A TileLayer for GeoJSON tiles.
Glen Robertson
leaflet-tilejson
Adds support for the TileJSON specification to Leaflet.
Per Liedman, Kartena
cartodb-leaflet
Official CartoDB plugin for Leaflet.
Vizzuality
Leaflet-2gis
Adds support for 2GIS tile layer
Eugene Mikhalev
Leaflet GeoJSON Encoded
Extends the L.GeoJSON layer using Google polyline encoding algorithm, allowing an optimized data transfer.
Geobricks
Leaflet.TileLayer.MBTiles
Loads .mbtiles tilesets.
Iván Sánchez
Leaflet.CanvasLayer.Field
Loads and styles raster files (geotiff & asciigrid formats).
It includes a ScalarField layer (for DTM, temperature...) and
VectorFieldAnim (an animated layer for wind, currents...). See the examples
Víctor Velarde
leaflet-geotiff
Display raster data from geoTIFF files as images or direction arrows. Rasters can be styled and queried in the client. An optional clipping mask can be applied, e.g. to restrict DEMs to land areas. See the demo.
Stuart Matthews
Leaflet.projwmts
Adding WMTS services (GUGiK Poland).
(demo).
Geoportal Poland
Non-map base layers
Sometimes you don’t want to load a map, just big custom images. Really big ones.
Plugin Description Maintainer
TileLayer.Zoomify
A TileLayer for Zoomify images.
Bjørn Sandvik
TileLayer.DeepZoom
A TileLayer for DeepZoom images.
Al Farisi,
Indokreatif Teknologi
TileLayer.Gigapan
A TileLayer for Gigapan images.
Dan Sherman
Leaflet.TileLayer.IIP
Add support for IIPImage layers in Leaflet.
Emmanuel Bertin
Leaflet-IIIF
A IIIF (International Image Interoperability Framework) viewer for Leaflet. See the demo.
Jack Reed
leaflet-fractal
Renders some fractals (Mandelbrot set, Julia set and some others) using 2D canvas (demo).
Alexander Parshin
leaflet-rastercoords
Renders large tiled images generated with
gdal2tiles-leaflet.
Image raster coordinates can be used to set markers, etc.
(demo).
Commenthol
Tile/image display
The following plugins change the way that tile or image layers are displayed in the map.
Plugin Description Maintainer
TileLayer.BoundaryCanvas
Allows you to draw tile layers with arbitrary polygonal boundary. HTML5 Canvas is used for rendering.
Alexander Parshin
TileLayer.Grayscale
A regular TileLayer with grayscale makeover.
Ilya Zverev
Leaflet.ImageTransform
Add support of image overlays with arbitrary perspective transformation.
Alexander Parshin,
Sergey Alekseev
Leaflet.OpacityControls
Simple Leaflet controls to adjust the opacity of a map layer.
Jared Dominguez
Leaflet.DistortableImage
Enable users to scale, rotate, and distort images on Leaflet maps.
Public Lab
Leaflet.DistortableVideo
Enable users to scale, rotate, and distort videos on Leaflet maps. (demo).
Roni Karilkar
Leaflet.ImageOverlay.Rotate
Displays rotated, scaled and skewed (but not rubbersheeted) ImageOverlays, given three control points. (demo).
Iván Sánchez Ortega
Leaflet.TileLayer.ColorFilter
A simple and lightweight Leaflet plugin to apply CSS filters on map tiles (demo).
Cláudio Kawakani
Leaflet.TileLayer.Mask
A TileLayer with mask effect (demo)
Yuzo Matsuzawa
Leaflet.TileLayer.PixelFilter
A TileLayer which can filter and replace pixels by RGB code.
demo 1 • demo 2
GreenInfo Network
Leaflet.Control.SideBySide
A Leaflet control to add a split screen to compare two map overlays (demo).
Digital Democracy
Leaflet.TileLayer.GL
Applies custom WebGL shaders to each tile in a tilelayer (demo).
Iván Sánchez
Leaflet.TileLayer.ColorPicker
A Leaflet TileLayer with getColor(latLng). Demos: color picker, elevation picker with mapbox terrain-RGB
Yuzo Matsuzawa
Leaflet.TileLayer.Colorizr
A Leaflet TileLayer which can modify colors by RGBA code. Demos: coming soon.
Hinrich Riedel
Leaflet.UTFGrid
Provides UTF-8 Grid support for Leaflet >= 1.0. Includes basic mouseover support plus ability to highlight feature from UTFGrid on hover (demo).
Brendan Ward
Leaflet.Control.Opacity
Make multiple tile layers transparent. (demo)
Yasunori Kirimoto
Leaflet.TileLayer.GLColorScale
TileLayer that uses WebGL to colorize floating-point pixels according to a specified color scale (demo).
David Schneider
Leaflet.Control.DetailLevel
Display tiles at higher-than-retina (hdpi) resolutions, by real-time modification of the zoomOffset. Useful for mapping sources which drastically change map style between different zoom levels. Increasing the zoomOffset by too much does slow down the browser, as the number of displayed tiles grows exponentially with the zoomOffset. (demo).
Wessel Valkenburg
Leaflet.Multispectral
Provides multispectral channel manipulation and processing tools (such as NDVI or other remote sensing methods) for Leaflet image layers using pure client-side JavaScript. It uses `image-sequencer` via an ImageOverlay `filter()` function. (demo).
Public Lab
Leaflet.TileLayer.GLOperations
WebGL TileLayer: Colorize floating-point pixels, mouse event handlers for pixel values, hillshading, contours,
transitions, filter and do calculations on multiple layers.
(Demo).
Thorbjørn Horgen
Tile Load
The following plugins change the way that tile layers are loaded into the map.
Plugin Description Maintainer
Leaflet.MultiTileLayer
Allows to compose a TileLayer from several tile sources. Each source is active only on a defined set of zoomlevels.
Mattias Bengtsson
Leaflet.FunctionalTileLayer
Allows you to define tile layer URLs using a function. Even works with asynchronous sources, using promises.
Ishmael Smyrnow
TileLayer.Cordova
For use with Cordova/Phonegap, adds tile caching onto local device storage, switching between offline and online mode.
Greg Allensworth
TileLayer.PouchDBCached
Allows all Leaflet TileLayers to cache into PouchDB for offline use.
Iván Sánchez Ortega,
MazeMap
Leaflet.loading
A simple control that adds a loading indicator as tiles and other data are loaded.
Eric Brelsford
Leaflet.EdgeBuffer
Buffer tiles beyond the edge of the viewport, for Leaflet 1.0. Demo.
Alex Paterson
Leaflet.TileLayer.Fallback
Replaces missing Tiles (HTTP 404 Not Found Error) by scaled up equivalent Tiles from lower zooms.
ghybs
Leaflet.FeatureGroup.LoadEvents
`FeatureGroup` that supports the `"loading"` and `"load"` events (for v0.7.*).
G. Lathoud, Outdooractive.
Leaflet.GridLayer.FadeOut
Fades out grid layers and tilelayers when they are removed, making basemap changes smoother (for 1.0.0). Demo.
Iván Sánchez
leaflet-offline
Allows the use of offline tiles in a customizable way while falling back to the normal TileLayer when necessary. Demo.
Roberto Soares
leaflet.offline
Allow tiles to be stored in an database for offline access. Original plugin.Demo.
Allart Kooiman
Vector tiles
Plugins to display vector tiles.
Plugin Description Maintainer
Leaflet.MapboxVectorTile
A Leaflet Plugin that renders Mapbox Vector Tiles on canvas. See demo. Compatible with Leaflet 0.7.x only.
SpatialDev
Hoverboard
Render vector tiles on canvas with leaflet (geojson, topojson, and protobuf). See demo. Compatible with Leaflet 0.7.x only.
Tristan Davies
geojson-vt
Efficient library for slicing GeoJSON data into vector tiles on the fly.
Mapbox
Leaflet.VectorGrid
Display gridded vector data (GeoJSON or TopoJSON sliced with geojson-vt, or protobuf vector tiles) in Leaflet 1.0.0. See demos. Not compatible with 0.7.x.
Iván Sánchez
Leaflet.VectorTileLayer
A Leaflet layer for displaying vector tiles. Very similar to Leaflet.VectorGrid except for styling: a single style can be specified for all layers while VectorGrid requires knowing layer names in advance. For Leaflet 1.0.0.
Joachim Kuebart
Overlay data
The following plugins provide new ways of loading overlay data (GIS vector data): points, lines and polygons.
Overlay data formats
Dynamic data loading
Synthetic overlays
Data providers
Overlay data formats
Load your own data from various GIS formats.
Plugin Description Maintainer
leaflet-kml
Loads & displays KML
Windyx
leaflet-omnivore
Loads & converts CSV, KML, GPX, TopoJSON, WKT formats for Leaflet.
Mapbox
Leaflet.FileLayer
Loads files (GeoJSON, GPX, KML) into the map using the HTML5 FileReader API (i.e. locally without server).
Mathieu Leplatre
Leaflet.geoCSV
Leaflet plugin for loading a CSV file as geoJSON layer.
Iván Eixarch
Leaflet.Shapefile
Put a shapefile onto your map as a layer.
Calvin Metcalf
Leaflet.FileGDB
Put an ESRI File GeoDatabase onto your map as a layer.
Calvin Metcalf
Leaflet.encoded
Use encoded polylines in Leaflet.
Jieter
Leaflet GPX
GPX layer, targeted at sporting activities by providing access to information such as distance, moving time, pace, elevation, heart rate, etc.
Maxime Petazzoni
Wicket
A modest library for translating between Well-Known Text (WKT) and Leaflet geometry objects (e.g. between L.marker() instances and "POINT()" strings).
K. Arthur Endsley
qgis2web
A QGIS plugin to make webmaps without coding.
Tom Chadwin
Leaflet-WFST
WFS client layer with transaction support
Flexberry
Leaflet-BetterScale
A new, more GIS-like scalebar with alternating black/white bars.
Dan Brown
Leaflet-GeoPackage
Load GeoPackage Tile and Feature Layers.
Daniel Barela,
NGA
Leaflet-CsvTiles
Load points from tiled csv files, using the amazing PapaParse library. Demo.
Gherardo Varando
Dynamic/custom data loading
Load dynamic data which is updated in the map, or load GIS vector data in non-standard ways.
Plugin Description Maintainer
Leaflet Realtime
Put realtime data on a Leaflet map: live tracking GPS units, sensor data or just about anything.
Per Liedman
Leaflet Ajax
Add GeoJSON data via ajax or jsonp.
Calvin Metcalf
Leaflet.Liveupdate
Periodically ('live') update something on a map (Demo)
Martijn Grendelman
Leaflet.Pouch
Use PouchDB to sync CouchDB data to local storage (indexedDB), to just add couchDB data or as just a less confusing implementation of indexedDB.
Calvin Metcalf
Leaflet.Indoor
Create indoor maps.
Christopher Baines
Leaflet uGeoJSON
Add an auto updating GeoJSON data Layer via ajax post requests.
Benjamin VADANT
Leaflet.mytrack
Track my way on a map and download it. Demo
DJ
Synthetic overlays
These plugins create useful overlays from scratch, no loading required.
Plugin Description Maintainer
Leaflet.Graticule
Draws a grid of latitude and longitude lines.
Bjørn Sandvik
Leaflet.SimpleGraticule
Draws a grid lines for L.CRS.Simple coordinate system.
Andrew Blakey
L.OS.Graticule
Overlays UK Ordinance Survey (OS) 1km grid squares and labels.
Jon Shutt
Leaflet.MetricGrid
A general purpose Metric Grid overlay for Leaflet with ready defined UTM, British and Irish Grids.
Bill Chadwick
Leaflet.Terminator
Overlay day and night regions on a map.
Jörg Dietrich
Leaflet.Sun
Get sunset or sunrise at map click. Demo
DJ
Leaflet.timezones
Overlay timezones on a Leaflet Earth map. Demo
DJ
leaflet.latlng-graticule
Create a Canvas as ImageOverlay to draw the Lat/Lon Graticule, and show the grid tick label at the edges of the map.Demo.
CloudyBay
Leaflet.EdgeScaleBar
Creates scale bars along top and right edge of a map in the Web Mercator projection..Demo.
Dražen Tutić, Ana Kuveždić Divjak
Leaflet.Maidenhead
An implementation of the Maidenhead Locator System grid ((demo)).
Iván Sánchez Ortega
Data providers
Load overlay data from third-party-services. See also basemap providers and plugin collections.
Plugin Description Maintainer
Leaflet Vector Layers
Allows to easily create vector layers from a number of geo web services, such as ArcGIS Server, Arc2Earth, GeoIQ, CartoDB and GIS Cloud.
Jason Sanford
Leaflet Overpass Layer
Easily include data from the overpass api.
Guillaume AMAT
Leaflet.dbpediaLayer
A layer with Points of interest from Wikipedia - loaded via ajax from DBpedia's SPARQL endpoint.
Kr1
Leaflet-Wikipedia
A leaflet plugin to display Wikipedia API entries on a map layer.
Matthew Barker
Windy-Leaflet-plugin
Displays animated weather map on your page using Windy's free API.
Windy.com
Leaflet.GeographPhotos
Display Geographical-Photos from Geograph Britain and Ireland in an interactive overlay, using their API.
Barry Hunter
leaflet-radar
Animated satellite weather radar overlays for Leaflet.
rwev
leaflet-environmental-layers
Collection of different environmental map layers in an easy to use Leaflet library Demo.
Public Lab
Leaflet.Rainviewer
Plugin for RainViewer radar data API Demo.
Marcin Wasilewski
Overlay display
The following plugins provide new ways of displaying overlay data information.
Markers & renderers
Overlay animations
Clustering/decluttering
Heatmaps
DataViz
Markers & renderers
These plugins provide new markers or news ways of converting abstract data into images in your screen. Leaflet users versed in GIS also know these as symbolizers.
Plugin Description Maintainer
Leaflet.RoughCanvas
Leaflet.RoughCanvas renders hand-drawn, sketch style vector map (polyline, polygon, geojson).
haoming
Leaflet.ellipse
Leaflet.ellipse place ellipses on map by specifying center point, semi-major axis,
semi-minor axis, and tilt degrees from west.
JD Fergason
Leaflet.label
Adds text labels to map markers and vector layers.
Jacob Toye
Leaflet-semicircle
Adds functionality to L.Circle to draw semicircles.
Jieter
Leaflet.PolylineDecorator
Allows you to draw patterns (like dashes, arrows or evenly spaced Markers) along Polylines or coordinate paths.
Benjamin Becquet
Leaflet-arrowheads
Allows user to quickly draw arrowheads on polylines for vector visualization.
Slutske22
Leaflet.Sprite
Use sprite based icons in your markers.
Calvin Metcalf
Leaflet.TextPath
Allows you to draw text along Polylines.
Mathieu Leplatre
Leaflet-SVGIcon
A simple and customizable SVG icon with no external dependencies. Also included is a convenience Marker class and two example subclasses. Customizable demo with example subclasses
Ilya Atkin
Leaflet.BeautifyMarkers
Lightweight plugin that adds colorful iconic markers without image and gives full control of style to end user (i.e. Unlimited colors and CSS styling).
Muhammad Arslan Sajid
Leaflet.Awesome-Markers
Colorful, iconic & retina-proof markers based on the Font Awesome icons/Twitter Bootstrap icons
Lennard Voogdt
Leaflet.Extra-Markers
Shameless copy of Awesome-Markers with more shapes, colors and semantic-ui support
Cory Silva
Leaflet.MakiMarkers
Create markers using Maki Icons from MapBox.
James Seppi
Leaflet.Icon.Glyph
Use icon font glyphs in your markers (from Font Awesome, Material Design Icons, Glyphicons,
Metro UI icons, Elusive, and other icon fonts). (demo)
Iván Sánchez Ortega
Leaflet.LineExtremities
Show symbols at the extremities of polylines, using SVG markers.
Frédéric Bonifas
Leaflet.VectorMarkers
Vector SVG markers for Leaflet, with an option for Font Awesome/Twitter Bootstrap icons.
Mathias Schneider
Leaflet.SvgShapeMarkers
Adds support for additional SVG marker types such as triangles, diamonds and squares.
Rowan Winsemius
Leaflet.pattern
Add support for pattern fills on Paths.
Tyler Eastman
Leaflet.BoatMarker
A boat marker using HTML Canvas for displaying yachts and sailboats with heading and optional wind information. Demo.
Thomas Brüggemann
leaflet-usermarker
Plugin for plotting a marker representing a user - or multiple users - on a map,
with support for drawing an accuraccy circle. Can be seen in action on
Longitude.me.
Jonatan Heyman
Leaflet.geojsonCSS
Geojson CSS implementation for Leaflet.
Alexander Burtsev
leaflet-simplestyle
Extends L.geoJSON to support the simple style spec.
Rowan Winsemius
OSM Buildings
Amazing JS library for visualizing 3D OSM building geometry on top of Leaflet.
Jan Marsch
Leaflet.EdgeMarker
Plugin to indicate the existence of Features outside of the current view.
Gerald Pape
Leaflet.orientedMarker
Allows to manage orientation of markers dynamically.
Gismartwaredev
leaflet-icon-pulse
Renders pulsing icon using CSS3. It can be used for location marker.
mapshakers/
Filip Zavadil
leaflet-mapkey-icon
Set of cartographic font icons based on mapkeyicons.
mapshakers/
Filip Zavadil
Leaflet.Photo
Plugin to show geotagged photos on a Leaflet map. Demo.
Bjørn Sandvik
Leaflet.curve
A Leaflet plugin for drawing Bézier curves and other complex shapes. Demo.
elfalem
Leaflet.bezier
Draws a Bézier line between two points with an animated flight object.
Supun Praneeth
Leaflet.Arc
This plugin adds L.Polyline.Arc function which wraps arc.js functionality for creation of Great Cirlce arcs.
Alexey Gusev
leaflet-choropleth
Extends L.geoJson to add a choropleth visualization (color scale based on value). Demo.
Tim Wisniewski
Leaflet.Canvas-Markers
Displays markers on canvas instead of DOM.
Evgeniy Voynov
leaflet-tracksymbol
This marker provides a tracksymbol with orientation, velocity-vector and configurable shape.
Tim Leerhoff
leaflet-ais-tracksymbol
AIS Extension for leaflet-tracksymbol It displays AIS Contacts on the Map.
Johannes Rudolph
leaflet-ais-tracksymbol-search
Adds a Search Box for your Leaflet Map and Your [leaflet-ais-trackymbol](https://github.com/PowerPan/leaflet-ais-tracksymbol)
Johannes Rudolph
leaflet.TravelNotes
Editable markers and routing engine for leaflet. The routing engine have plugins for Mapbox, GraphHopper and OSRM and can be used for car, bike or pedestrian route. Demo.
Christian Guyette
Leaflet.Marker.Stack
A pure Leaflet implementation of CartoDB's "stacked chips" symbolizer. Demo.
Iván Sánchez
leaflet-polygon.fillPattern
Extend the Polygon Object to fill SVG Path element with an image pattern.Demo.
CloudyBay
Leaflet Polyline Offset
Adds to L.Polyline the ability to be shifted with a relative pixel offset, without modifying its actual LatLngs. The offset value can be either negative or positive, for left- or right-side offset, and remains constant across zoom levels (basic demo).
Benjamin Becquet
leaflet-labeled-circle
Special type of SVG marker with a label inside and draggable around the anchor point (demo).
Alexander Milevski
Leaflet.ParallaxMarker
Add markers that moves with a parallax-effect relative to the map when panning (demos / examples).
Dag Jomar Mersland
leaflet-distance-markers
Allows displaying markers along a route (L.Polyline) at equivalent distances (eg. one per mile) (demo).
Doroszlai, Attila
leaflet-corridor
Renders a polyline with width fixed in meters, not in pixels; adjusts width depending on zoom level (demo).
Mikhail Shilkov
Leaflet.LabelTextCollision
Displays labels on paths (polylines, polygons, circles) avoiding label collision. (demo).
Kenta Hakoishi
Leaflet.streetlabels
A Leaflet plugin to show labels following the paths of polylines. An extension of yakitoritabetai Leaflet.LabelTextCollision (demo).
Triede TI
Leaflet.Viewpoint
Displays circleMarker with multiple directions.
Useful to show photos taken from one point. (demo).
Grigory Golikov
Leaflet.magicMarker
Adding magical animation effect to a marker while loading.(Demo).
Sylvenas
Leaflet.Marker.Highlight
Adding highlight performance for L.marker.(Demo).
Brandon Xiang
Leaflet.GeotagPhoto
Plugin for photo geotagging, with two modes: camera and crosshair (Demo).
Bert Spaan
Leaflet.GLMarkers
Display thousands of markers with custom WebGL shaders, optionally animated. (demo)
Iván Sánchez Ortega
Leaflet.River
Draw lines with different width (like rivers) on a map.
Useful when you want to show how rivers 'flow' on the map (demo).
Grigory Golikov
Leaflet.SpeechBubble
Popup a speech bubble with the arrow that follow points, layer, markers ...
(demo).
Sylvain BRISSY
Leaflet Swoopy
A plugin for creating customizable swoopy arrow annotations.
webkid
leaflet-polycolor
Color each polyline segment. (demo)
Olivier Gasc
leaflet-marker-direction
display the path and the direction of the marker. (demo)
Jack Zou
Leaflet Rotated Marker
Enables rotation of marker icons in Leaflet. (Demo)
Benjamin Becquet
Leaflet Truesize
A plugin for creating projection aware draggable polygons and polylines.
webkid
Leaflet.RepeatedMarkers
Displays markers when wrapping around the globe, once every 360 degrees of longitude (demo).
Iván Sánchez
Leaflet.Geodesic
Draw geodesic lines and circles. A geodesic line is the shortest path between two given points on the earth surface. It uses Vincenty's formulae for highest precision and distance calculation. Written in Typescript and available via CDN. Demo
Henry Thasler
Leaflet.greatCircle
A wrapper class for the Leaflet.js Polygon object that draws true "great circles" (showing true geodesic, spherical paths) that wrap around the Earth (demo).
Alex Wellerstein
Leaflet.CustomLayer
A Leaflet plugin L.CustomLayer - fully custom Layer.
Derek Li
Leaflet.ArrowCircle
A Marker extension to display circles with directional arrows.
R.A. Porter
Overlay animations
These plugins animate markers or some geometries. See also geometries with time or elevation.
Plugin Description Maintainer
Leaflet.AnimatedMarker
Animate a marker along a polyline.
Aaron Ogle
Leaflet.BounceMarker
Make a marker bounce when you add it to a map.
Maxime Hadjinlian
Leaflet.SmoothMarkerBouncing
Smooth animation of marker bouncing for Leaflet.
Alexei KLENIN
Leaflet.MovingMarker
Allow to move markers along a polyline with custom durations.
Ewoken
Leaflet.TransitionedIcon
Transition in/out markers with CSS3 transitions. It supports jitter
for staggering markers into view to prevent visual overload. See the demo.
Brian Reavis
Leaflet.Polyline.SnakeAnim
Animates (poly)lines into existence, as if they were being slowly drawn from start to end.
Iván Sánchez Ortega,
MazeMap
Leaflet.Path.DashFlow
Animates the dashArray of lines and circles, creating a basic flow effect. (Demo.
Iván Sánchez Ortega
Leaflet.AntPath
Leaflet.AntPath put a flux animation (like ants walking) into a Polyline.
(demo)
Rubens Pinheiro
Leaflet.Marker.SlideTo
Smoothly move (slide) markers to a new location. (demo)
Iván Sánchez Ortega,
MazeMap
leaflet.motion
Adds simple motion to your polyline with marker in a head on line (demo)
Igor Vladyka,
Leaflet.Rain
Customizable WebGL rain animation for Leaflet. Useful for weather maps. (demo)
Grigory Golikov
Leaflet.Snow
Customizable WebGL snow animation for Leaflet. Useful for weather maps. (demo)
Grigory Golikov
leaflet-point-animator
Animate a large number of GeoJSON points. (demo)
danwild, onaci
leaflet-temporal-geojson
Flexible animation of GeoJSON features. (demo)
danwild, onaci
Clustering/Decluttering
When you are displaying a lot of data, these plugins will make your map look cleaner.
Plugin Description Maintainer
Leaflet.markercluster
Beautiful, sophisticated, high performance marker clustering solution with smooth animations and lots of great features. Recommended!
Dave Leaver
Leaflet.LayerGroup.Collision
Provides collision detection for groups of markers. Unlike clustering, this takes into account the shape & size of the markers.
Iván Sánchez Ortega,
MazeMap
Overlapping Marker Spiderfier
Deals with overlapping markers in a Google Earth-inspired way by gracefully springing them apart on click.
George MacKerron
PruneCluster
Fast and realtime marker clustering library.
Antoine Pultier
Leaflet.Deflate
Deflates lines and polygons to a marker when their screen size becomes too small in lower zoom levels.
Oliver Roick
Leaflet.GridCluster
Create grid-based clusters in realtime.
Andreas Kiefer
q-cluster
Quick point clustering library with D3 categorization.
Nicholas Hallahan
Leaflet.ConditionalLayer
A FeatureGroup that does not show any more than a certain amount of markers visible in the viewport. (Demo)
EPP
Leaflet.FeatureGroup.SubGroup
A simple plugin to create Feature Groups that add their child layers into a parent group. Typical usage is to switch them through L.Control.Layers to dynamically add/remove groups of markers from Leaflet.markercluster. Demo.
ghybs
leaflet-tooltip-layout
A plugin to avoid tooltips overlapping and make it easier to find out the relationship between each tooltip and marker. Demo.
Zijing Peng
Heatmaps
These plugins create heatmaps and heatmap-like visualizations from vector data.
Plugin Description Maintainer
MaskCanvas
Canvas layer that can be used to visualize coverage.
Dominik Moritz
HeatCanvas
Simple heatmap api based on HTML5 canvas.
Sun Ning
heatmap.js
JavaScript Library for HTML5 canvas based heatmaps.
Its Leaflet layer implementation supports large datasets because it is tile based and uses a quadtree index to store the data.
Patrick Wied
Leaflet divHeatmap
Lightweight and versatile heatmap layer based on CSS3 and divIcons
Daniele Piccone
WebGL Heatmap
High performance Javascript heatmap plugin using WebGL.
Benjamin J DeLong
Leaflet.heat
A tiny, simple and fast Leaflet heatmap plugin. Uses simpleheat under the hood, additionally clustering points into a grid for performance. (Demo)
Vladimir Agafonkin
Leaflet-Solr-Heatmap
A Leaflet plugin for rendering heatmaps and clusters from Solr's Heatmap Faceting. High performance for millions of points or polygons.
Jack Reed /
Steve McDonald
DataViz
Powerful multi-purpose libraries for data visualization.
Plugin Description Maintainer
geogrid.js
Displays data aggregated by the ISEA3H discrete global grid system. The data can, e.g., be delivered by using Measures REST (a framework to deliver data aggregated by the grid) or geogrid (a library for handling the grid in case that you want to aggregate data manually).
F.-B. Mocnik,
GIScience Research Group,
Heidelberg University
RaphaelLayer
Allows you to use Raphael as a layer on a Leaflet map for advanced animations and visualizations.
Dynamic Methods
Leaflet Data Visualization Framework
New markers, layers, and utility classes for easy thematic mapping and data visualization.
Scott Fairgrieve
Leaflet.D3SvgOverlay
SVG overlay class for using with D3 library. Supports zoom animation and scaling without need to redraw the layer.
Kirill Zhuravlev
mapbox-gl-leaflet
Binding from Mapbox GL JS to the Leaflet API
Tom MacWright
leaflet-echarts
A plugin for Leaflet to load echarts map and make big data visualization easier.
wandergis
jquery-storymap
A jQuery plugin to display several map locations as the user scrolls through paragraphs.
Atle Frenvik Sveen
Leaflet for R
Allows using Leaflet from within R programs, a programming language popular for statistical analysis and data mining.
RStudio team
leaflet.migrationLayer
leaflet.migrationLayer is used to show migration data such as population, flight, vehicle, traffic and so on. Data visualization on map.demo
Sylvenas
Leaflet.Quadtree
Leaflet.Quadtree is used to retrieve visible data inside given bounds
ibesora
Leaflet.Canvas-Flowmap-Layer
A LeafletJS custom map layer for mapping the flow of objects, ideas, people, etc. with Bezier curves rendered on the HTML canvas.
Jacob Wasilkowski,
Sarah Bell
Leaflet.PixiOverlay
A Leaflet overlay class for drawing and animating with Pixi.js. (demo)
Manuel Baclet
leaflet-velocity
Visualise velocity layers with leaflet.
Demo here.
Dan Wild
leaflet-partition
Divide the area into parts in different ways such as voronoi(triangulation) and hexagonal tiling.
Basic demo
locknono
Interaction with geometries/features
The following plugins enable users to interact with overlay data: edit geometries, select areas or features, interact with the time dimension, search features and display information about them.
Edit geometries
Time & elevation
Search & popups
Area/overlay selection
Edit geometries
Allows users to create, draw, edit and/or delete points, lines and polygons.
Plugin Description Maintainer
Leaflet-Geoman
Geometry Management for Leaflet 1.0 and higher. Draw, Edit, Cut, Drag and Snap Layers like Markers, Circles, Rectangles, Polylines, Polygons, LayerGroups, geoJSON, MultiPolygons, MultiLineStrings. Supports holes in polygons, snapping, canvas mode and more. (Demo)
Sumit Kumar
Leaflet.FreeDraw
Zoopla inspired freehand polygon creation using Leaflet.js and D3.
Wildhoney
Leaflet.plotter
leaflet-plotter allows you to create routes using a leaflet powered map. You can click on the mid-points to create a new, draggable point.
Nathan Mahdavi
Leaflet.Editable.Polyline
Editable polylines: move existing points, add new points and split polylines.
Tomo Krajina
Leaflet.draw
Enables drawing features like polylines, polygons, rectangles, circles and markers through a very nice user-friendly interface with icons and hints. Recommended!
Jacob Toye
Leaflet.EditableHandlers
A set of plugins that includes circle editing, measuring tool, and label for polygon sides.
Kartena
Leaflet.StyleEditor
Enables editing the styles of features (lines, polygons, etc) and markers with a GUI.
Dennis Wilhelm
Leaflet.SimpleMarkers
A light-weight Leaflet plugin for adding and deleting markers.
Jared Dominguez
Leaflet.Editable
Lightweight fully customisable and controllable drawing/editing plugin.
Yohan Boniface
Leaflet.Path.Drag
Drag handler and interaction for polygons and polylines (Demo)
Alexander Milevski
Leaflet.Path.Transform
Scale & rotate handler and interaction for polygons and polylines (Demo)
Alexander Milevski
Leaflet.Snap
Enables snapping of draggable markers to polylines and other layers.
Mathieu Leplatre
Leaflet.Clipper
Allows Union, Difference, Xor, and Intersection operations on two polygons. (Demo)
will Farrell
Leaflet.MapPaint
Bitmap painting plugin designed for touch devices.
Antoine Pultier
Leaflet.Storage
Create/update/delete Map, Marker, Polygon, Polyline... and expose them for backend storage with an API.
Yohan Boniface
Leaflet.Pather
L.Pather is a freehand polyline creator that simplifies the polyline for mutability. Requires D3 support.
Wildhoney
Leaflet.Illustrate
Extension for Leaflet.draw enabling users to type annotations directly on maps.
Justin Manley
Leaflet.Pin
Enable attaching of markers to other layers during draw or edit features with Leaflet.Draw.
Konrad Klimczak
L.Control.PaintPolygon
Draw yours polygons with a circle brush like Paint[brush]. Includes turf.js dependencies.
Thibault Coupin
Leaflet-Craft
Extends Leaflet.FreeDraw and gives extended features like Undo-Redo, deleting markers,dynamic area calculation of polygons ,various hooks/events and in-build control bars, etc.
Sagarpreet Chadha
Leaflet.SegmentEdit
An extension to Leaflet.draw to allow editing large polylines one chunk at the time.
Lemaf
Time & elevation
Most data is two-dimensional (latitude and longitude), but some data has more dimensions (altitude and/or time). The following plugins help users navigate these extra dimensions.
Plugin Description Maintainer
Leaflet Topography
A set of tools for calculating and visualizing topographic data (elevation, slope, aspect) at lightning speed. Based on Mapbox RGB Encoded DEM tiles.
Seth Lutske
Leaflet.timelineSlider
Leaflet plugin that creates a customizable timeline slider with user designed functionality. Original implementation of timeline at https://codepen.io/trevanhetzel/pen/rOVrGK.
Sol Vitkin
Leaflet.TimeDimension
Add time dimension capabilities on a Leaflet map. Demos
ICTS SOCIB
Leaflet Time-Slider
The Leaflet Time-Slider enables you to dynamically add and remove Markers on a map by using a JQuery UI slider
Dennis Wilhelm
LeafletPlayback
Play back time-stamped GPS Tracks synchronized to a clock.
Nicholas Hallahan
Leaflet.timeline
Display arbitrary GeoJSON on a map with a timeline slider and play button.
Jonathan Skeate
Leaflet.Elevation
A Leaflet plugin to view interactive height profiles of GeoJSON lines using d3.
Felix Bache
Leaflet.Heightgraph
Inspired by Leaflet.Elevation this Leaflet plugin allows you to view interactive height profiles stored as GeoJSON featuring the handy ability to visualize arbitrary segments (e.g. surface types or steepness categories) with customized colors stored as properties within the GeoJSON itself.
Robin Boldt
Leaflet.hotline
A Leaflet plugin for drawing gradients along polylines.
iosphere
leaflet.TrackPlayBack
A leaflet track-playback plugin, can display and dynamically play tracks. Demo.
linghuam
Leaflet Timeline Control
Unopinionated timeline control that helps you display time series data. Demo.
Michal Zimmermann
Search & popups
Plugins that search for overlays and enhance how to display information about them.
Plugin Description Maintainer
leaflet-fusesearch
A control that provides a panel to search features in a GeoJSON layer using the lightweight fuzzy search Fuse.js
Antoine Riche
Leaflet Search
A control for search Markers/Features location by custom property in LayerGroup/GeoJSON. Support AJAX/JSONP, Autocompletion and 3rd party service
Stefano Cudini
leaflet-custom-searchbox
A google map style search box which includes a side panel slider control.
A.D
Leaflet.Rrose
A Leaflet Plugin for Edge Cases. For use when you want popups on mouseover, not click, and
you need popup tips to reorient as you get close to the edges of your map.
Eric Theise
Leaflet.utfgrid
Provides a utfgrid interaction handler for leaflet a very small footprint.
Dave Leaver
Leaflet.RevealOSM
Very simple but extendable Leaflet plugin to display OSM POIs data on map click.
Yohan Boniface
Leaflet Underneath
Find interesting features near a location using Mapbox Vector Tiles data, to add
interactive functionality to a tile layer with speed and limited bandwidth.
Per Liedman
Leaflet.GeoJSONAutocomplete
Leaflet Autocomplete For Remote Searching with GeoJSON Services.
Yunus Emre Özkaya
L.tagFilterButton
LeafLet marker filtering by tags
Mehmet Aydemir
Leaflet-gplaces-autocomplete
Add google places search into map
Michal Haták
leaflet-responsive-popup
Removes the need to move the map to be able to see the content of the popup.
YaFred
leaflet-popup-modifier
Allows user to edit the contents of a popup, or use the popup to remove its source marker.
Slutske22
Area/overlay selection
These plugins help users select either overlays or areas in the map.
Plugin Description Maintainer
Leaflet.AreaSelect
A fixed positioned, resizable rectangle for selecting an area on the map.
Jonatan Heyman
leaflet-locationfilter
A draggable/resizable rectangle for selecting an area on the map.
Robert Kajic
L.Control.LineStringSelect
Fast LineString(polyline) partial selection tool: select a stretch between two points in a complex path. Demo
Alexander Milevski
Leaflet.FeatureSelect
Use a configurable centerpoint marker to select any geometry type from a GeoJSON layer.
Aaron Ogle
Leaflet GeoJSON Selector
Leaflet Control for selection from GeoJSON feature in an interactive list and map (Demo).
Stefano Cudini
Leaflet.CheapLayerAt
Allows querying which layer is under a screen coordinate (Demo).
Iván Sánchez Ortega,
MazeMap
Leaflet.SelectAreaFeature
Selecting feature layers on a map by drawing an area.
Sandro Pibia
Leaflet-Shades
A draggable and resizable rectangle for selecting an area on a map and creating a gray overlay in unselected areas (Demo)
Mandy Kong
leaflet-lasso
Lasso selection plugin (Demo)
Jan Zak
Leaflet-Select-Polygons
Leaflet-Select-Polygons allows the selection of several polygons and also adjusts the base map view (demo)
Erick S Escalante Olano
Map interaction
New ways to interact with the map itself.
Layer switching controls
Interactive pan/zoom
Bookmarked pan/zoom
Fullscreen
Minimaps & synced maps
Measurement
Mouse coordinates
Events
User interface
Print/export
Geolocation
Layer switching controls
The following plugins enhance or extend L.Control.Layers.
Plugin Description Maintainer
Leaflet.AutoLayers
Automatically pull layers from multiple mapservers and organize/search them with user controlled overlay zIndex management.
Alex Ebadirad
Leaflet.SelectLayers
a Leaflet plugin which adds new control to switch between different layers on the map. New control replaces L.Control.Layers radio button panel with select tag.
vogdb
Leaflet.StyledLayerControl
A Leaflet plugin that implements the management and control of layers by organization into categories or groups.
Davi Custodio
Leaflet.GroupedLayerControl
Leaflet layer control with support for grouping overlays together.
Ishmael Smyrnow
Leaflet Control Order Layers
Adds the ability to change overlay order in the layers control.
Michael Salgado
Leaflet Categorized Layers
Leaflet Control Layers extended for groups of categorized layers
Robbie Trencheny
Leaflet Panel Layers
Leaflet Control Layers extended for group of layers and icons legend
Stefano Cudini
Leaflet.UniformControl
Leaflet layer control with stylable checkboxes and radio buttons.
Chris Calip
Leaflet-IconLayers
Leaflet control that displays base layers as small icons (demo).
Alexander Zverev
Leaflet.LayerTreePlugin
Leaflet control allows to switch layers on and off, display them in a tree-like way (demo).
Alexander Arakelyan
Leaflet.Basemaps
A basemap chooser with a preview image from the tile stack.
Example
Brendan Ward
Leaflet.Control.Layers.Tree
L.Control.Layers extension that supports a Tree structure, both for base and overlay layers. Simple and highly configurable. See demos
Javier Jimenez Shaw
Leaflet.ActiveLayers
Adds new L.Control.ActiveLayers with functionality to get currently active layers on the map.
vogdb
Leaflet.Control.Appearance
Extend of Control.Layers, can control Appearances of Layers - color, opacity and able to remove a overlay layer. Example
Kanahiro Iguchi
Interactive pan/zoom
Change the way the user can interactively move around the map.
Plugin Description Maintainer
Leaflet.Pancontrol
A simple panning control.
Kartena
Leaflet.BoxZoom
A visible, clickable control to perform a box zoom.
Greg Allensworth
L.Control.ZoomBar
An extended version of Leaflet's native Zoom control with Home and Zoom-to-Area buttons. Demo
Elijah Robison
Leaflet.zoomslider
A zoom slider control.
Kartena
Leaflet.zoominfo
A zoom control which displays the current zoom level.
Flávio Carmo
Leaflet.BorderPan
A Leaflet plugin to pan by clicking on map borders.
Sebastián Lara
Leaflet GameController
Interaction handler providing support for gamepads.
Antoine Pultier
Leaflet.twofingerZoom
Interaction handler for touch devices enabling zooming out with a two finger tap.
Adam Ratcliffe
Leaflet.ZoomBox
A lightweight zoom box control: draw a box around the area you want to zoom to. Demo
Brendan Ward
Leaflet LimitZoom
Plugins to limit available zoom levels to a given list, either by
restricting zooming or by interpolating tiles.
Ilya Zverev
Leaflet.DoubleRightClickZoom
Interaction handler enabling zooming out with double right click.
Mike O'Toole
Leaflet.ZoomLabel
A simple zoom label control.
Masashi Takeshita
Leaflet.ZoomPanel
A Zoom Control Panel Of Leaflet. Demo
Shuhua Huang
Bookmarked pan/zoom
Change the way the user is moved around the map, by jumping to predefined/stored places.
Plugin Description Maintainer
Leaflet.viewcenter
A simple control that adds a button to change view and zoom to predefined values in options.
Dariusz Pawlak
leaflet-zoom-min
Adds a button to the zoom control that allows you to zoom to the map minimum zoom level in a single click.
Alan Shaw
Leaflet Navigation Toolbar
Leaflet control for simple back, forward and home navigation.
David C
Leaflet Locationlist
A control to jump between predefined locations and zooms.
Ivan Ignatyev
Leaflet.defaultextent
A control that returns to the original start extent of the map. Similar to the HomeButton widget.
Alex Nguyen
Leaflet.Bookmarks
Control for adding and navigating between user-created bookmarks on the map.
Alexander Milevski
Leaflet.ShowAll
A control that can show a predefined extent while saving the current one so it can be jumped back to.
Mor Yariv
Leaflet.zoomhome
Zoom control with a home button for resetting the view (Demo)
Florian Brucker
Leaflet-History
Track history of map movements and zoom locations similar to a browser.
Chris Scott
Leaflet.RestoreView
Stores and restores map view using localStorage.
Mathieu Leplatre
leaflet-hash
Plugin for persisting map state and browsing history through the URL hash.
Michael Lawrence Evans
leaflet-view-meta
Plugin control that displays and persists map view meta-data, center and boundary coordinates to URL for precise sharing and view reconstruction.
rwev
Fullscreen controls
Allows display of the map in full-screen mode.
Plugin Description Maintainer
Leaflet.fullscreen
A fullscreen button control by Mapbox
Mapbox
leaflet.fullscreen
Another fullscreen button control but for modern browsers, using HTML5 Fullscreen API.
Bruno B
leaflet.zoomfs
A fullscreen button control.
Eli Dupuis
Minimaps & synced maps
Display two maps at once. One of them might be a different size and zoom level, usable as a minimap to aid with navigation.
Plugin Description Maintainer
Leaflet.Sync
Synchronized view of two maps.
Bjørn Sandvik
Leaflet.MiniMap
A small minimap showing the map at a different scale to aid navigation.
Robert Nordan
Leaflet.MagnifyingGlass
Allows you to display a small portion of the map at another zoom level, either at a fixed position or linked to the mouse movement, for a magnifying glass effect.
Benjamin Becquet
Leaflet.layerscontrol-minimap
Extends the default Leaflet layers control with synced minimaps.
Jieter
Leaflet.GlobeMiniMap
Simple minimap control that places a 3D Globe in the corner of your map, centered on the same location as the main map (demo).
Chris Whong
leaflet-clonelayer
Clone Leaflet layers to allow reuse across different maps in the same runtime.
Jieter
Measurement
Allow the user to measure distances or areas.
Plugin Description Maintainer
Leaflet.PolylineMeasure
Measure great-circle distances of simple lines as well as of complex polylines. (Demo 1), (Demo 2), (Demo 3)
PPete
Leaflet.MeasureControl
A simple tool to measure distances on maps (*relies on Leaflet.Draw*).
Makina Corpus
Leaflet.MeasureAreaControl
Control for measuring element's area.
Ondrej Zvara
leaflet-measure
Coordinate, linear, and area measure control for Leaflet maps
LJA GIS
leaflet-graphicscale
Animated graphic scale control (demo).
Erik Escoffier
Leaflet.ScaleFactor
Display a Scale Factor (e.g. 1:50,000) for Leaflet maps (Demo)
Marc Chasse
Leaflet.nauticscale
Display a Nauticscale on Leaflet maps
Johannes Rudolph
Leaflet Measure Path
Show measurements on paths; polylines, polygons and circles currently supported (demo)
Per Liedman / Prominent Edge
Leaflet.LinearMeasurement
Leaflet Linear Measurement plugin that creates polylines with incremental measures along the path. (demo)
New Light Technologies
leaflet-ruler
A simple leaflet plugin to measure true bearing and distance between clicked points. (Demo)
Goker Tanrisever
leaflet-reticle
Leaflet control adding a centering reticle consisting of independently calculated latitude and longitude scales.
rwev
Mouse coordinates
Show the geographical coordinates under the mouse cursor in different ways.
Plugin Description Maintainer
Leaflet.MousePosition
A simple MousePosition control that displays geographic coordinates of the mouse pointer, as it is moved about the map
Ardhi Lukianto
Leaflet.Coordinates
A simple Leaflet plugin viewing the mouse LatLng-coordinates. Also views a marker with coordinate popup on userinput.
Felix Bache
Leaflet Coordinates Control
Captures mouseclick and displays its coordinates with easy way to copy them.
Michal Zimmermann
Leaflet Copy Coordinates Control
Works with Leaflet to capture mouseclicks on a map and display the associated coordinates with an easy way to copy them. (Derived from original work by zimmicz. Forked mainly to provide npm functionality.)
Chaim Krause
Leaflet.NACCoordinates
Displays NAC coordinate of the mouse pointer on mouse move (Demo)
Mahmood Dehghan
Leaflet.mouseCoordinates
Displays the Mouse Coordinate in a Box.
Multiple Formats Are Possible
GPS
UTM
UTMREF / MGRS
QTH
Johannes Rudolph
Leaflet Location Picker
Simple location picker with mini Leaflet map (Demo)
Stefano Cudini
Leaflet.MapCenterCoord
A Leaflet control to display the coordinates of the map center, especially useful on touch/mobile devices. (Doc & demos)
Xisco Guaita
Leaflet.Mapcodes
Displays the Mapcode of the mouse pointer on mouse move (Demo)
Martin Atukunda
Events
These plugins extend Leaflet event handling.
Plugin Description Maintainer
Leaflet.GestureHandling
Brings the basic functionality of Google Maps Gesture Handling into Leaflet. Prevents users from getting trapped on the map when scrolling a long page.
Demo
Andy Marquis
L.Sleep
Avoid unwanted scroll capturing.
Demo
atstp
Leaflet.OverIntent
Adds a new event ``mouseintent``, that differs from ``mouseover`` since it reflects user
intentions to aim a particular layer.
Mathieu Leplatre
Leaflet.AlmostOver
Trigger mouse events when cursor is "almost" over a layer.
Mathieu Leplatre
Leaflet-active-area
This plugin allows you to use a smaller portion of the map as an active area.
All positioning methods (setView, fitBounds, setZoom) will be applied on this portion instead of the all map.
Mappy
Leaflet.ControlledBounds
Inspired by Leaflet-active-area, automatically detects the largest area of the map not covered by any map controls and applies setView, fitBounds, setZoom, getBounds to that area.
Iván Sánchez Ortega,
MazeMap
singleclick
Extend L.Map to fire a singleclick event (demo). Compatible with Leaflet 0.7.x only.
Guillaume Lathoud
singleclick
Extend L.Evented to fire a singleclick event (demo). Compatible with Leaflet 1.0.0-beta1 and greater only.
Iván Sánchez Ortega,
MazeMap
Leaflet.VisualClick
Adds visual feedback when user clicks/taps the map (demo).
Useful when further action is delayed by server requests, or implementation of Leaflet.singleclick.
Or just because it looks cool :)
Only tested with Leaflet 1.0.0-beta1.
Dag Jomar Mersland,
Iván Sánchez Ortega,
MazeMap
Leaflet Touch Helper
Makes it easy to touch vector overlays with thick fingers on a small display by adding a transparent, larger touch surface
Per Liedman / Prominent Edge
Leaflet.ClickTolerance
This plugin allows you to increase the click tolerance of canvas powered layers, making it possible to increase the clickable area of vector layers beyond their visible extent. Useful when your features are difficult to click otherwise.
Geoloep
L.DraggableEnhancer
Modify the default L.Draggable handler (responsible for map panning, ...) to make it work properly if one of the map container's parents has predefined handlers like "event.stopPropagation()' attached to a "mousemove" event for example.
Vincent Dechandon
L.Spotlight
Dynamically highlight features near the mouse cursor with a customizable shape
Isaac Boates
User interface
Buttons, sliders, toolbars, sidebars, and panels.
Plugin Description Maintainer
Leaflet.Control.Custom
Fully customizable Leaflet control panel with HTML element.
Demo
Yiğit Yüce
L.EasyButton
In one line, add a Font Awesome control button with attached click events.
Demo
atstp
Leaflet.contextmenu
A context menu for Leaflet.
Adam Ratcliffe
Leaflet.CountrySelect
Control with menu of all countries, and an event listener that returns
the selected country as a GeoJSON feature (demo)
Anika Halota
Leaflet.GeojsonLayerSwitcher
Allows to navigate between GeoJSON layers, select some, and return selection.
Easy-Mountain
leaflet-sidebar-v2
A responsive, tabbed sidebar with HTML & JS API.
Compatible with old (0.7) and current leaflet.
Norwin Roosen
leaflet-sidebar
A responsive sidebar plugin.
Tobias Bieniek
sidebar-v2
Another responsive sidebar plugin. This time with tabs!
Tobias Bieniek
Leaflet.Messagebox
Display a temporary text message on a map (Demo)
Martijn Grendelman
Leaflet.TileLegend
Create illustrated and interactive legends for your background layers.
Yohan Boniface
Leaflet.toolbar
Flexible, extensible toolbars for Leaflet maps. View an example here.
Justin Manley
L.Credits
A simple, attractive, interactive control to put your logo and link in the corner of your map.
Greg Allensworth
Leaflet.Spin
Shows a nice spinner on the map using Spin.js,
for asynchronous data load, like with Leaflet Ajax.
Mathieu Leplatre
Leaflet Weather
A Leaflet plugin for adding a weather widget to the map using OpenWeatherMap API (Demo).
Osk
Leaflet ResizableControl
A Leaflet plugin to add a resizable and scrollable control to the map (Demo).
David Albrecht
Leaflet.Slider
Adds a slider that calls a function every time its input is changed (Demo)
EPP
leaflet-control-window
Creates modal/modeless, draggable, responsive, customisable window in your map.
mapshakers/
Filip Zavadil
Leaflet.CoordinatedImagePreview
Displays coordinated images in map bounds.
Yunus Emre Özkaya
Leaflet.SlideMenu
A simple slide menu for Leaflet.
Masashi Takeshita
Leaflet.Dialog
A simple resizable, movable, customizable dialog box. (Demo)
NBT Solutions
Leaflet.BootstrapZoom
Overrides default zoom control buttons with Twitter Bootstrap styled ones
Alexey Gusev
Leaflet.CondensedAttribution
An attribution plugin that makes long attributes visible on hover
Motion Intelligence GmbH
Leaflet.HtmlLegend
A simple Leaflet plugin for creating legends using HTML elements. Demo.
Kaveh Karimi
leaflet-blurred-location
A Leaflet-based interface for selecting a "blurred" or low-resolution location, to preserve privacy. Demo.
Public Lab
Leaflet.Control.Resizer
Control to resize your map on the right or bottom side. See demo
Javier Jimenez Shaw
leaflet-blurred-location-display
Cleverly dispays "blurred" locations using color-coded heatmap and color-coded markers while fetching data from remote API Demo.
Public Lab
Leaflet.Legend
Display legend symbols and toggle overlays(Demo).
JJ Jin
Print/export
Print or export your map.
Plugin Description Maintainer
Leaflet.print
Implements the Mapfish print protocol allowing a Leaflet map to be printed using either the Mapfish or GeoServer print module.
Adam Ratcliffe
Leaflet-image
Export images out of Leaflet maps without a server component, by using Canvas and CORS.
Tom MacWright
Leaflet-easyPrint
A simple plugin which adds an icon to print your Leaflet map.
Rowan Winsemius
leaflet.browser.print
Allows users to print full page map directly from the browser.
Igor Vladyka
Leaflet.BigImage
Allows users to download an image with a scaled-up version of the visible map.
Vasyl Pasichnyk (Oswald)
Geolocation
Plugins that extend Leaflet’s geolocation capabilities.
Plugin Description Maintainer
L.LocationShare
Allow users to send and receive a marker with a message.
Demo
atstp
Leaflet.Locate
A customizable locate control.
Dominik Moritz
Leaflet Control Compass
A leaflet control plugin to build a simple rotating compass
Stefano Cudini
Leaflet.AccuratePosition
Leaflet.AccuratePosition aims to provide a desired device location accuracy.
Michael Schmidt-Voigt
Miscellaneous
Geoprocessing
The following plugins perform several sorts of geoprocessing (mathematical and topological operations on points, lines and polygons).
Plugin Description Maintainer
Proj4Leaflet
Proj4js integration plugin, allowing you to use all kinds of weird projections in Leaflet.
Kartena
arc.js
A JS library for drawing great circle routes that can be used with Leaflet.
Dane Springmeyer
Leaflet-pip
Simple point in polygon calculation using point-in-polygon.
Tom MacWright
Leaflet.GeometryUtil
A collection of utilities for Leaflet geometries (linear referencing, etc.)
Benjamin Becquet, Mathieu Leplatre
Greiner-Hormann
Greiner-Hormann algorithm for polygon clipping and binary operations, adapted for use with Leaflet.
Alexander Milevski
Leaflet.buffer
Enables buffering of shapes drawn with Leaflet.draw.
Jonathan Skeate
Leaflet.LayerIndex
An efficient spatial index for features and layers, using RTree.js.
Mathieu Leplatre
leaflet-spatial-prefix-tree
Leaflet plugin for visualizing spatial prefix trees, quadtree and geohash. See demo
Mapzen
Leaflet.UTM
A simple way to convert L.LatLng into UTM (WGS84) and vice versa. UTM string format easily configurable. It does not depend on any other plugin or 3rd party. See demo
Javier Jimenez Shaw
Leaflet.Antimeridian
A plugin to allow polygons and polylines to naturally draw across the Antimeridian (or the Internation Date Line) instead of always wrapping across the Greenwich meridian. (Demo)
Brianna Landon
Routing
The following plugins use external services to calculate driving or walking routes.
Plugin Description Maintainer
Leaflet Routing Machine
Control for route search with via points, displaying itinerary and alternative routes. Uses
OSRM by default, but also supports
GraphHopper,
Mapbox Directions API and more.
Per Liedman
Leaflet.Routing
Leaflet controller and interface for routing paths between waypoints using any user provided routing service.
Norwegian Trekking Association
Route360°
Route360° visualizes the area which is reachable from a set of starting points in a given time and gives detailed routing information (walk, bike, car and public transportation) to targets.
Motion Intelligence GmbH
Leaflet RouteBoxer
This is a Leaflet implementation of the RouteBoxer Class from Google. The Leaflet RouteBoxer class generates a set of L.LatLngBounds objects that are guaranteed to cover every point within a specified distance of a path.
Nearest!
Leaflet.Routing.Amap
Control for route search using AMap(高德地图) as a backend. Supports the Chinese BD09 and GCJ02 coordinate systems, colourful lines, and turn-by-turn popups.
Jack Good
Leaflet TripGo routing
The TripGo mobility platform lets you create apps providing seamless and personalised door-to-door trips using any public, private or commercial mode of transport.
TripGo Leaflet's plugin motivation is to provide an easy way to include its functionality in an external platform.
SkedGo
leaflet.TravelNotes
Editable markers and routing engine for leaflet. The routing engine have plugins for Mapbox, GraphHopper and OSRM and can be used for car, bike or pedestrian route. Demo.
Christian Guyette
Leaflet.Reachability
Show areas of reachability based on time or distance for different modes of travel using the openrouteservice isochrones API.
Trafford Data Lab
Geocoding
External services that transform an address or the name of a place into latitude and longitude (or vice versa).
Plugin Description Maintainer
Leaflet GeoSearch
Small geocoding plugin that brings address searching/lookup (aka geosearching) to Leaflet.
Comes with support for Google, OpenStreetMap Nominatim, Bing, Esri and Nokia. Easily extensible.
Stephan Meijer
Leaflet Control OSM Geocoder
A simple geocoder that uses OpenstreetMap Nominatim to locate places by address.
Karsten Hinz
Leaflet Control Bing Geocoder
A simple geocoder control that uses Bing to locate places.
Samuel Piquet
Leaflet Control Geocoder
A clean and extensible control for both geocoding and reverse geocoding. Builtin support for
Nominatim, Bing, MapQuest, Mapbox, What3Words, Google and Photon. Easy to extend to other providers.
Per Liedman
Leaflet GeoIP Locator
A simple plugin that allows finding the approximate location of IP addresses and map centering on said location.
Jakub Dostal
Esri Leaflet Geocoder
A geocoding control with suggestions powered by the ArcGIS Online geocoder.
Patrick Arlt
Leaflet.OpenCage.Search
A search plugin plugin that uses OpenCage Data's geocoding API.
The OpenCage team
Leaflet.Geonames
A lightweight geocoding control powered by GeoNames. Demo
Brendan Ward
Pelias Leaflet Plugin
A geocoding control using Geocode Earth or any hosted service powered by the Pelias Geocoder API. Demo
Lou Huang
Leaflet LocationIQ Geocoder
A plugin that adds the ability to search (geocode) a Leaflet-powered map using LocationIQ.
LocationIQ
L.Highlight
A plugin that adds the ability to quick highlighting streets and areas using Nominatim.
Maciej Kowalski
Plugin collections
Sets of plugins that span several categories.
Plugin developers: please keep future plugins in individual repositories.
Plugin Description Maintainer
Plugins by Pavel Shramov
A set of plugins for: GPX, KML, TOPOJSON layers; Bing tile layer; Yandex layers (implemented with their APIs), and permalink control.
Pavel Shramov, Bruno B
Spectrum4Leaflet
Tools for using Spectrum Spatial Server services with leaflet. This plugin supports: map service, tile service, feature service. It has layers, legend and feature controls.
SVoyt, ESTI MAP
MapBBCode-related leaflet plugins
Seven plugins for various features, independent of the MapBBCode library.
From circular and popup icons to buttons, layer switcher, better search and attribution.
Ilya Zverev
Integration
Frameworks & build systems
Ease your development integrating Leaflet into a development framework or automating some of the javascript/CSS work for complex applications.
Plugin Description Maintainer
leaflet-defaulticon-compatibility
Retrieve all Leaflet Default Icon options from CSS, in particular all icon images URL's, to improve compatibility with bundlers and frameworks that modify URL's in CSS. In particular for webpack (with style-, css-, file- and url-loader's), Rails Asset Pipeline and Django pipeline. Should solve all use cases linked to issue Leaflet/Leaflet #4968. Demo with webpack (and without this plugin).
ghybs
Leaflet Yeoman Generator
Yeoman generator that scaffolds out a basic Leaflet map application.
Moritz Klack
react-leaflet
React components for Leaflet maps.
Paul Le Cam
Leaflet.CSS
Add the main Leaflet CSS files (or any css) from within JavaScript, be gone conditional comments.
Calvin Metcalf
Leaflet LayerConfig
Provide a json file or service response with a configuration of layers and markers to automatically set up a Leaflet client.
Alexander Nossum
Leaflet.i18n
Internationalization for Leaflet plugins.
Yohan Boniface
Leaflet ZoomLevel CSS Class
Add zoom level css class to map element for easy style updates based on zoom levels
Dag Jomar Mersland
famous-map
Integrate Leaflet in applications made with the famo.us web framework.
Hein Rutjes
ngx-leaflet
Leaflet components and extensions for Angular.io.
Asymmetrik, Ltd.
Angular Leaflet directive
Integrate Leaflet in applications made with the AngularJS web framework.
David Rubert
Tiny Leaflet Directive
Tiny LeafletJS map directive for your AngularJS apps.
Martin Tesař
Leaflet Popup Angular
Use AngularJS in your Leaflet popups. Extends the built-in L.popup.
Grant Harris
Leaflet Control Angular
Insert and use Angularized HTML code in your Leaflet map as a Leaflet control.
Grant Harris
YAGA leaflet-ng2
Granular integration into Angular2/4. demo .
YAGA Development Team
Integrate Leaflet in applications made with the Polymer >= 1.0 web component framework.
Hendrik Brummermann,
Prateek Saxena
Leaflet map component
Integrate Leaflet in applications made with the Polymer 0.5 web framework.
Prateek Saxena
Leaflet.jsf
Comprehensive Java Server Faces(JSF) Component/Wrapper for Leaflet.
Terra SI LLC.
M.Çağrı Tepebaşılı
JSF2Leaf
A JavaServer Faces wrapper for Leaflet.
Leonardo Ciocari
ember-leaflet
Easy and declarative mapping for Ember.js using Leaflet.
Miguel Andrade
meteor-leaflet
Provides a Meteor package to quickly build real-time cross-platform map apps.
Bevan Hunt
L.Control.BootstrapModal
Trigger a Bootstrap modal using an on-map control.
Greg Allensworth
L.Control.jQueryDialog
Trigger a jQuery UI dialog/modal using an on-map control.
Greg Allensworth
V-Leaflet
Use Leaflet as a component for the Vaadin Java/HTML framework.
Matti Tahvonen
gwty-leaflet
A Java/GWT JsInterop wrapper for Leaflet. It allows using Leaflet in Java the same way as from a javascript script.
Zakaria Amine
Leaflet Map Builder
It populates a leaflet map from a configuration object, can also creates zoom, layers, attribution and draw controls. demo .
Gherardo Varando
Vue2Leaflet
Vue2Leaflet is a JavaScript library for the Vue.js framework that wraps Leaflet, making it easy to create reactive maps.
Mickaël KoRiGaN
3rd party integration
The following plugins integrate Leaflet into third party services or websites.
Plugin Description Maintainer
Leaflet.EditInOSM
Add a control with links to open the current map view on main OSM editors.
Yohan Boniface
Maps Marker Pro
A WordPress plugin that enables users to pin, organize and share their favorite places and tracks through their WordPress powered site.
Robert Harm
WordPress Leaflet Map
Interactive and flexible shortcode to create multiple maps in posts and pages,
and to add multiple markers on those maps.
Benjamin J DeLong
Maptiks
Analytics platform for web maps. Track map activities, layer load times, marker clicks, and more!
Sparkgeo
Leaflet for Drupal
A Drupal (7.x and 8.x) module to integrate Leaflet maps in your Drupal site. Contains a field formatter to show a map for fields containing geospatial data, Views integration to plot data on a map, and a lightweight and easy to use API. Currently used by over 10.000 sites.
Marzee Labs, and more maintainers listed at drupal.org
Leaflet Easymap
Include a map in your HTML page without one line of programming. A data-driven Javascript module.
Klaus Stein
WP MapIt
Easy to use, WordPress Map plugin based on Open Street Map and Leaflet with custom markers images, descriptions and links.
Chandni Patel
Map Block Leaflet
A Block for the New WordPress Block Editor based on Leaflet, it allow add and custom maps from a visual interface.
Jesús Olazagoitia
ABP Usermap MyBB
A plugin for MyBB creating a map of users based on Open Street Map and Leaflet, with customisable popup and markers
CrazyCat
Leaflet Extensions for Joomla! (3.x)
Agosm:
Joomla Module not only for showing Markers on a OpenStreetMap Map.
Gibhub
Joomla Extension Directory
Aggpxtrack:
Joomla Custom Field for dispaying a GPX Track on a Map - you can choose an OpenStreetMap or GoogleMaps. With much options. For example: One option is an elevation profil.
Gibhub
Joomla Extension Directory
Agosmmapwithmarker:
Custom field for show a map with a marker in frond end - always the right card for the content. You can enter the address in backend.
Gibhub
Joomla Extension Directory
Astrid Günther
Leaflet.Facebook
Simple plugin for adding Facebook like button as a control.
Marcin Wasilewski
WP-Trip-Summary
A WordPress trip summary plugin to help travel bloggers manage and display structured information about their train rides and biking or hiking trips.
Alexandru Boia
Develop your own
Leaflet keeps it simple. If you can think of a feature that is not required by all Leaflet users, and you can write the JavaScript code in a reusable way, you’ve got yourself a Leaflet plugin already.
There are no hard requirements on how to create your own plugin, but all developers are encouraged to read the recommendations in the plugin guide.
Once your plugin is ready, you can submit it to this list: just send a pull request with the addition to /docs/plugins.md to our GitHub repository.
© 2010–2021 Vladimir Agafonkin. Maps © OpenStreetMap contributors.