Skip to content
Encoding
Base32
Boundary
Text or bytes
Runtime
Browser

Strictly decode selected Base32 or base32hex text

Decode one chosen Base32 profile without case folding, ambiguous glyph mapping, or padding repair.

Local processingNo sign-upNo files or upload

Decode Base32

Limited to 512 KiB of bytes and 1 MiB of encoded text.

Tool Swim does not upload, fetch, save, log, convert files, or create presets from these values.

Decoded byte report

Decoder reports keep lowercase hexadecimal authoritative.

What this tool proves

Explicit byte-to-text semantics

The selected alphabet determines whether digits appear before or after letters. Lowercase, 0/O substitutions, and 1/I/L substitutions are rejected.

Strict decoding refuses helpful-looking substitutions

The selected alphabet determines whether digits appear before or after letters. Lowercase, 0/O substitutions, and 1/I/L substitutions are rejected.

The engine validates whole blocks, padding placement, and unused tail bits, then requires a canonical re-encoding match.

Bytes stay explicit, private, and bounded

Encoder text is converted with UTF-8 only after malformed surrogate pairs are rejected. Hex mode accepts exact byte pairs without 0x, spaces, or separators. Decoder hex is authoritative; a text preview appears only when the bytes are valid UTF-8.

The work starts only when you submit the form. Source text, byte values, and results stay in the current browser tab; Tool Swim does not upload them, log their content, save presets, or call a developer API.

Base16, Base32, Base64, and Base85 allow at most 512 KiB of source or decoded bytes and 1 MiB of encoded text. Bitcoin Base58 is limited to 4,096 bytes or 5,600 characters because generic radix conversion is quadratic.

Primary references

Questions and answers

Related Base Encoding tools