folium
Make beautiful maps with Leaflet.js & Python
Decision gist · record as of 2026-08-14
Yes. folium is production-stable, actively maintained, has no known vulnerabilities, and installs with minimal friction. It's the standard choice for Python developers who need interactive web maps without learning JavaScript or deploying a mapping server. Use it if you're working with geographic data in Python and want to visualize it interactively.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low install friction with a pure-Python wheel and five common runtime dependencies.
- The project is actively maintained with recent commits and has been stable since its early releases.
License · maintenance · safety
MIT (permissive) — MIT license is permissive; you can use, modify, and distribute folium freely in commercial and private projects with minimal restrictions.
last release 2025-06-16 (424 days) · last repo commit 2026-08-14 · 7,396 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 7,186,642 downloads/mo, #1,773 on PyPI
Alternatives
Verify before relying
pip install folium
import folium
m = folium.Map(location=[0, 0], zoom_start=13)
m.save('map.html')- Whether folium's map rendering works offline or requires internet access for tile providers
- Performance characteristics when handling large GeoJSON datasets or many markers
- Specific coordinate examples and typical zoom levels for common use cases
What it is and what it does
folium is a Python library that bridges data analysis and web mapping by wrapping Leaflet.js, a popular JavaScript mapping library. You write Python code to define map features—markers, polygons, popups, layers—and folium generates interactive HTML maps that can be embedded in web pages, Jupyter notebooks, or saved as standalone files. The library integrates with the Python data ecosystem through dependencies like numpy and jinja2, and uses xyzservices to access basemap tile providers.
Typical workflows involve loading geographic data in Python, processing it with standard tools, then using folium to visualize the results as an interactive web map. The library handles the translation from Python objects to Leaflet.js configuration, so you don't write JavaScript directly. It's designed for exploratory analysis, dashboard building, and sharing geographic insights in a format that works in any web browser.
Use it for
- Visualize GPS traces, sensor locations, or field survey points on an interactive map in a Jupyter notebook
- Build a web dashboard showing real-time or historical geographic data with markers, heatmaps, and layer controls
- Create choropleth maps from GeoJSON boundaries and pandas DataFrames to show regional statistics
- Generate static map images or interactive HTML files for reports, presentations, or web embedding
- Prototype geographic applications before committing to a full mapping framework
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
folium is production-stable, actively maintained, has no known vulnerabilities, and installs with minimal friction. It's the standard choice for Python developers who need interactive web maps without learning JavaScript or deploying a mapping server. Use it if you're working with geographic data in Python and want to visualize it interactively.
Install
folium on PyPI
Before you install
Low install friction with a pure-Python wheel and five common runtime dependencies. The project is actively maintained with recent commits and has been stable since its early releases.
License in practice
MIT license is permissive; you can use, modify, and distribute folium freely in commercial and private projects with minimal restrictions.
Quickstart
pip install folium
import folium
m = folium.Map(location=[0, 0], zoom_start=13)
m.save('map.html')
Verify before relying
- Whether folium's map rendering works offline or requires internet access for tile providers
- Performance characteristics when handling large GeoJSON datasets or many markers
- Specific coordinate examples and typical zoom levels for common use cases
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 5 packagesbrancajinja2numpyrequestsxyzservices |
| Maintenance | Actively maintained 424 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 7,186,642 / month, #1,773 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9Topic :: Scientific/Engineering :: GISTopic :: Scientific/Engineering :: Visualization |
Evidence: folium-0.20.0-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “leaflet.js python wrapper”
- foliumfolium builds interactive web maps by combining Python data…
- jupyter-leafletjupyter-leaflet provides interactive map widgets for Jupyter…
- dbs3-pycurlProvides a Python client wrapper around pycurl for making HTTP…
Give your agent the search over MCP, or paste the wish link into any chat.
More Visualization packages
matplotlib creates static, animated, and interactive visualizations in Python, producing publication-quality figures in multiple formats for scripts, shells, web servers, and graphical interfaces.
Install it if you need to visualize data, generate publication-quality figures, or embed plots in applications.
ContourPy calculates contours of 2D quadrilateral grids using C++11 algorithms wrapped in Python, offering serial and multithreaded implementations without requiring Matplotlib as a dependency.
Plotly is an interactive, browser-based graphing library that creates charts and visualizations from Python, rendering them as HTML that can be viewed in Jupyter notebooks, standalone files, or web applications.
Generates DOT language source code for graph structures and renders them using the Graphviz graph drawing software installed on your system.
Install it if you need to generate or render graphs from Python.
Streamlit transforms Python scripts into interactive web applications with minimal code, enabling rapid development of data dashboards, reports, and chat interfaces without requiring web development expertise.
Leather is a lightweight Python charting library for quick, no-frills data visualization. It generates charts without requiring perfect styling or extensive configuration.
See also branca · leafmap · streamlit-folium · jupyter-leaflet · XMind · highcharts-maps · ipyleaflet · django-leaflet · Cartopy · splot