Base32 Encoder/Decoder (Multi-Standard)
Professional-grade Base32 tool. Supports RFC 4648, Hex, Crockford, z-base-32, and Geohash. Features drag-and-drop binary processing, bitwise analysis, and error correction.
About
This is not just a converter; it is a comprehensive environment for handling Base32 encoding standards across legacy systems, blockchain addresses, and modern OTP (One-Time Password) implementations. While Base64 is the standard for data density, Base32 is the standard for human reliability and filesystem safety. It eliminates case sensitivity and removes visually ambiguous characters (like 'l', '1', 'I'), making it the superior choice for manual code entry and case-insensitive file systems.
We have engineered this tool to handle the fragmentation of Base32 variants. Whether you are debugging a Geohash coordinate, implementing a custom z-base-32 protocol, or generating TOTP secrets, this engine guarantees bit-perfect accuracy. It operates entirely within your browser's Sandbox, meaning your private keys, binaries, and secrets never touch a server. The interface includes real-time bitwise visualization, file integrity checksums, and a smart "fuzzy decode" mode that attempts to repair broken input strings automatically.
Formulas
The core mechanism of Base32 involves re-grouping binary data. A standard byte consists of 8 bits. Base32 characters represent 5 bits each (25 = 32). The Least Common Multiple of 8 and 5 is 40 bits.
Encoding Process (The 40-bit Quantum):
1. Take a block of 5 bytes: Input = [b0, b1, b2, b3, b4]
2. Concatenate into a 40-bit integer N:
N = 4∑i=0 (bi ⋅ 28(4-i))
3. Extract 8 indices (idx0...idx7) of 5 bits each:
idxk = (N >> 5(7-k)) ∧ 0x1F
4. Map indices to the alphabet A:
Outputk = A[idxk]
If the input bytes are not a multiple of 5, the final block is zero-padded on the right. The number of padding characters (=) added is determined by: ceil(input_len % 5).
Reference Data
| Standard / Variant | Alphabet Character Set | Case Sensitive? | Padding | Primary Application |
|---|---|---|---|---|
| RFC 4648 (Standard) | A-Z, 2-7 | FALSE | = | DNSSEC, TOTP (Google Authenticator), MIME. |
| Base32Hex (RFC 4648) | 0-9, A-V | FALSE | = | Legacy sorting systems (preserves sort order). |
| Crockford's Base32 | 0-9, A-Z (No I, L, O, U) | FALSE | NULL | Human entry, serial numbers, avoiding profanity. |
| z-base-32 | ybndrfg8ejkmcpqxot1uwisza345h769 | FALSE | NULL | Peer-to-peer software, ZRTP, human ease of use. |
| Geohash | 0-9, b-z (No a, i, l, o) | FALSE | NULL | Spatial indexing, map coordinates, location hashing. |
| Word-Safe | 23456789CFGHJMPQRVWX... | FALSE | NULL | Generated IDs that avoid accidental English words. |
| Electrum (Bitcoin) | qpzry9x8gf2tvdw0s3jn54khce6mua7l | FALSE | NULL | Bitcoin SegWit addresses (Bech32). |
| Base32-Lakhani | 0-9, A-Z (No I, O) | FALSE | NULL | Specific proprietary legacy systems. |