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