Readablewiki

Base32

Content sourced from Wikipedia, licensed under CC BY-SA 3.0.

Base32 is a way to turn binary data into text using 32 symbols. It works by taking groups of five bits and mapping each group to one Base32 character. Since eight 8-bit bytes (40 bits) become eight 5-bit characters, encoding can require padding to fill out the final block.

The most common Base32 alphabet uses the uppercase letters A–Z followed by the digits 2–7. Padding with = characters is often added to make the output a multiple of 8 characters, but many contexts (such as URL tokens) omit padding for convenience.

There are several variants and notations. In addition to the standard Base32, there’s base32hex, which uses a different 32-character set (0–9 then A–V) and preserves numeric order. Other schemes like z-base-32 and Crockford’s Base32 aim for different goals, such as easier human use or avoiding visually similar characters. Because different standards sometimes call their scheme “base32” or “base32hex,” it’s important to know which alphabet is being used to ensure compatibility.

Base32 has advantages over hex because it packs data into 5-bit chunks. It’s often easier to read and type than base64 in some contexts, but it generally produces about 20% more text than base64 for the same data. It also doesn’t map cleanly to individual bytes, since each piece represents 5 bits rather than 8.

Common uses include encoding binary data in tokens, identifiers, and certain protocols. Notable examples include IPFS CIDv1 and some coordinate encodings in Geohash, which use modified base32 variants.

When choosing a Base32 variant, check the alphabet being used, whether padding is included, and whether the encoding is intended for URLs, filenames, or human reading. Base32 remains a flexible option for turning binary data into text, with several variants to fit different needs.


This page was last edited on 3 February 2026, at 13:23 (CET).