---
layout: default
title: Plugins
---
## Notable 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 lots of nice plugins to choose from.
---
### Layers and Overlays
### Services, Providers and Formats
Plugin |
Description |
Maintainer |
Proj4Leaflet
|
Proj4js integration plugin, allowing you to use all kinds of weird projections in Leaflet.
|
Kartena
|
Plugins by Pavel Shramov
|
A set of plugins for: GPX, KML layers; Bing tile layer; Google and Yandex layers (implemented with their APIs), Permalink and alternative Scale controls.
|
Pavel Shramov
|
cartodb-leaflet
|
Official CartoDB plugin for Leaflet.
|
Vizzuality
|
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-tilejson
|
Adds support for the TileJSON specification to Leaflet.
|
Per Liedman, Kartena
|
leaflet-providers
|
Contains configurations for various free tile providers — OSM, OpenCycleMap, MapQuest, Mapbox Streets, Stamen, Esri, etc.
|
Stefan Seelmann
|
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 Control Bing Geocoder
|
A simple geocoder control that uses Bing to locate places.
|
Samuel Piquet
|
Leaflet.encoded
|
Use encoded polylines in Leaflet.
|
Jieter
|
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 Ajax
|
Add GeoJSON data via ajax or jsonp.
|
Calvin Metcalf
|
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
|
### Controls and Interaction
Plugin |
Description |
Maintainer |
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.utfgrid
|
Provides a utfgrid interaction handler for leaflet a very small footprint.
|
Dave Leaver
|
Leaflet.EditableHandlers
|
A set of plugins that includes circle editing, measuring tool, and label for polygon sides.
|
Kartena
|
Leaflet.Pancontrol
|
A simple panning control.
|
Kartena
|
Leaflet.zoomslider
|
A zoom slider control.
|
Kartena
|
Leaflet.Locate
|
A customizable locate control.
|
Dominik Moritz
|
leaflet.zoomfs
|
A fullscreen button control.
|
Eli Dupuis
|
leaflet.fullscreen
|
Another fullscreen button control but for modern browsers, using HTML5 Fullscreen API.
|
Bruno B
|
Leaflet GeoSearch
|
Small plugin that brings address searching/lookup (aka geosearching) to Leaflet.
Comes with support for Google, Bing, Esri and Openlayers. (easy extendible)
|
Stephan Meijer
|
Leaflet Control OSM Geocoder
|
A simple geocoder that uses the OpenstreetMap gecoder Nominatim to locate places.
|
Karsten Hinz
|
leaflet-search
|
Simple Leaflet Control for searching markers by attribute.
|
Stefano Cudini
|
leaflet-locationfilter
|
A draggable/resizable rectangle for selecting an area on the map.
|
Robert Kajic
|
Leaflet.MiniMap
|
A small minimap showing the map at a different scale to aid navigation.
|
Robert Nordan
|
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.EditInOSM
|
Add a control with links to open the current map view on main OSM editors.
|
Yohan Boniface
|
Leaflet.Spin
|
Shows a nice spinner on the map using Spin.js,
for asynchronous data load, like with Leaflet Ajax.
|
Mathieu Leplatre
|
Leaflet.RestoreView
|
Stores and restores map view using localStorage.
|
Mathieu Leplatre
|
Leaflet.FileLayer
|
Loads files (GeoJSON, GPX, KML) into the map using the HTML5 FileReader API (i.e. locally without server).
|
Mathieu Leplatre
|
Leaflet.Snap
|
Enables snapping of draggable markers to polylines and other layers.
|
Mathieu Leplatre
|
### Other Plugins and Libraries
To submit your own Leaflet plugin to this list, just send a pull request with the addition to Leaflet repo's [gh-pages branch](https://github.com/Leaflet/Leaflet/tree/gh-pages) (`plugins.md` file).