Encode text to Base32 or decode Base32 back to text (RFC 4648).
Converted locally in your browser — your text stays private.
How do you encode and decode Base32?
Base32 groups the input into 5-bit chunks and maps each to one of 32 symbols (A–Z, 2–7), padding with “=” to a multiple of 8 characters. It is like Base64 but uses a smaller, case-insensitive alphabet that avoids confusable characters, making it safer for 2FA secrets, DNS and filenames. Example: the word “foo” encodes to MZXW6===, and MZXW6YTBOI====== decodes back to “foobar”.
Understanding your result
Base32 is like Base64 but uses a smaller, case-insensitive alphabet that avoids easily-confused characters, which makes it safer for spoken codes, DNS, filenames and 2FA secrets. It is about 20% larger than Base64 for the same data.
Formula and method
Base32 groups the input into 5-bit chunks and maps each to one of 32 symbols (A–Z, 2–7). Output is padded with “=” to a multiple of 8 characters.
Assumptions and limitations
This uses the standard RFC 4648 alphabet (A to Z and 2 to 7) with = padding, so it will not decode the Base32hex or Crockford variants, which use different symbols. Decoding is case-insensitive but expects otherwise-clean input; stray spaces or non-alphabet characters may cause an error, and it encodes text rather than raw binary files.
Worked example
The word “foo” encodes to MZXW6===, and MZXW6YTBOI====== decodes back to “foobar”.
How to use this tool
- Choose Encode or Decode.
- Type or paste your input.
- Copy or download the converted result.
Common mistakes to avoid
- Confusing Base32 with Base64 — they use different alphabets.
- Pasting a string that contains characters outside A–Z and 2–7.
About the Base32 Encoder & Decoder
The Base32 Encoder & Decoder converts text to and from Base32 using the standard RFC 4648 alphabet (A–Z and 2–7). It runs entirely in your browser, so secrets such as TOTP keys never leave your device.
Who should use this tool
Developers, sysadmins and security engineers working with TOTP/2FA secrets, DNS records and case-insensitive identifiers.
Benefits
- Standards-compliant RFC 4648 encoding with “=” padding.
- Decoding is case-insensitive and ignores spaces.
- Full UTF-8 support for accented and non-Latin text.
- Runs locally — nothing is uploaded.
Practical use cases
- Encoding a TOTP/2FA shared secret.
- Producing case-insensitive identifiers for URLs or filenames.
- Decoding a Base32 string to inspect its contents.
Explore all Developer Tools tools
Frequently asked questions
How is Base32 different from Base64?
Base32 uses 32 case-insensitive characters (A–Z, 2–7), while Base64 uses 64 case-sensitive ones. Base32 is more robust for spoken or typed codes but produces longer output.
Is my input uploaded anywhere?
No. Encoding and decoding happen entirely in your browser, so your text and any secrets stay on your device.
Can this decode a Base32hex or Crockford-encoded string?
No. This tool follows the standard RFC 4648 alphabet, using A to Z and 2 to 7 with = padding, which is what TOTP secrets and most systems use. The Base32hex and Crockford variants map characters differently, so their strings will not decode correctly here; use a tool built for that specific variant.