Base32 Encoder Decoder
Encode text or hex to Base32 (RFC 4648) and decode Base32 strings back to UTF-8 instantly in your browser.
Updated
What is the Base32 Encoder Decoder?
Instantly encode any text or hex data to Base32 (RFC 4648 standard) or decode Base32 strings back to readable UTF-8 text. This free online tool runs entirely in your browser with no data sent to servers.
Base32 is widely used for encoding secrets in two-factor authentication (TOTP), generating human-readable identifiers, and safely transmitting binary data in text-only environments. Our tool supports full Unicode, hex input, separator ignoring, and live conversion with helpful statistics.
How it works
Base32 converts binary data (bytes) into a text string using a 32-character alphabet: A-Z and 2-7. Each character represents 5 bits of data.
Encoding Process
- Convert input text to UTF-8 bytes
- Group bits into 5-bit segments (padding with zeros if needed)
- Map each 5-bit group to a character in the Base32 alphabet
- Add
=padding so the output length is a multiple of 8 characters
Decoding Process
- Remove padding (
=) and optional separators - Convert each Base32 character back to 5 bits
- Reassemble into 8-bit bytes (removing padding bits)
- Decode bytes back to UTF-8 text
The tool automatically handles case-insensitivity, common separators (spaces, dashes), and provides both text and hex output for decoded results.
Examples
Encode Hello World
Convert a simple greeting to Base32 format
Decode TOTP Secret
Convert a common Base32 secret back to readable text
Hex to Base32
Encode binary data provided as hex
Frequently asked questions
What is Base32 used for?
What is Base32 used for?
Base32 is commonly used in TOTP/2FA secrets (like Google Authenticator), generating compact case-insensitive IDs, encoding binary data for URLs or emails, and situations where Base64 might introduce ambiguous characters (+ / =).
Does this tool support RFC 4648?
Does this tool support RFC 4648?
Yes. It implements the official RFC 4648 Base32 standard with correct padding and alphabet (A-Z, 2-7). It also handles common real-world variations like mixed case and separators.
Can I encode emoji and international characters?
Can I encode emoji and international characters?
Yes. The tool fully supports UTF-8 encoding and decoding, so you can process any Unicode text including emojis, accented characters, and non-Latin scripts.
Is my data private?
Is my data private?
Completely. All encoding and decoding happens locally in your browser. Nothing is sent to any server.
What about hex input?
What about hex input?
You can switch to "Hex Bytes" mode to encode raw binary data provided as a hexadecimal string (e.g., 48656c6c6f for "Hello").
Why use Base32 instead of Base64?
Why use Base32 instead of Base64?
Base32 is case-insensitive, avoids ambiguous characters (like + / in Base64), and is more human-readable while still being compact. It's especially popular for security tokens and identifiers.
How do I copy the result?
How do I copy the result?
Click the copy button next to any output field. Results update live as you type.
Does it handle padding correctly?
Does it handle padding correctly?
Yes. The tool automatically adds and removes = padding according to the RFC 4648 specification.
Related tools
More utilities you might find handy.
Punycode Converter
Convert internationalized domain names (IDN) to Punycode and vice versa.
Quoted-Printable Encoder
Encode and decode MIME quoted-printable text in your browser.
URL Safe Base64 Encoder / Decoder
Encode and decode Base64 using the URL-safe alphabet (RFC 4648 §5) — replaces + with - and / with _ so output is safe in URLs, filenames, and JWTs without percent-encoding.