Base32 Decoder
Decode and encode RFC 4648 Base32 (A–Z, 2–7) — as used in TOTP secrets, onion addresses and DNS tunnelling — and see binary results as hex.
How to use
- Paste the Base32 string; lowercase, spaces and missing = padding are fine.
- Read the text, or the hex dump for binary data such as a TOTP key.
- Choose “Text → Base32” to encode instead.
Steps
Output
How Base32 works
Base32 (RFC 4648) splits data into 5-bit groups and writes each as one of 32 characters: A–Z and 2–7. Every 5 bytes become 8 characters, so the output is 60% longer than the input, and = pads the last block to 8 characters. The decoder accepts lowercase and missing padding, which many systems drop.
Where you meet it
TOTP secrets: the secret= value in an otpauth:// QR code is Base32. Decoding it gives the raw HMAC key — binary, so it is shown as hex. Onion services: a v3 .onion address is the Base32 encoding of the service’s public key, a checksum and a version byte. DNS: because DNS ignores case, tunnelling and exfiltration tools often pack data into Base32 labels, so long random-looking subdomains in your DNS logs are worth decoding.
Not every Base32 is the same
Several variants use different alphabets. Base32hex (also in RFC 4648) uses 0–9 and A–V and keeps sort order; Crockford’s Base32 drops I, L, O and U and is used in IDs such as ULIDs; z-base-32 reorders the alphabet for readability. If a string contains 0, 1, 8 or 9 it is not standard Base32. For the time inside a ULID, use the Timestamp Converter.
Common questions
How do I recognise Base32?
Only capital letters A–Z and digits 2 to 7, often padded with = to a multiple of 8 characters. Digits 0, 1, 8 and 9 never appear, which avoids confusion with the letters O, I and B.
Why does my decoded TOTP secret look like garbage?
It is a random key, not text. The decoder shows it as hex instead — that is the HMAC key your authenticator app uses.
Why is Base32 used in DNS?
Domain names are case-insensitive and limited to letters, digits and hyphens. Base32 survives that, so DNS tunnelling and data-exfiltration tools often encode data as Base32 labels.
Known limitations
- Standard RFC 4648 alphabet only. Base32hex (0–9, A–V), Crockford and z-base-32 use different alphabets and will decode to the wrong bytes.
- TOTP seeds are secrets: the page cannot send them anywhere, but still avoid pasting live production seeds into any tool.
- Browser extensions with access to this site can read the page. For sensitive data, use a private window with extensions off. How the lock works
Related reading on CipherMind
Standards & references
- RFC 4648 §6 — Base32 (opens in a new tab)
- RFC 6238 — TOTP (opens in a new tab)
- Google Authenticator key URI format (opens in a new tab)
- Tor rend-spec v3 — onion address encoding (opens in a new tab)