My Tools Garage

Base91 Encoder Decoder

Encode and decode basE91, denser than Base64.

in-browser

How to use

  1. 1 Choose Encode to turn text into basE91, or Decode to recover the original.
  2. 2 Paste or type your text into the input box.
  3. 3 Read the converted result in the output box.
  4. 4 Copy the output with the Copy button.

About Base91 Encoder Decoder

basE91 is a binary-to-text encoding designed by Joachim Henke that squeezes roughly 23% more data into each character than Base64.

It does this by emitting 13 or 14 bits at a time across pairs of symbols drawn from a 91-character alphabet, so the same payload produces a shorter, denser string.

That makes it a neat choice when you need ASCII-safe text but want to waste fewer bytes — embedding small binary blobs in configuration files, log lines, query strings or anywhere overhead matters.

This tool encodes any UTF-8 text into basE91 and decodes a basE91 string back to the original text.

Encoding always succeeds; decoding validates every character against the alphabet and reports the first offending symbol, then checks that the recovered bytes form valid UTF-8 so you know immediately if the input was corrupted.

Whitespace and line breaks pasted from a wrapped block are ignored on decode, which makes copy-and-paste painless.

The alphabet deliberately omits the apostrophe, hyphen and backslash, so output stays safe inside double-quoted strings.

Everything runs locally in your browser — nothing is uploaded, logged or stored — so it is safe for private data and keeps working offline once the page has loaded.

FAQ

How is basE91 different from Base64?

basE91 uses a 91-symbol alphabet and emits 13–14 bits per character pair, so the encoded output is about 23% shorter than Base64 for the same data.

Why did my decode fail?

Decoding fails if the string contains a character outside the basE91 alphabet, or if the recovered bytes are not valid UTF-8 text. The error names the first bad character.

Is my data sent anywhere?

No. Encoding and decoding happen entirely in your browser, so your input never leaves your device.