H3 developer resources
H3 is a geospatial indexing system that turns points and shapes into cells on a global hexagonal grid. It is useful when you need stable spatial IDs for joining, aggregating, comparing, and visualising location-based data.
How H3 works
H3 divides the earth into cells at numbered resolutions. Lower resolutions cover larger areas; higher resolutions create smaller cells for more local analysis. A coordinate can be converted to an H3 cell ID, and that ID can then be stored, joined, counted, mapped, or rolled up to a coarser parent resolution.
Most H3 cells are hexagons, with a small number of pentagons needed to tile the globe. The grid is hierarchical, so developers can move between parent and child cells, find neighbours, create rings and disks, compact dense sets of cells, and convert cells back to boundaries for maps.
The practical workflow is simple: pick a resolution, index your geometry or latitude/longitude data, aggregate on the resulting cell IDs, then visualise or query those cells using the bindings that fit your stack.
Before you build
- Choose resolution deliberately. Balance precision, file size, query speed, and privacy before indexing production data.
- Store cell IDs consistently. Decide whether your pipeline uses string or integer representations and keep it uniform.
- Know the hierarchy. Parent-child relationships are exact in the index, but geographic containment is approximate when moving between resolutions.
- Use bindings where possible. Official and community bindings cover JavaScript, Python, Java, SQL databases, analytics engines, and more.
Start here
Useful developer links
Installation guide
Package manager options for Python, Java, JavaScript, Homebrew, DuckDB, and source builds.
Language bindings
A broad index of official and community bindings across application, data, and database stacks.
h3-js
JavaScript bindings for Node and browser projects.
h3-py
Python bindings, API comparison notes, and examples for data science and geospatial workflows.
h3-pg
PostgreSQL and PostGIS extension for using H3 directly in database queries.
DuckDB H3 extension
Local analytical SQL support for H3 functions in DuckDB.
Stack Overflow H3 questions
Practical questions and implementation details from other developers using H3.