Base32 Encoder & Decoder
Convert text to Base32 and back using the standard RFC 4648 alphabet (A-Z, 2-7) with '=' padding. Everything runs in your browser.
How to use this tool
- 1
Choose 'Encode' to turn text into Base32, or 'Decode' to turn Base32 back into text, using the mode dropdown.
- 2
Type or paste your input into the text box — UTF-8 text when encoding, or a Base32 string when decoding.
- 3
Read the result in the gray output panel below; it updates instantly as you type, with no button to press.
- 4
Select and copy the output text to use it elsewhere.
What is Base32 encoding?
Base32 is a binary-to-text encoding defined in RFC 4648 that represents data using 32 printable characters: the uppercase letters A-Z and the digits 2-7. It works by reading the input as a stream of bits and slicing it into 5-bit groups (2^5 = 32), mapping each group to one alphabet character. Because the input is grouped in 40-bit blocks (the least common multiple of 5 and 8), the output is padded with '=' characters until its length is a multiple of 8. This tool encodes the UTF-8 bytes of whatever text you type, so multi-byte characters like emoji or accented letters expand into several bytes before encoding. The trade-off versus Base64 is size: Base32 needs 8 characters per 5 bytes (about 60% overhead) rather than 4 characters per 3 bytes. In return it omits the easily-confused characters 0, 1, 8, and 9 and is case-insensitive, which makes it well suited to values people read aloud, type by hand, or embed in case-folding systems like DNS. Note this tool uses the standard alphabet, not the base32hex or Crockford variants, which order their characters differently and will not interoperate.
Common use cases
Inspecting a TOTP/2FA setup string by decoding the Base32 secret an authenticator app expects.
Encoding a short identifier into a case-insensitive form safe to drop into a DNS label or subdomain.
Hand-checking the output of a server library against a known-good Base32 implementation while debugging.
Producing tokens or codes meant to be read aloud or typed without confusing 0/O or 1/I/l.
Decoding a Base32 string copied from a config file or QR-code payload to see the underlying text.
Teaching or learning how bit-level encodings group data, by watching how input maps to 5-bit chunks.
Frequently asked questions
Why use Base32 instead of Base64?▼
Which Base32 variant does this tool use?▼
Can I encode files or raw binary data?▼
Why does decoding sometimes produce odd or replacement characters?▼
Can I decode a TOTP secret to see the raw key?▼
Is my data sent to a server?▼
Related tools
JWT Decoder
Decode JSON Web Tokens (JWT) instantly — inspect the header, payload, and signature claims. Runs entirely in your browser; tokens never leave your device. Safe for production secrets.
JSON Formatter & Validator
Format, validate, and minify JSON instantly. Catches syntax errors with line numbers, pretty-prints with adjustable indent, supports large payloads. Runs in your browser — no upload.
XML Formatter & Beautifier
Format and beautify XML documents — proper indentation, line breaks, namespace handling. Useful for SOAP responses, sitemaps, RSS feeds, and Android resource files.
Base64 Encoder & Decoder
Encode and decode Base64 strings.
URL Encoder & Decoder
Encode/decode URL-safe strings.
HTML Entity Encoder & Decoder
Convert special characters to/from HTML entities.