AZ Tools

Base32 Encoder / Decoder

Developer

Convert text to and from Base32. Standard Base32 (RFC 4648) uses the alphabet A–Z + 2–7, which is what TOTP / 2FA seed strings are encoded with. The base32hex variant (0–9 + A–V) preserves lexicographic order, handy for filenames and DNS labels. Padding with `=` is optional on encode and tolerated on decode.

Output

How to use

  1. Pick encode or decode.
  2. Choose the variant — Standard (TOTP / 2FA) or Hex (Crockford-style).
  3. Toggle padding off if you want a clean output without trailing `=`.

Frequently asked questions

Why not just use Base64?
Base32 uses only A–Z and 2–7 — case-insensitive and avoids visually confusing characters like 0/O and 1/l. That makes it safer for hand-typed secrets, voice transcripts, and DNS labels.
Is this what TOTP / 2FA apps use?
Yes. The seed string you scan or type into Google Authenticator / Authy / 1Password is Base32-encoded with the standard alphabet. Padding is usually stripped.
What's the difference between Standard and Hex?
Standard (A–Z, 2–7) is the common one. Base32hex (0–9, A–V) preserves the sort order of the original bytes, which matters for things like generated filenames where you want byte-order sorting to match string-order sorting.
Does this work on binary data?
The input field is text — Unicode is encoded as UTF-8 first. For arbitrary binary data, paste the bytes hex-encoded into a separate tool first.

Related tools