Base32 Encode / Decode
Encode / DecodeEncode and decode Base32 with Standard, Extended Hex, Crockford, and z-base-32 alphabets
Paste text to encode it into Base32, or paste a Base32 string to decode it back, with a choice of alphabet: standard RFC 4648, Extended Hex, Crockford (which drops visually ambiguous letters like I, L, O, and U for human-typed IDs), and z-base-32, the variant common in distributed systems. This is the encoding you'll run into for DNS labels, TOTP secret keys, and filesystem-safe identifiers where Base64's mixed case or special characters would cause problems. Decoding requires knowing which alphabet was used to encode, since the same string decodes differently depending on which one you pick, and an invalid character for the selected alphabet will fail rather than silently produce garbage. Everything runs locally in the browser.
How to use Base32 Encode / Decode
- 1.Paste text and encode it with the Standard alphabet to generate a Base32 string for use in DNS labels, TOTP secrets, or filenames that need to avoid special characters.
- 2.Switch to Crockford alphabet when decoding IDs or tokens meant to be human-typable, since it excludes visually ambiguous characters like I, L, O, and U.
- 3.Decode a z-base-32 string from a distributed system or Tahoe-LAFS style identifier back into its original bytes.
Frequently asked questions
Use via API, SDK, or MCP
Installnpm install @utilix-tech/sdkUsageimport { encoding } from '@utilix-tech/sdk'
const bytes = new TextEncoder().encode('Hello')
const encoded = encoding.base32EncodeBytes(bytes)
console.log(encoded) // JBSWY3DPRuns locally · no API key · no rate limits · Node.js SDK docs →