To decode a Geohash: convert each character to 5 bits using the base32 alphabet, interleave bits (even bits = longitude, odd bits = latitude), then convert bit strings to degree ranges and take the midpoint.
Geohash to DD Converter
Could not parse that coordinate.
DD
Decimal Degrees
—
DMS
Deg. Min. Sec.
—
DDM
Deg. Decimal Min.
—
UTM
Univ. Trans. Mercator
—
MGRS
Military Grid
—
Geohash
Base32
—
Plus Code
Open Location Code
—
How to Convert Geohash to DD: Step by Step
- 1 Map each character to its 5-bit value using the Geohash alphabet: 0123456789bcdefghjkmnpqrstuvwxyz.
- 2 Expand each 5-bit value into individual bits, giving a long bit string.
- 3 Even-position bits (0, 2, 4, …) narrow the longitude range.
- 4 Odd-position bits (1, 3, 5, …) narrow the latitude range.
- 5 Each bit halves the current range: bit=1 → take upper half, bit=0 → take lower half.
- 6 The final latitude and longitude are the midpoints of their respective ranges.
Worked Example
Input
u09tvw0f
Latitude conversion:
Odd bits → latitude range → midpoint ≈ 48.857°N
Longitude conversion:
Even bits → longitude range → midpoint ≈ 2.351°E
Result:
48.857000, 2.351000
Why Convert Geohash to DD?
Geohashes are stored in Redis, Elasticsearch, and other databases. Converting to DD is needed to use the location in mapping tools or pass coordinates to a standard API.
Common Mistakes to Avoid
- ✕ Treating geohash as case-sensitive (it is case-insensitive)
- ✕ Confusing the Geohash base32 alphabet with standard Base32
- ✕ Assuming the decoded location is a precise point rather than a cell center