Base32 Encoder & Decoder — RFC 4648, TOTP-Compatible
Encode and decode Base32 strings online (RFC 4648). Handles TOTP / Google Authenticator secrets, DNSSEC records, and other case-insensitive binary-to-text formats. 100% local.
Last updated:
CommentsFrequently Asked Questions
What is the difference between Base32 and Base64?
Base32 uses 32 case-insensitive characters (A–Z + 2–7), each carrying 5 bits, while Base64 uses 64 characters (6 bits each). Base32 output is about 25% longer than Base64 but is easier for humans to read out loud, transcribe, or type — which is why TOTP secrets and DNSSEC records use it.
Why does my TOTP / Google Authenticator secret use Base32?
TOTP (RFC 6238) mandates Base32 for the shared secret because the secret is often transferred by scanning a QR code that also encodes a human-typeable fallback string. Base32's case-insensitive, 0/1/8/9-free alphabet minimises transcription errors.
What is the 'hex' variant?
Base32hex (also RFC 4648) uses 0–9 + A–V instead of A–Z + 2–7, so that the natural sort order matches the underlying byte order. It shows up mainly in DNSSEC NSEC3 records; regular Base32 is much more common everywhere else.
Related Tools
Base64
Encode and decode Base64 strings online. Supports UTF-8 text and URL-safe Base64. All processing runs locally in your browser.
Base58
Encode and decode Base58 strings online — the alphabet used by Bitcoin addresses, Solana public keys, IPFS CID v0, and Flickr short links. 100% local, no padding, human-safe.
Punycode
Convert internationalized (IDN) domain names to and from their ASCII xn-- form. Follows RFC 3492 exactly — the same encoding your browser and DNS resolver use. 100% local.
Unicode Escape
Escape and unescape Unicode sequences online. Convert any text to \uXXXX / \u{XXXX} form, or reverse escape sequences back to readable text. Handles surrogate pairs and emoji. 100% local.
URL Encode/Decode
Percent-encode and decode URLs online. Handles query strings, path segments, and special characters correctly.
HTML Encode/Decode
Encode and decode HTML entities (&, <, >, ", numeric references). Useful for sanitizing user content or debugging escaped markup.