genom
rust geocoding library

turn coordinates into context

Fast reverse geocoding with enriched location data. Sub-millisecond lookups for timezone, currency, region, and 15+ other fields.

input
output
New York, United States
America/New_York • USD • NY
get started
<1ms lookup
16+ fields
0 config

why genom

built for developers who need speed and precision

blazing fast

Grid-based spatial indexing delivers consistent sub-millisecond performance. Optimized binary format with string interning keeps memory usage minimal.

🎯

rich data

18+ fields per location including timezone, currency, postal code, region, continent, EU membership, and DST status. Everything you need in one call.

🔧

zero setup

Database builds automatically on first install. No downloads, no configuration files, no external dependencies. Just add and use.

🧵

thread-safe

Global singleton with lazy initialization. Lock-free reads mean zero contention in multi-threaded applications. Safe by default.

installation

Add genom to your Cargo.toml and start converting coordinates to location data immediately.

1
Add dependency
2
Import library
3
Start looking up
Cargo.toml
[dependencies]
genom = "0.1"
main.rs
use genom;

let place = genom::lookup(40.7128, -74.0060)?;
println!("{}", place.timezone);

complete location data

every field you need, returned in microseconds

location

city region region_code district postal_code

geography

country_code country_name continent_code continent_name is_eu

time & currency

timezone timezone_abbr utc_offset dst_active currency

coordinates

latitude longitude