Geohash Converter
Encode latitude and longitude into a geohash, or decode a geohash back to coordinates. Reports the cell's bounding box, real-world size and all eight neighbouring geohashes.
Input
Decimal degrees, between -90 and 90.
Decimal degrees, between -180 and 180.
More characters = a smaller cell. 5 ≈ 5 km, 7 ≈ 150 m, 9 ≈ 5 m.
Output
| Property | Value |
|---|---|
| No data yet | |
| Direction | Geohash |
|---|---|
| No data yet | |
Guides
A geohash squeezes a latitude/longitude pair into a short base32 string like dr5regw3p. Because the string is built by repeatedly halving the world, every geohash names a rectangular cell, not a point — and cells that share a prefix sit next to each other. That property is what makes geohashes useful as a database index for "find everything near here" queries.
This converter runs both directions and shows what the cell actually is.
How to use it
Encode — pick "Encode", type a latitude and longitude in decimal degrees, and drag the precision slider. One character is added per step and each step shrinks the cell:
| Precision | Cell size (roughly) |
|---|---|
| 3 | 156 km |
| 5 | 5 km |
| 7 | 150 m |
| 9 | 5 m |
| 12 | 4 cm |
Decode — pick "Decode" and paste a geohash. The alphabet deliberately omits a, i, l and o so hashes are hard to misread; anything outside it is flagged as you type, and case doesn't matter.
Either way you also get:
- the cell centre, which is what "decoding" a geohash really returns;
- the bounding box (south-west and north-east corners) plus the ± error in degrees;
- the cell's real-world width and height in metres or kilometres;
- all eight neighbouring geohashes, ready to paste into a proximity query.
Both tables copy as CSV or download as a .csv file.
Why the decoded coordinates aren't the ones you encoded
Geohashing is lossy by design. Encoding throws away everything finer than the cell, so decoding can only hand back the cell's centre. Encode 40.7128, -74.0060 at precision 9 and you get back 40.712779, -74.005988 — about 2 metres off, which is the whole point of the precision you chose. If you need the original coordinates back exactly, store them alongside the hash.
Why do neighbouring cells sometimes look nothing alike?
Shared prefixes mean proximity, but the reverse isn't guaranteed: two adjacent cells can straddle a boundary where the parent cell changes, so dr5regw3p sits next to dr5regw92. That "edge case" is exactly why the neighbours table exists — a proximity search that only checks prefix matches misses everything just over a boundary, so query the centre cell plus its eight neighbours.
Are geohashes the same as what3words or Plus Codes?
No. All three encode a location as a short string, but the algorithms and alphabets differ and none of them interoperate. Geohash is the open, prefix-hierarchical one, which is why databases like Redis and Elasticsearch build on it.
Privacy
Everything runs in your browser. Coordinates are never uploaded — the encoding is a few dozen lines of arithmetic, so there's no server to send them to.
Related tools
Need a different notation instead of a hash? The Coordinate Format Converter moves a point between decimal degrees, DMS and DDM. To measure between two points rather than name one, use the Geo Distance Calculator.