Base32 Encoder and Decoder

Encode text to RFC 4648 Base32 and decode it back in your browser. Your input stays on your device.

The Base32 Encoder / Decoder runs entirely in your browser. The text and Base32 strings you encode or decode never leave your device and nothing is uploaded to ArrayKit.

Open the Base64 Encoder / Decoder

About Base32 Encoder / Decoder

The Base32 Encoder / Decoder converts UTF-8 text to RFC 4648 Base32 and turns Base32 back into readable text. Base32 uses the 32-character alphabet A–Z and 2–7, so the output is case-insensitive and safe to type, dictate, or embed in filenames and URLs where Base64's mixed case and +/ symbols cause trouble. Encode mode pads the result to an 8-character boundary with '=', and a toggle lets you drop the padding when a system expects it bare. Decode mode is forgiving: it accepts lowercase, ignores whitespace, and reconstructs missing padding, while flagging any character outside the alphabet. It is handy when you work with TOTP secrets, DNS records, or Bitcoin-style identifiers. Everything runs on your device — the text you paste never leaves your browser.

Features

How to use the Base32 Encoder / Decoder

  1. Keep the Encode tab selected and type or paste your text
  2. Copy the Base32 output, or turn off Padding to drop the '=' characters
  3. Switch to Decode and paste a Base32 string to recover the text
  4. Read the error banner if the input has characters outside A–Z or 2–7

Example

Input

foobar

Output

MZXW6YTBOI======

"foobar" encodes to the canonical RFC 4648 padded Base32 value.

Common errors & troubleshooting

Frequently asked questions

What is Base32 and how is it different from Base64?
Base32 encodes binary data using only A–Z and 2–7, so it is case-insensitive and avoids the +, / and mixed case of Base64. It is longer than Base64 but easier to type, read aloud, and use in URLs or filenames.
Which Base32 alphabet does this tool use?
It uses the standard RFC 4648 alphabet: the letters A through Z followed by the digits 2 through 7, with '=' as the padding character. It does not use the Crockford or z-base-32 variants.
Can I decode Base32 that is lowercase or has no padding?
Yes. The decoder uppercases the input for you and reconstructs any missing '=' padding, so lowercase and unpadded Base32 both decode correctly without extra steps.
Should I keep the padding on or off?
Padding follows RFC 4648 and keeps the output a multiple of eight characters, which most systems expect. Turn it off only when a specific format or field wants the bare string without trailing '='.
Is my text sent to a server when I encode or decode?
No. The Base32 Encoder / Decoder runs entirely in your browser. The text and Base32 strings you paste stay on your device and are never uploaded to ArrayKit.

Related tools

All ArrayKit tools