macOS
brew install h3local Homebrew formula metadata
sudo port install h3MacPorts ports tree · gis/h3/Portfile · source: api.github.com
brew
Hexagonal hierarchical geospatial indexing system. Version 4.5.0 via Homebrew; verified 2026-05-22.
install
brew install h3local Homebrew formula metadata
sudo port install h3MacPorts ports tree · gis/h3/Portfile · source: api.github.com
sudo dnf install h3Fedora Rawhide package metadata · h3 · source: dl.fedoraproject.org
nix profile install nixpkgs#h3nixpkgs package indexes · h3 · source: raw.githubusercontent.com
overview
Hexagonal hierarchical geospatial indexing system
history
H3 is Uber's hexagonal hierarchical geospatial indexing system, implemented as a C core library with command-line tools and bindings across data platforms and programming languages. It is important in package ecosystems because it turns latitude/longitude data into stable cell IDs that can be joined, aggregated, visualized, and exchanged without carrying heavy GIS machinery into every project.
Uber created H3 to support marketplace analysis, pricing, dispatch optimization, and spatial visualization at city scale. The public repository was created in December 2017, and Uber's engineering blog announced that H3 had been open sourced on GitHub and that JavaScript bindings had also been opened.
The H3 design combines a global hexagonal grid with a hierarchical index. Official documentation describes a discrete global grid system developed at Uber, with cells that can represent points and shapes, aggregate datasets at different resolutions, and support algorithms such as nearest neighbors, shortest paths, and smoothing.
The C library became the stable core, while Java, JavaScript, Python, and other bindings made the grid usable from application, analytics, and database workflows. The documentation's bindings page records the broader ecosystem, including cloud data warehouses, PostgreSQL, Spark-style analytics, and language bindings maintained by Uber and the community.
Version 4.0.0 in 2022 introduced breaking API changes around terminology, error handling, and more consistent function names, while preserving the grid layout and index interpretation across 3.x and 4.x. Later 4.x releases continued to add functions and improve algorithms while keeping the core index model stable.
H3 adoption began with Uber's internal marketplace analytics and spread through open-source bindings and data-platform integrations. The Uber blog describes H3 as used throughout Uber for quantitative marketplace analysis, and the H3 site positions it for joining disparate datasets and aggregating at different precision levels.
Package-manager adoption reflects two audiences: developers who want the C CLI/library through Homebrew, MacPorts, Nix, or Linux packages, and data users who install bindings such as h3-py, h3-js, h3-java, PostgreSQL extensions, or warehouse functions. That split made H3 both a systems package and a data-analysis primitive.
The CLI examples convert latitude and longitude into a cell ID with `latLngToCell`, inspect boundaries with `cellToBoundary`, and operate on grid neighborhoods. Library users commonly index events, points, or polygons into cells, aggregate by resolution, compact or uncompact cell sets, find neighboring cells, and exchange indexes as 64-bit integers or hexadecimal strings.
Because the grid has fixed resolutions and a globally meaningful index, H3 is used for spatial joins, heatmaps, regional rollups, mobility analysis, delivery and dispatch models, and analytic tables where a cell ID can be a normal join key.
H3 is a package-nerd favorite because a relatively small C library and CLI unlock a large ecosystem of geospatial workflows. It lets packages expose geospatial indexing through ordinary scalar values, which is much easier to package, bind, test, and move between languages than a full GIS stack.
The 4.0 migration is also historically important: the project took the pain of API renaming and error-return cleanup while documenting that existing H3 indexes and grid layout remained compatible. That distinction matters for package upgrades because stored H3 IDs can outlive a language binding or library major version.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
cellToBoundary | cli | global executable | |
cellToBoundaryHier | cli | global executable | |
cellToLatLng | cli | global executable | |
cellToLatLngHier | cli | global executable | |
cellToLocalIj | cli | global executable | |
gridDisk | cli | global executable | |
gridDiskUnsafe | cli | global executable | |
h3 | cli | global executable | |
h3ToComponents | cli | global executable | |
h3ToHier | cli | global executable | |
latLngToCell | cli | global executable | |
localIjToCell | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
install metadata
| Package key | brew:h3 |
|---|---|
| Version | 4.5.0 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/h3 |
| Homepage | https://uber.github.io/h3/ |
| Repository | https://github.com/uber/h3 |
| Upstream docs | https://github.com/uber/h3#readme |
| License | Apache-2.0 |
| Source archive | https://github.com/uber/h3/archive/refs/tags/v4.5.0.tar.gz |
| Last updated | 2026-05-22T01:59:05Z |
| Pulse | updated |
| Build dependencies | cmake |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | h3 |
| Version Scheme | 0 |
| Revision | 0 |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
h3
nix profile install nixpkgs#h3h3 4.4.1-2.fc44
Hexagonal hierarchical geospatial indexing system
sudo dnf install h3h3-devel 4.4.1-2.fc44
Development files for h3
sudo dnf install h3-develh3
sudo port install h3source trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.