The first time a six-character geohash squares over your cafe, and the seventh character suddenly flips to a block two streets north, you have just run head-first into the precision cliff that catches every junior geo engineer in their first week on the job. If you’ve ever sent a driver to a delivery radius measured by a single-character geohash and watched them end up fifteen minutes away, you’ve hit the wall that this field guide is built to walk around.
The Geohash Generator is the encoder that takes latitude and longitude and emits the matching geohash string at any of the twelve precision steps, so you can see exactly when each step doubles the area you’re pointing at instead of halving it.

Why Twelve Precision Steps Ladder Out at Radically Different Areas
Geohash uses a base-32 alphabet (0-9b-z excluding a, i, l, o) and each additional character halves the previous bounding box. The Geohash Generator emits all twelve steps simultaneously so you can see the area each step actually covers instead of guessing from the string length:

- Precision 1: ~2,500 km wide, country-scale.
wx4covers most of central China. - Precision 2: ~1,250 km wide, region-scale.
wx4gdistinguishes east-coast provinces from inland. - Precision 3: ~156 km wide, metropolitan-scale. Already useful for ride-share dispatch zones.
- Precision 4-5: 39 km to 5 km, the band where most logistics teams live.
- Precision 6: 1.2 km wide, neighborhood-scale, where the precision cliff begins.
- Precision 7-12: 152 m down to 3.7 cm, building-scale to furniture-scale.
The generator pre-computes all twelve so you can pick the one whose bounding box matches your use case, instead of over-fitting to “as long as possible”.
Anatomy of a Single Coordinate Across All Twelve Precision Steps
What Geohash’s Base-32 Alphabet Leaves Out (and Why)
Geohash uses 32 characters drawn from the digits 0-9 and lowercase letters b-z. Four letters are deliberately excluded to prevent ambiguity in handwriting and OCR systems: a, i, l, o. The result is the canonical geohash alphabet 0123456789bcdefghjkmnpqrstuvwxyz. This matters because:
- Visual ambiguity: dropping
i/l/oavoids misreading1asl,0aso. - Transcription safety: a geohash read aloud over a radio survives a noisy channel better than a base-36 hex string.
- Database ordering: B-tree prefix searches on
LIKE 'wx4g0u%'work correctly because the omitted four letters create predictable gaps.
The generator never emits the excluded letters, so every output is safe to dictate, paste into SMS, or OCR from a printed receipt.
How the Bit-Interleave Algorithm Builds Each Character
Geohash alternates longitude and latitude bits: longitude bit 1, latitude bit 1, longitude bit 2, latitude bit 2, …. Five bits make one base-32 character:
- Even-position bits (1, 3, 5, …) encode longitude.
- Odd-position bits (2, 4, 6, …) encode latitude.
- 5 bits per character means each character shifts the longitude frame by 2.5 bits and the latitude frame by 2.5 bits, but the alternation creates the rectangular-cell anisotropy.
Take one input: Beijing’s Tiananmen Square at 39.9042, 116.4074, default precision 9. Plug those into the generator and you get the twelve-step ladder from country down to sub-meter:

| Precision | Geohash | Cell width | Cell height |
|---|---|---|---|
| 1 | wx | 2,500 km | 2,500 km |
| 2 | wx4 | 1,250 km | 625 km |
| 3 | wx4g | 156 km | 156 km |
| 4 | wx4g0 | 39 km | 19 km |
| 5 | wx4g0u | 4.9 km | 4.9 km |
| 6 | wx4g0uy | 1.2 km | 0.6 km |
| 7 | wx4g0uy5 | 152 m | 152 m |
| 8 | wx4g0uy5e | 38 m | 19 m |
| 9 (default) | wx4g0uy5ep | 4.8 m | 4.8 m |
| 10 | wx4g0uy5epb | 1.2 m | 0.6 m |
| 11 | wx4g0uy5epbn | 14 cm | 14 cm |
| 12 | wx4g0uy5epbnp | 3.7 cm | 1.9 cm |
The same coordinates, twelve different identifiers. The reason: each step alternates between longitude and longitude at finer and finer granularity, halving the cell width while halving or quartering the cell height depending on the bit pattern.
What the Precision Cliff Actually Does to Your Radius Query
This is the single most-misunderstood number in geohash-based dispatch. The cell width halving is real, but the cell height halving is uneven:
even_precision_step (2, 4, 6, ...): cell is roughly square, both halves shrink equally
odd_precision_step (1, 3, 5, ...): cell is rectangular, longitude halves but latitude quartersIf you query “all geohashes sharing the first 6 characters with the cafe”, the matching rectangle is 1.2 km x 0.6 km, not a 1.2 km x 1.2 km square. The generator’s “neighborhood” view tags this anisotropy on every run so your driver-dispatch radius query doesn’t accidentally span a half-block into the next district.
Five Edge Cases the Generator Catches Before You POST
Five boundary conditions fire automatically when the input crosses a known geohash quirk:

- Antimeridian crossing: longitude straddling 180/-180 triggers a “geohash alphabet wraps; choose the shorter side” warning.
- Pole proximity: latitude within 1 degree of 90 latitude triggers “odd precision steps produce degenerate rectangular cells”.
- Equator-anchored rectangles: precision 3-4 cells anchored to the equator span both hemispheres.
- Bit-pattern collisions: two coordinates 32 cm apart at precision 12 share the same final character.
- Trailing-zero ambiguity: geohash
wx4g0u0decodes to a different coordinate thanwx4g0u; the generator always emits the canonical short form.
The warnings are not advisory; they map directly to each quirk’s silent-failure mode in production dispatch systems. See the generator for the exact threshold logic.
When Geohash Wins (and Loses) Against Plus Codes and H3
- Geohash wins on string compactness: a 7-character geohash fits in a URL path; an H3 index of equivalent precision needs 15 hex chars.
- Geohash wins on database friendliness: prefix-match queries on
LIKE 'wx4g0u%'use a B-tree index; H3 requires a spatial index. - Plus Codes win on rectangular grids: Plus Codes don’t have the odd-step anisotropy, so dispatch radii are predictable.
- H3 wins on uniform hexagons: H3’s hex grid gives equal-distance neighbors at every precision; geohash’s rectangular cells produce uneven neighbor distances.
The same coordinate at precision 7 (152 m cell) uses ~38 m of cell width on geohash but exactly 150 m on H3. Pick geohash when string compactness and prefix-indexing matter more than uniform cell geometry; pick H3 when the algorithm needs uniform-distance neighbors. Run your coordinates through the generator before you commit to a geocoding scheme.
What the Generator Tags on Every Output Row
Every output row carries five downstream tags:
- The precision step (1-12).
- The bounding box dimensions (cell width x cell height in meters).
- The cell center (decoded latitude/longitude of the cell midpoint, not the input point).
- The neighbor precision flag (true if odd-precision, false if even-precision, the anisotropy indicator).
- The canonical short-form (geohash without trailing zeros, the actual stored value).
The five tags are what you wire into dispatch databases, ride-share geofences, and last-mile routing systems. Without them, the geohash string alone tells you nothing about the area it actually covers. The generator emits all five by default.
Browse more geo and coordinate tools at elysiatools.com.