Base32 Encode / Decode
Encode and decode Base32 (RFC 4648).
How to use
- 1 Paste text to encode, or a Base32 string to decode.
- 2 Choose Encode or Decode.
- 3 Read the result — decoding ignores case and missing padding.
- 4 Copy the output.
About Base32 Encode / Decode
Base32 encodes bytes using a 32-character alphabet — the uppercase letters A–Z and the digits 2–7 — defined by RFC 4648.
Because it avoids visually ambiguous characters and is case-insensitive, it is the format of choice where humans have to read or type the result: TOTP two-factor secrets, DNS-friendly identifiers, and file or storage keys that must survive being spoken aloud or written down.
It is bulkier than Base64 (every 5 bytes become 8 characters) but far easier to transcribe without errors.
This tool encodes any text to Base32 with correct "=" padding, and decodes Base32 back to text.
Encoding is UTF-8 aware, so emoji and accented characters round-trip cleanly.
Decoding accepts either case and tolerates missing padding, but validates that every character belongs to the RFC 4648 alphabet — if it does not, you get a clear message instead of corrupt output.
It all happens locally in your browser, which matters when the thing you are decoding is a 2FA seed or another secret you would never want to send to a server.
Use it to inspect an authenticator setup key, generate a transcribable token, or debug a system that speaks Base32.
FAQ
How is Base32 different from Base64?
Base32 uses only A–Z and 2–7, so it is case-insensitive and easy to read or dictate. It is longer than Base64 but less error-prone for humans.
Is it case-sensitive when decoding?
No. Lowercase input is accepted and uppercased automatically before decoding.