Base32 Encode / Decode

RFC 4648 Base32 encoding and decoding online: the A–Z, 2–7 alphabet with automatic padding. Converted locally, nothing uploaded.

Files stay local Max 2MB

Options

What this tool does

Base32 encodes any bytes using only 26 uppercase letters and the digits 2–7 — 32 symbols total, with no lowercase, 0 or 1 that people tend to confuse. It is standardized in RFC 4648 and common in 2FA secrets, recovery codes and certificate fingerprints.

Compared with Base64: Base32 output is ~60% longer but "copy-friendly" — no case sensitivity and no ambiguous 0/O or 1/l/I pairs. This page implements RFC 4648: encoding emits = padding, decoding tolerates lowercase, whitespace and missing padding. Everything is converted locally.

How to use

  1. Pick encode or decode Encode turns text into Base32; decode restores Base32 to UTF-8 text — decoding binary content reports an error instead of emitting mojibake.
  2. Paste and convert No need to strip whitespace or = padding before decoding — the tool cleans it automatically. The "send to decode/encode" button makes round-trip checking one click.

FAQ

Base32 vs Base64 — which one?

Base64 is compact (+33%) for machine-to-machine transfer; Base32 (+60%) trades size for human-friendliness — ideal for keys and recovery codes handled by people.

Do I need to fix case and padding before decoding?

No. Decoding uppercases, strips whitespace and = padding automatically, and works without padding. Only out-of-alphabet characters (0, 1, 8, 9…) cause an error.

Why does my 2FA secret not match?

2FA secrets are "Base32 of bytes" — encoded as raw bytes, then displayed. Encoding the already-decoded text again gives a different result. Make sure you are feeding the original secret text.

Can it decode binary data?

This tool outputs decoded results as UTF-8 text and errors clearly on binary. For binary Base32 payloads, use a general-purpose decoder or script.

Is Crockford Base32 supported?

No. The Crockford variant excludes I, L, O and has its own check-digit rules — a different spec. This tool implements RFC 4648 only.

Is my content uploaded?

No. Encoding and decoding run in a browser Worker; content never leaves your device.

Limits

Up to 2MB per run; RFC 4648 alphabet (A–Z, 2–7) only — no Crockford / z-base-32 variants.

Decoded output is UTF-8 text: binary content errors out clearly instead of printing mojibake.

Encoding always emits = padding; decoding tolerates missing or extra padding.

Related tools