Base32 decoder.
Paste Base32 and read the text it holds as you type. Upper or lower case, with or without padding, spaces ignored; everything runs in your browser.
Base32 decoder.
Need the UI around it? With Pro, your AI agent builds the form, the result card and the rest of the page from a prompt.
Get ProHow it works
3 steps, no account. It runs in your browser and nothing is uploaded.
Paste the Base32
Paste the Base32, with or without its spaces and line breaks; the text appears as you type.
Read the status
The status line says how many characters became how many bytes, and whether they are UTF-8 text.
Copy or download
Copy the text or download it; for bytes that aren't text, use Base32 to file.
Related tools
More encoders and decoders. Every one free, in the browser.
Pricing
Build it with Pro
The tool is free. Pro adds 6,000+ blocks, premium templates and the MCP server, so your AI editor builds the product around it.
4.9/5 out of 5 · 150+ reviewsfrom 150+ founders and developers.
- Secure checkout via Stripe
- Code lives in your repo
- Keep what you've shipped if you cancel
- License terms
Questions and answers
Before you trust the result: what to know about the format, the limits, your data and the tools next to it.
Base32 writes binary data with 32 characters, A to Z and 2 to 7, padded with =. It is specified in RFC 4648 (2006) alongside Base64. Its point is that it survives systems that fold case or confuse 0 and O and 1 and l: it has no lowercase, no 0, no 1, no 8 and no 9.
Five bytes are 40 bits, split into eight groups of five bits, each written as one of the 32 characters. The output is 60% larger than the input and is padded with = to a multiple of eight characters. The decoder reads lowercase too, and pads for you when the padding is missing.
TOTP and HOTP secrets, the key behind every authenticator app's QR code; Tor's onion addresses; the names of content in case-insensitive file systems and DNS; and codes people read aloud or type from paper.
Yes, apart from the padding: letters and digits need no escaping, and = only appears at the end. Most tools that put Base32 in a URL leave the padding off, which this encoder can do.
It is 60% larger than the bytes, against Base64's 33%, and that is the cost of case-insensitivity. Base36 is also case-insensitive but treats the input as one number and is slow on anything big; Base32 streams. For something a person reads out or types, Base32 is the usual pick; for a machine-to-machine field, Base64.
No. Base32 is an encoding, not encryption: it changes how bytes are written, not who can read them, and anyone can decode it with no key. Encrypt first (AES, age, a library's sealed box) when the content needs protecting, then encode the ciphertext if it has to travel as text.
Paste the Base32 and the text appears as you type; the status line says how many characters became how many bytes. Spaces and line breaks are ignored, so a wrapped value from an email or a config file pastes as it is. Press Swap to encode the result again.
The decoder gives you the bytes as UTF-8 text when they are text. When they aren't, an image or a PDF for instance, it still shows them, with replacement characters where the bytes aren't valid UTF-8, and the status line says so. Use Base32 to file to download the bytes as they are instead.
Base32 uses A to Z and 2 to 7, and the error names the first character that isn't among them. Check for a stray quote, a trailing comma or a prefix from the surrounding code. Spaces and line breaks are dropped for you.
Nothing leaves your browser. The text is read into memory on your machine and the encoding is computed there, in plain JavaScript; the page makes no request with it. Load the page, go offline and it keeps working.
No. The Base32 decoder is free and opens without a sign-in, an account or an install.
Nothing. The Base32 decoder holds your input in the page's memory, so closing or reloading the tab clears it, and it saves nothing in this browser.
It takes either case, with or without the = padding, and ignores spaces and line breaks. Anything else stops with a message naming the first character it can't read.
Yes: drop a text file that holds the Base32 on the input. The file is read as text and decoded, so a saved encoding doesn't need pasting.
Press Swap once there is a result and the same tool becomes the Base32 encoder, with the decoded text moved into the input.
Closest to the Base32 decoder: Base32 encoder, Base32 to file, File to Base32, Base64 decoder. Each opens on its own page, free and in the browser.
The Base32 decoder is one of 32 in its group. The group's page, /tools/encoding, lists them all.
The tool is free. Its interface is built from shadcn.io's own components (Button, Input, Slider and the rest of the registry under /ui), which come in React, Vue, Svelte and Solid. Pro adds the blocks and templates for the product around it.
4.9 out of 5 from 150+ developers
Build the product around it
Every block, template and icon, installed by your AI agent in your theme. The tools stay free.
Get Pro




