Base85 decoder.
Paste ASCII85 and read the text it holds as you type. With or without the <~ ~> delimiters, line breaks ignored; everything runs in your browser.
Base85 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 Base85
Paste the Base85, 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 Base85 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.
Base85, or ASCII85, writes four bytes as five characters drawn from the 85 printable ASCII characters from ! to u, with z standing for four zero bytes. Paul Rutter's btoa program introduced the idea in 1985; Adobe adopted it in PostScript Level 2 and in PDF (the ASCII85Decode filter), which is where most of it lives today.
Four bytes are read as one 32-bit number and written as five base-85 digits, each offset by 33 to land on a printable character. The output is a quarter larger than the input, the least of the common encodings. A final group of one to three bytes is written as two to four characters; a group of four zeros is a single z.
PDF streams and PostScript files, where binary images and fonts are embedded as text; Git's binary patches, with its own alphabet; ZeroMQ's Z85 variant for keys; and anywhere the extra density over Base64 is worth the unfriendly characters.
Denser than Base64 (25% against 33%) and that is its only advantage: the alphabet has quotes, slashes and brackets, so it needs escaping in a URL, a JSON string or a shell, and there are several incompatible variants. Use it where a format asks for it; otherwise Base64.
There are several Base85s. This one is ASCII85, as PDF and PostScript write it, optionally between <~ and ~>. Git's binary patches and ZeroMQ's Z85 use the same density with different alphabets and no z shorthand, so their text won't decode here and ASCII85 won't decode there.
No. Base85 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 Base85 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 Base85 to file to download the bytes as they are instead.
Base85 uses the 85 printable characters from ! to u, plus z, 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 Base85 decoder is free and opens without a sign-in, an account or an install.
Nothing. The Base85 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 the characters "!" to "u" and "z" for four zero bytes, with or without the <~ ~> delimiters, ignoring 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 Base85 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 Base85 encoder, with the decoded text moved into the input.
Closest to the Base85 decoder: Base85 encoder, Base85 to file, File to Base85, Base64 decoder. Each opens on its own page, free and in the browser.
The Base85 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




