Skip to content
All Resources
Location Intelligence 8 min read

Prepared by GSDSI Regulatory Content Team

Last updated

Editorial standardsTrust Center

H3 Hex Tiling for Urban Planning: A Primer

H3 is an open hexagonal grid system that tiles the globe into 16 nested resolutions. Each hexagon has six equidistant neighbors (the 12 pentagons per resolution have five), which removes the ambiguity square grids carry. Planners use it to bin mobility, density, and access data into one comparable unit, then roll cells up or down without re-projecting the source.

How to use this article

Read the checklist here, then use the linked hub and product pages for procurement citations.

What H3 Actually Is

H3 is a discrete global grid system that Uber released as open source. It projects the Earth onto an icosahedron, then tiles each face with hexagons to produce a single addressable grid. At the coarsest level, resolution 0, the grid has 122 base cells: 110 hexagons and 12 pentagons, per the H3 resolution table. Each finer resolution multiplies the cell count by roughly seven, per the published formula c(r) = 2 + 120 times 7 to the r. That runs from 122 cells at resolution 0 up to 569,707,381,193,162 cells at resolution 15. The point for a planner is not the raw count. It is that any location on Earth resolves to exactly one cell at any chosen resolution, and that cell is a fixed 64-bit index you can join, group, and compare like any other key.

The nesting is the part people misuse. H3 uses aperture 7, meaning each parent cell subdivides into about seven children at the next resolution. Hexagons do not partition cleanly into seven smaller hexagons, so the H3 indexing documentation is careful with its wording: geographic containment is approximate, while logical containment in the index is exact. A child cell may poke slightly outside its parent's drawn boundary, but its index still resolves to that one parent. In practice you never do a spatial contains test to aggregate. You truncate the index to the parent resolution, which makes rolling a block-level count up to a district a cheap deterministic operation.

Why Hexagons Beat Squares for Movement

Square grids carry a quiet defect for movement analysis: a cell touches its edge neighbors and its corner neighbors at two different distances. That asymmetry biases any calculation that walks outward from a cell, such as catchment, spread, or accessibility. Hexagons remove it. As the H3 aggregation notes put it, for hexagons all neighbors are equidistant, and expanding rings of neighbors approximate circles. That single property is why hexagonal binning is a good default for origin-destination flows, pedestrian or vehicle density, and any ring-based reachability model. When you bin daily global mobility and location data into H3, a hexagon's six-neighbor ring behaves like a real radius rather than a lopsided box.

Picking a Resolution

Resolution is the only knob most planning work touches, and it is where projects go wrong. Choose too coarse and a busy corridor and a quiet park average into the same tile. Choose too fine and each cell holds almost no observations, so density maps read as noise. The published averages below anchor the choice. Cell sizes are averages computed on a spherical Earth, so treat them as planning guides rather than surveyed dimensions.

H3 average cell edge length and area by resolution (source: h3geo.org resolution table)
ResolutionAvg edge lengthAvg cell areaTypical planning scale
59.85 km252.9 km2Metro region, county
71.41 km5.16 km2District, large catchment
8531 m0.74 km2 (74 ha)Neighborhood
9201 m0.105 km2 (10.5 ha)Several city blocks
1075.9 m0.015 km2 (1.5 ha)Block, intersection
1128.7 m0.00215 km2 (2,150 m2)Parcel, curb segment

For most city analytics the useful band is resolution 8 to 10. Resolution 9, with an average edge of about 200 meters (roughly 350 meters across) and about 10.5 hectares per cell, is a strong default for neighborhood mobility and land-use work because it holds enough observations to be stable while still resolving a corridor from its surroundings. Drop to 10 for intersection-level detail such as curb demand or crossing safety. Rise to 7 or 8 for corridor and district planning where you want fewer, larger tiles that read cleanly on a citywide map. Because the grid is nested, you can compute at resolution 10 and aggregate to 8 for the executive view without recomputing anything.

H3 aperture 7 hierarchical hexagon nestingA single coarse parent hexagon on the left maps by an arrow labeled aperture 7 to a cluster of seven finer hexagons on the right, one central cell surrounded by six neighbors. The pairing shows that one parent cell corresponds to about seven child cells at the next finer resolution, with geographic nesting approximate but index containment exact.Parent cellresolution raperture 7subdivide7 child cellsresolution r + 1
Aperture 7 nesting: one coarse parent cell corresponds to roughly seven finer child cells. The drawn boundaries overlap only approximately, but each child's index resolves to exactly one parent, so aggregation is an index truncation rather than a spatial test.

Where H3 Fits in a Planning Stack

H3 is a binning and aggregation layer, not a basemap and not a source of truth about the ground. It shines when you have point events, such as device pings, trips, permits, incidents, or sensor reads, and you need to summarize them into comparable areas fast. Binning to a hex cell strips the illusion of precision from a raw coordinate, but it does not make location data privacy-safe on its own: fine resolutions can still count as precise location, and cells joined with timestamps or venue labels can re-identify people, as our FTC sensitive-location guide explains. Pick the resolution, a minimum count per cell, and the join keys with that in mind. Our smart cities and urban planning work uses this pattern to turn daily mobility feeds into district-level demand, access, and dwell measures that a planning team can act on without touching raw trajectories.

Two cautions keep the grid honest. First, cell area is not constant. The H3 resolution table shows a resolution 9 hexagon max/min area ratio of about 1.99, and the 12 pentagons per resolution are smaller still, so compare densities per unit area rather than raw counts per cell. Second, a hex cell is only as good as the data density inside it. A cell with three observations is not a measurement. Set a minimum count per cell before you color a map, and drop to a coarser resolution where coverage is thin. Handled that way, H3 gives a planning team one grammar for space that scales from a single intersection at resolution 10 to a whole metro at resolution 5, using the same indexes and the same rollup logic at every step.

Frequently Asked Questions

How many resolutions does H3 have?
Sixteen, numbered 0 through 15. The grid uses aperture 7, so each cell holds roughly seven finer cells at the next resolution, from 122 base cells at resolution 0 up to about 5.7 times 10 to the 14 cells at resolution 15, per the h3geo.org resolution table.
Do H3 child cells fit perfectly inside their parent cell?
No. Because hexagons cannot partition cleanly into seven smaller hexagons, geographic nesting is approximate: a child can extend slightly past the parent's drawn edge. Index containment is exact, though, so aggregating children into a parent is an index operation rather than a spatial contains test.
Why use hexagons instead of a square grid for city analysis?
A square cell sits at two different distances from its edge and corner neighbors, which biases any outward-expanding calculation. Hexagons place all six neighbors at one distance, and expanding rings approximate circles, so density, flow, and accessibility analysis behave consistently across the map.
Which H3 resolution should a city use?
Resolution 8 to 10 covers most municipal work. Resolution 9, with an average edge of about 200 meters and about 10.5 hectares per cell, is a solid default for neighborhood mobility and land use. Use 10 for intersection detail and 7 or 8 for corridor or district views. Because the grid nests, you can compute fine and roll up.

✓ Opt-Out Request Honored via Global Privacy Control