# python-visualization/folium

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/python-visualization-folium).**

7,372 stars · 2,260 forks · Python · NOASSERTION

## Links

- GitHub: https://github.com/python-visualization/folium
- Homepage: https://python-visualization.github.io/folium/
- awesome-repositories: https://awesome-repositories.com/repository/python-visualization-folium.md

## Topics

`data-science` `data-visualization` `javascript` `maps` `python`

## Description

Folium is a Python library that builds interactive Leaflet.js maps directly from Python data structures, enabling geographic data visualization in Jupyter notebooks or as standalone HTML pages. It creates maps centered on given coordinates with configurable zoom, tiles, and dimensions, and supports embedding those maps inside web routes for serving in browsers.

The library provides a comprehensive set of tools for data-driven map creation, including choropleth maps that bind tabular data to geographic geometries, colormap application to markers and polygons, and GeoJSON data overlay and visualization. It offers interactive marker placement with popups and tooltips, shape drawing for circles, polygons, polylines, and rectangles, and layer grouping for toggling visibility. Additional capabilities include marker clustering, tile set switching, custom tile provider usage, and the ability to inject custom JavaScript or CSS into the map's HTML output.

Folium supports a range of map interactions and visual enhancements, such as custom JavaScript event handlers, polygon editing tools, location search via geocoding, and fullscreen mode toggling. It can overlay georeferenced images, display animated polylines, and arrange multiple maps in a grid layout for comparative viewing. The library is installed via standard Python package management and integrates with Jupyter notebooks for inline map rendering.

## Tags

### Graphics & Multimedia

- [Interactive Map Generations](https://awesome-repositories.com/f/graphics-multimedia/interactive-map-generations.md) — Builds interactive Leaflet.js maps directly from Python data structures for notebooks or web pages. ([source](https://python-visualization.github.io/folium/latest/_sources/index.rst.txt))
- [Base Map Creation](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/geospatial-visualizations/map-tile-configurations/base-map-creation.md) — Creates interactive Leaflet maps centered on given coordinates with configurable zoom, tiles, and dimensions. ([source](https://python-visualization.github.io/folium/latest/reference.html))
- [Interactive Map Visualizations](https://awesome-repositories.com/f/graphics-multimedia/interactive-map-visualizations.md) — Generates a Leaflet.js map centered on given coordinates for notebooks or standalone HTML. ([source](https://python-visualization.github.io/folium/latest/getting_started.html))
- [Shape Drawing](https://awesome-repositories.com/f/graphics-multimedia/graphics-and-media/shape-drawing.md) — Places polylines, polygons, rectangles, circles, and circle markers on the map with customizable styling. ([source](https://python-visualization.github.io/folium/latest/reference.html))
- [Map](https://awesome-repositories.com/f/graphics-multimedia/graphics-and-media/shape-drawing/map.md) — Renders circles, polygons, polylines, and rectangles on a map to highlight areas or paths. ([source](https://python-visualization.github.io/folium/latest/user_guide.html))
- [Map Vector Lines](https://awesome-repositories.com/f/graphics-multimedia/graphics-and-media/shape-drawing/map-vector-lines.md) — Overlays polyline shapes such as trails or roads onto a map to highlight linear features. ([source](https://python-visualization.github.io/folium/latest/getting_started.html))
- [Polygon Drawing](https://awesome-repositories.com/f/graphics-multimedia/graphics-and-media/shape-drawing/polygon-drawing.md) — Creates polygon shapes on the map by connecting a list of latitude/longitude points in order. ([source](https://python-visualization.github.io/folium/latest/advanced_guide.html))
- [Map Layer Groupings](https://awesome-repositories.com/f/graphics-multimedia/graphics-and-media/vector-graphics-editors/layer-management/component-layer-trees/layer-grouping-bands/map-layer-groupings.md) — Organizes markers and shapes into named groups that users can toggle on and off with a layer control. ([source](https://python-visualization.github.io/folium/latest/getting_started.html))
- [Custom Tile Provider Support](https://awesome-repositories.com/f/graphics-multimedia/visualization-mapping/mapping-libraries/map-tile-serving/custom-tile-provider-support.md) — Adds a tile layer from built-in providers or a custom URL to display map imagery at multiple zoom levels. ([source](https://python-visualization.github.io/folium/latest/reference.html))

### Part of an Awesome List

- [Interactive GeoJSON Layers](https://awesome-repositories.com/f/awesome-lists/devtools/map-rendering-engines/geojson-renderers/interactive-geojson-layers.md) — Loads geographic data from a URL, file, or dictionary and renders it as a map layer. ([source](https://python-visualization.github.io/folium/latest/getting_started.html))
- [Colormap Applications](https://awesome-repositories.com/f/awesome-lists/data/heatmap-visualization/colormap-driven-heatmaps/colormap-applications.md) — Applies continuous color scales to markers, polygons, and choropleths based on numeric values. ([source](https://python-visualization.github.io/folium/latest/advanced_guide.html))
- [Geographical Tools](https://awesome-repositories.com/f/awesome-lists/data/geographical-tools.md) — Interactive map visualization using Leaflet.js.
- [Geospatial Analysis](https://awesome-repositories.com/f/awesome-lists/data/geospatial-analysis.md) — Python interface for creating interactive Leaflet.js maps.
- [Visualization Frameworks](https://awesome-repositories.com/f/awesome-lists/devtools/visualization-frameworks.md) — Python interface for Leaflet.js mapping.

### Data & Databases

- [Choropleth Maps](https://awesome-repositories.com/f/data-databases/choropleth-maps.md) — Binds tabular data to geographic geometries and colors regions based on values. ([source](https://python-visualization.github.io/folium/latest/getting_started.html))
- [Extended Map Layer Capabilities](https://awesome-repositories.com/f/data-databases/data-mapping-utilities/data-dependency-visualizers/data-mapping-visualizers/map-layer-substitutions/extended-map-layer-capabilities.md) — Overlays raster tiles, vector shapes, or GeoJSON data onto a base map for multi-layered displays. ([source](https://python-visualization.github.io/folium/latest/user_guide.html))
- [Geographic Data Mapping](https://awesome-repositories.com/f/data-databases/data-retrieval/geographic-data-mapping.md) — Creates interactive Leaflet.js maps from Python data for geographic information visualization. ([source](https://cdn.jsdelivr.net/gh/python-visualization/folium@main/README.md))
- [Choropleth Data Bindings](https://awesome-repositories.com/f/data-databases/data-retrieval/geographic-data-mapping/choropleth-data-bindings.md) — Associates geographic data with map regions to create choropleth visualizations. ([source](https://python-visualization.github.io/folium/latest/))
- [GeoJSON Data Bindings](https://awesome-repositories.com/f/data-databases/geojson-processing/geojson-data-bindings.md) — Colors geographic features based on columnar data using a color scale and configurable binning. ([source](https://python-visualization.github.io/folium/latest/reference.html))

### Mobile Development

- [Notebook Map Embeds](https://awesome-repositories.com/f/mobile-development/interactive-map-embeds/notebook-map-embeds.md) — Renders interactive maps directly inside Jupyter notebook cells without external hosting. ([source](https://cdn.jsdelivr.net/gh/python-visualization/folium@main/README.md))
- [Markers with Popups](https://awesome-repositories.com/f/mobile-development/marker-interaction/markers-with-popups.md) — Places rich vector, raster, or HTML markers on a map that users can click or hover to explore. ([source](https://python-visualization.github.io/folium/latest/))

### Web Development

- [Map Data Overlays](https://awesome-repositories.com/f/web-development/data-mapping/map-data-overlays.md) — Adds markers, choropleths, and other data-driven layers on top of a base map. ([source](https://cdn.jsdelivr.net/gh/python-visualization/folium@main/README.md))
- [Image Overlays](https://awesome-repositories.com/f/web-development/data-mapping/map-data-overlays/mobile-map-overlays/image-overlays.md) — Displays a single image over specified geographic bounds, accepting file paths, URLs, or array data. ([source](https://python-visualization.github.io/folium/latest/reference.html))

### DevOps & Infrastructure

- [Map Layer Groups](https://awesome-repositories.com/f/devops-infrastructure/container-image-layering/feature-layer-organization/map-layer-groups.md) — Groups related map layers into collapsible subgroups for toggling visibility via a layer control. ([source](https://python-visualization.github.io/folium/latest/reference.html))
- [Map Tile Source Switching](https://awesome-repositories.com/f/devops-infrastructure/map-tile-hosting/map-tile-source-switching.md) — Selects from built-in tile sets or loads custom tile sources to change the map's visual style. ([source](https://python-visualization.github.io/folium/latest/))

### User Interface & Experience

- [Map Marker](https://awesome-repositories.com/f/user-interface-experience/icon-styling/map-marker.md) — Replaces default marker icons with styled icons using Font Awesome symbols, colors, and shapes. ([source](https://python-visualization.github.io/folium/latest/reference.html))
- [Map Display Options](https://awesome-repositories.com/f/user-interface-experience/map-display-options.md) — Adjusts the map's zoom level, panning limits, and visible UI elements like the scale bar. ([source](https://python-visualization.github.io/folium/latest/user_guide.html))
- [Marker Clustering](https://awesome-repositories.com/f/user-interface-experience/map-marker-managers/marker-clustering.md) — Groups overlapping markers into clusters that expand as the user zooms in for cleaner display. ([source](https://python-visualization.github.io/folium/latest/reference.html))
