Base91 Encoder / Decoder

Encode binary data as basE91 — a denser alternative to base64 (~13% smaller output for the same input). Uses 91 printable ASCII characters (everything except backslash, single quote, and double quote, plus space). Useful for protocols that need text-safe encoding but want to save bytes over base64.

How to use the Base91 Encoder / Decoder

Encode: paste text, get basE91-encoded output. Decode: paste basE91 string, get the original. Whitespace in encoded input is ignored on decode.

What is the Base91 Encoder / Decoder?

basE91 was created by Joachim Henke as an answer to "what if base64 used more characters?". By using 91 characters from the 7-bit ASCII printable range, basE91 packs each pair of input bytes into roughly 14 bits of output (the encoder uses variable-length blocks). The resulting output is ~13% smaller than base64 for the same input, while remaining safe for any 7-bit text channel.

Frequently asked questions

How is basE91 different from base64?

basE91 uses 91 printable characters instead of 64, packing more bits per character, so the output is roughly 13% smaller than base64 for the same input.

When should I use basE91 over base64?

When you need text-safe encoding, want to save bytes and both ends support basE91. base64 remains the safer default for broad interoperability.

Is it the same as base85 or Ascii85?

No. They use different alphabets and packing. basE91 is denser than base85, but they are not interchangeable encodings.
Embed this tool on your site

Free to embed, no attribution required (but appreciated). Paste this where you want the tool to appear: