Base32 Encoder/Decoder
Encode and decode text with Base32 — RFC 4648, Base32Hex, and Crockford variants
Base32 Encoder/Decoder — Convert Text and Binary Data Using RFC 4648, Base32Hex, and Crockford Variants with Case-Insensitive, Human-Friendly Encoding
- Select your Base32 variant from the dropdown: RFC 4648 (standard) uses the alphabet A–Z and 2–7 — this is the most common variant, used in DNSSEC, OTP (one-time password) secrets, and onion addresses. RFC 4648 Hex uses 0–9 and A–V — designed for environments where the encoded output needs to sort lexicographically the same as the original binary data. Crockford is a human-friendly variant that avoids ambiguous characters (removing I, L, O, U to prevent confusion with 1 and 0) and includes an optional check symbol — ideal for user-facing identifiers and license keys.
- Type or paste your text in the input area — encoding and decoding happen automatically in real-time as you type. For encoding, your text is first converted to UTF-8 bytes, then encoded into Base32 characters using the selected variant's alphabet. For decoding, paste a Base32-encoded string and the tool instantly recovers the original text. The tool handles both directions simultaneously — if the input contains characters outside the Base32 alphabet, it treats it as plain text to encode; if it consists only of Base32 characters, the decoded result appears alongside.
- Review the result and click Copy to copy it to your clipboard. The alphabet display below shows the exact character set used by the selected variant. Base32 is particularly valuable because it's case-insensitive — unlike Base64 which uses both upper and lowercase letters (making it fragile in case-insensitive contexts like DNS and file systems), Base32 output can be typed, spoken, or printed without ambiguity. All encoding/decoding happens entirely in your browser using JavaScript — your data never leaves your device.
Enable JavaScript to use these tools.