Base32 encoder and decoder (RFC 4648)
Base32 encodes binary data using 32 case-insensitive characters — the uppercase letters A–Z and the digits 2–7 — defined in RFC 4648. Because it avoids ambiguous characters and is case-insensitive, it is ideal for values that may be typed by hand or read aloud, such as TOTP two-factor secrets and DNS-safe identifiers.
How it works
To encode, the tool converts your text to UTF-8 bytes, then treats those bytes as
one long bit stream and slices it into 5-bit groups. Each group (0–31) maps
to one alphabet character. Since 5 and 8 do not divide evenly, the output is
padded with = until its length is a multiple of 8. Decoding reverses the
process: each character contributes 5 bits, which are reassembled into 8-bit
bytes and decoded as UTF-8. The decoder upper-cases input and ignores whitespace
and padding.
Example
Encoding the text Gera:
Gera→ bytes47 65 72 61→I5SXEYI=(after padding)
| Input | Base32 |
|---|---|
A | IE====== |
Hi | JBUQ==== |
Gera | I5SXEYI= |
Everything runs in your browser — your data is never uploaded.