Put points on a map. CSV-driven, clustered, mobile-ready, filterable.
Switch branches/tags
Nothing to show
Clone or download
Latest commit f54d6f6 Apr 21, 2016
Type Name Latest commit message Commit time
Failed to load latest commit information.
css styling Jun 20, 2013
data cluster options Jun 19, 2013
img typeahead search Jun 19, 2013
js autopan to avoid searchbar overlap Jun 21, 2013
.gitignore ignore data Jun 19, 2013
README.md Update README.md Apr 21, 2016
config.js.template opacity Jun 20, 2013
index.html styling Jun 20, 2013


Simple Leaflet map template for putting points on a map.



  • Data is in tabular delimited-text (csv, etc.) with two required columns: lat and lng
  • Points are plotted on full-screen Leaflet map
  • Point markers are clustered dynamically based on zoom level.
  • Clicking on a point cluster will zoom into the extent of the underlying features.
  • Hovering on the point will display the name.
  • Clicking will display a popup with columns/properties displayed as an html table.
  • Full text filtering with typeahead
  • Completely client-side javascript with all dependencies included or linked via CDN


Download, copy the template and load index.html in a browser to confirm that everything works

git clone https://github.com/perrygeo/leaflet-simple-csv.git
cd leaflet-simple-csv
cp config.js.template config.js
open index.html

Then modify config.js and data/data.csv according to your needs.

Some browsers do not allow XMLHttpRequests with the file:// protocol so you'll need to serve it with a web server. For local development, you can use python

$ python -m SimpleHTTPServer
Serving HTTP on port 8000 ...

Then navigate to http://localhost:8000 instead.

Thanks to...