lat/long → short string · base32-like
Encodes latitude and longitude pairs into a short base32-like alphanumeric string. Longer hashes = more precision. Each character doubles the resolution (~5→2.4km, ~8→±19m, ~12→±37mm).
Latitude field and a longitude in the Longitude field — they start at Paris (48.8566, 2.3522).Precision from 1 to 12. More characters mean a smaller, more precise cell.Encode (the geohash also updates live as you type) and read the result in the Geohash box.Geohash → lat/long box — the decoded coordinates, bounding box, and approximate cell size appear below.Copy result to copy the decoded coordinates, or Clear to reset the decode box.Turn a coordinate pair into one short string for cache keys, file names, URL slugs, and database IDs.
Nearby points share leading characters, so geohash prefixes power efficient "find things near me" queries.
Redis, Elasticsearch, and similar systems index locations with geohashes for bounding-box and neighbor lookups.
Watch the cell size shrink from kilometers to centimeters as you add characters, and pick the right length for your data.
Generate a valid geohash from known coordinates to seed fixtures, mock APIs, or verify a library's output.
Everything runs in your browser. Nothing is uploaded, logged, or sent to a server — safe for sensitive locations.
A geohash encodes a latitude/longitude pair into a short string by recursively dividing the world into smaller rectangles, alternating longitude and latitude bits, then mapping those bits to a base32 alphabet.
Each additional character roughly doubles the resolution: ~5 chars is ~2.4 km, ~8 chars is ~±19 m, and ~12 chars is ~±37 mm. This tool shows the exact cell size for whatever hash you decode.
No. Geohash uses its own 32-symbol alphabet — 0123456789bcdefghjkmnpqrstuvwxyz — which omits a, i, l, and o to avoid confusion and profanity. It's "base32-like," not RFC 4648 Base32.
A geohash represents an area (a cell), not a single point. Decoding returns the center of that cell plus its bounding box and size, so the original coordinate isn't recovered exactly — especially for short hashes.
Geohashes that share a prefix are usually near each other, which is why proximity queries rely on prefixes. The reverse isn't guaranteed: two points near a cell boundary can have very different prefixes.
The alphabet is lowercase, but this tool's decoder accepts uppercase too by lowercasing input before lookup, so U09TV and u09tv decode the same way.
Never. Encoding and decoding happen entirely in JavaScript on your device. Your coordinates are not sent to, stored on, or logged by any server.