Skip to content
Encoding
Base32
Boundary
Text or bytes
Runtime
Browser

Encode bytes with an explicit Base32 alphabet and padding policy

Choose RFC 4648 Base32 or base32hex and decide whether canonical padding is retained.

Local processingNo sign-upNo files or upload

Encode 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.

Selected Base32 representation

Decoder reports keep lowercase hexadecimal authoritative.

What this tool proves

Explicit byte-to-text semantics

Base32 and base32hex have different alphabets and must not be auto-detected. Both produce uppercase text; padding remains a visible policy choice.

Alphabet and padding are part of the data contract

Base32 and base32hex have different alphabets and must not be auto-detected. Both produce uppercase text; padding remains a visible policy choice.

Five-byte groups become eight symbols. Unused tail bits are zeroed so a strict decoder can require one canonical representation.

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