H3
by Uber Technologies (open-source project) · Library · also known as Uber H3, h3-py, h3-js
Hexagonal hierarchical geospatial indexing system from Uber with a C core and bindings for Python, JavaScript, Java and SQL engines
Overview
H3 is an open-source geospatial indexing system created at Uber that partitions the globe into hexagonal cells at sixteen resolutions, each identified by a 64-bit integer. The C library converts coordinates to cell indexes and back, traverses parents and children across resolutions, finds neighbours and rings, fills polygons with cells and computes distances, which makes aggregation, binning and spatial joins fast and uniform compared with irregular administrative units. Official and community bindings exist for Python, JavaScript, Java, Go, Rust, R and database engines such as DuckDB, PostgreSQL (h3-pg) and BigQuery. Typical uses are density maps, ride or listing demand grids, and feature engineering for spatial models. Hexagons cannot nest exactly, so hierarchy is approximate, cell areas vary slightly across the globe, and H3 is an index rather than a geometry library, so it complements rather than replaces PostGIS or GeoPandas.
Capabilities
- Point to cell indexing at 16 resolutions
- Hierarchy traversal (parent, children, compact/uncompact)
- Neighbour rings and grid distance
- Polygon fill and cell boundary geometry
- Bindings for Python, JavaScript, Java, Go, Rust, R and SQL engines
- Compact 64-bit identifiers suited to joins and aggregation
Typical workflows
- Bin property listings into resolution-9 hexagons and map median prices
- Join two datasets on H3 cells instead of running polygon intersections
Strengths
- Apache-2.0 and dependency-free C core
- Uniform neighbourhoods simplify spatial statistics
- Wide language and database support
Limitations
- Approximate hierarchy; children do not nest exactly
- Cell area and shape distortion vary by location
- Not a geometry or projection library
Prerequisites
- A binding for your language or database
Who it is for
- Data scientists doing spatial aggregation
- Geospatial engineers building grids and indexes
Alternatives & comparison
PostGIS and GeoPandas operate on exact geometries and are needed for precise overlays; H3 trades exactness for fast, uniform aggregation and joins, and both DuckDB and PostGIS have H3 extensions so the approaches combine.
- DuckDB
In-process analytical SQL database that queries Parquet, CSV and Arrow data directly from Python, R, Node or the CLI
Open sourceOpen source - GeoPandas
Python library extending pandas with geometry columns, spatial operations, reprojection, spatial joins and file I/O for vector geodata
Open sourceOpen source - PostGIS
Spatial extension for PostgreSQL adding geometry, geography and raster types with indexing and hundreds of SQL functions
Open sourceOpen source
Sources & verification
Primary sources consulted for this record. Claims are tied to the fields each source supports; the automated link checker re-verifies every URL on a schedule.
- LicenseLICENSE (Apache 2.0)checked Nov 1, 2026
https://github.com/uber/h3/blob/master/LICENSE
Supports: license_spdx, source_model
- Official documentationchecked Nov 1, 2026
- Official documentationchecked Nov 1, 2026
- Official sitechecked Nov 1, 2026
- Confidence
- High
- Reviewed
- Nov 1, 2026
- Links
- Verified · Nov 2, 2026
Spotted an error?
More in GIS & mapping
QGIS
QGIS.org association · GIS & mapping
Open-source desktop GIS for viewing, editing, analysing and publishing vector and raster geodata, extensible with Python plugins
OpenStreetMap
OpenStreetMap Foundation · GIS & mapping
Collaboratively edited world map database released under the ODbL, with planet files, an editing API and derived tiles and extracts
Geocodio
Dotsquare LLC (Geocodio) · GIS & mapping
Geocoding API and spreadsheet service for the US and Canada with batch processing and data appends such as census, districts and time zones
MapLibre
MapLibre Organization · GIS & mapping
Open-source vector-tile map renderers for web (GL JS) and native platforms, forked from Mapbox GL and governed by a community organisation
Leaflet
Volodymyr Agafonkin and contributors · GIS & mapping
Lightweight open-source JavaScript library for interactive tile-based web maps with markers, vector layers and a large plugin ecosystem
Overpass API
Roland Olbricht and the OpenStreetMap community · GIS & mapping
Read-only query service for OpenStreetMap data using the Overpass QL language, available on public instances or self-hosted