Encoding and security guides

Base32 decoding: alphabet, padding and case rules

Inspect RFC 4648 Base32 input and avoid confusing standard Base32 with alternate alphabets.

Nav Tools ·

Identify the alphabet

Standard Base32 uses A through Z and digits 2 through 7. It encodes bytes into groups of five bits.

Characters 0, 1, 8 and 9 do not belong to that alphabet. Do not silently replace lookalike characters without a protocol rule.

UTF-8 text: foo
RFC 4648 Base32: MZXW6===

Understand padding

An incomplete final group can require equals-sign padding to reach an eight-character block under the standard padded representation.

Some protocols intentionally omit padding. Confirm the surrounding protocol before adding or removing it to satisfy a particular decoder.

Case tolerance is implementation policy

The standard alphabet is uppercase. Decoders may accept lowercase according to their chosen tolerance rules.

Use the site's encoder to obtain a reference representation, then test the intended receiver with lowercase, malformed padding and invalid characters.

Keep variants separate

Base32hex and other Base32-like encodings use different alphabets. The same visible text can decode differently or fail.

Record the variant alongside the data. Base32 is a transport representation, so decoding a value does not validate its source or make it confidential.

References

← Encoding and security guides