Base32 encoder.
Type text or drop a file and read its Base32 as you type. RFC 4648 alphabet, padded or not, copy or download the result; everything runs in your browser.
Base32 encoder.
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.
Enter text or a file
Type or paste anything, or drop a file onto the input; the Base32 updates with every keystroke.
Choose the form
With or without padding: pick in the bar and the result is rewritten in place.
Copy, download or swap
Copy the Base32, download it as a text file, or press Swap to decode it back.
Where Base32 is used
Case-insensitive and free of look-alike digits, at 60% larger than the bytes. Where Base32 does its work.
TOTP secrets
The secret inside an authenticator's QR code is Base32: `otpauth://totp/…?secret=JBSWY3DPEHPK3PXP`.
Tor onion addresses
A v3 onion address is 56 Base32 characters: the service's public key, a checksum and a version.
Case-insensitive file systems
A hash as a file name has to survive Windows and macOS folding case; Base32 does and Base64 doesn't.
DNS
DNS labels are case-insensitive, so binary data in a hostname (DNSSEC NSEC3, some tunnels) is Base32.
Codes people type
No 0, O, 1, l or 8, so a licence key or a recovery code read aloud comes back right.
ULIDs
ULIDs use Crockford's Base32, a variant with digits first, for a sortable 26-character id.
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.
Type or paste into the input and the Base32 appears as you type: "foobar" becomes MZXW6YTBOI======. Text is encoded as UTF-8 bytes, so accents and emoji come out the same as in every language's standard library. Copy the result, download it as a text file, or press Swap to decode it back.
Drop a file onto the input or choose one with the button, and its bytes are encoded directly, not as text. Any file the browser can hold in memory works; a few hundred megabytes is fine, and the result is 60% larger.
RFC 4648 pads Base32 with = to a multiple of eight characters, and strict decoders expect it. Authenticator secrets, onion addresses and most things that travel in a URL leave it off. Choose Without when the receiving side does, and either way the decoder here reads both.
Nothing leaves your browser. The text or file 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 encoder is free and opens without a sign-in, an account or an install.
Nothing. The Base32 encoder holds your input in the page's memory, so closing or reloading the tab clears it, and it saves nothing in this browser.
The bar has one choice: Padding, with or without the = signs (TOTP secrets are written without).
Base32 output is 8 characters for every 5 bytes, so 60 percent longer, and the status line under the result shows the bytes in, the characters out and the percentage.
The text is encoded as UTF-8 bytes first, so accented letters, other scripts and emoji round-trip through the decoder unchanged. Each of those characters takes more than one byte, which makes the output longer than the character count suggests.
Press Swap once there is a result and the same tool becomes the Base32 decoder, with the output moved into the input. The decoder shows the original text again.
Closest to the Base32 encoder: Base32 decoder, File to Base32, Base32 to file, Base64 encoder. Each opens on its own page, free and in the browser.
The Base32 encoder 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




