About Base32 Encode
Base32 encodes data using 32 characters — the letters A to Z and the digits 2 to 7, following RFC 4648. Compared with Base64 it produces a longer result for the same input, roughly 60% overhead instead of 33%, and the reason to accept that cost is legibility in situations where case or look-alike characters cause trouble.
The alphabet deliberately excludes 0, 1, 8 and 9, because those are the digits most often confused with O, I, B and g when read aloud or copied by hand. That is why Base32 appears in contexts where a value has to be transcribed by a person or dictated over the phone — two-factor authentication setup secrets being the example most people encounter.
It also survives being uppercased, which Base64 does not: since every letter in the alphabet is uppercase, a system that normalises case will not corrupt the value. This decoder strips trailing padding and is case-insensitive, so a value that has been through either treatment still reads correctly.
How to use Base32 Encode
- 1 Paste the text you want to encode.
- 2 The Base32 result appears immediately, using only A–Z and 2–7.
- 3 Copy the output — it is safe to uppercase or transcribe by hand without risking corruption.
Frequently asked questions
Why is Base32 longer than Base64?
Because it uses 32 symbols instead of 64, each symbol carries one fewer bit — five bits rather than six. The same input therefore needs more output characters, producing about 60% overhead against Base64's 33%.
Why are the digits 0, 1, 8 and 9 missing from the output?
They are excluded by the RFC 4648 alphabet so the output cannot be misread as letters. 0 and O, 1 and I, and 8 and B are the pairs most often confused when a value is transcribed or read aloud, and leaving those digits out removes the ambiguity entirely.
Where is Base32 actually used?
Most visibly in two-factor authentication setup secrets, which are Base32 precisely because users copy them by hand. It also appears in some content-addressing schemes and in systems where a case-insensitive identifier is required.
Can I decode a value that lost its padding?
Yes. The decoder removes any trailing = characters and accepts lowercase input, so a value that has been trimmed or case-normalised still decodes correctly.
Free, online, and private
Free to use
Base32 Encode is completely free. There is no account to create, no login, and no hidden charge or usage limit.
Runs online in your browser
It is a free online tool that runs entirely in your browser. Nothing to download or install — open the page and start using it right away.
Your data stays private
All processing happens locally on your device. Your input is never uploaded, stored, or tracked, so it never leaves your browser.
How Base32 Encode behaves in detail
These are the specifics of this implementation — the exact ranges, defaults and fixed settings you are working with.
| Parameter | Value |
|---|---|
| Alphabet | ABCDEFGHIJKLMNOPQRSTUVWXYZ234567 — 32 characters, RFC 4648 order |
| Byte handling | UTF-8 bytes first (TextEncoder), then 5-bit groups |
| Padding | none — the partial final group is zero-filled and no = is appended |
| Output case | uppercase only, since the alphabet is uppercase |
| Worked example | A becomes IE (two digits); 5 bytes fill 8 digits exactly |
Compiled from the implementation of this tool and checked against it by itoolnet.
What Base32 Encode does not do
Knowing the edges of a tool saves more time than another list of its features. These are the cases where it will not do what you might expect.
- Padding is never emitted, while RFC 4648 defines the output length as a multiple of eight characters: a single character comes back as two digits instead of the padded IE====== that a strict decoder may require.
- The input is a text field read as UTF-8, so arbitrary binary cannot be encoded. A byte sequence that is not valid UTF-8 — a key file, a compressed blob — cannot be pasted in without being altered first by the UTF-8 pass.
- Output is one unbroken line with no length cap and no wrapping option, which is inconvenient for the line-oriented formats (MIME bodies, PEM-style blocks) that base32 is often used inside.
Tested and documented by itoolnet, the team that builds and maintains this site.