encode Mode

Batch Input

0 Items

0 Output lines

0 Output chars

Encode and decode Base91 instantly

Base91 is a compact, printable encoding that represents bytes using an alphabet of 91 characters. Because the alphabet is larger than Base64’s 64 characters, Base91 can often produce shorter output for the same underlying data.

You may run into Base91 in:

  • niche data transport formats
  • custom protocols
  • compact “text-safe” payloads
  • debugging or test vectors

This tool gives you a fast, browser-based way to encode and decode Base91 text with live output and practical options.


What this Base91 tool can do

  • Encode UTF‑8 text → Base91
  • Decode Base91 → UTF‑8 text
  • Batch by newline (process many items at once)
  • Trim lines in batch mode (optional)
  • Wrap output at 76 characters (encode mode)
  • Copy output in one click

No uploads, no accounts—everything runs locally.


How to use it

1. Choose Encode or Decode

  • Encode turns your input text into Base91.
  • Decode converts Base91 back into readable text.

You can switch modes instantly from the input panel.

2. Decide between batch and single input

  • Batch by newline: each non-empty line is treated as a separate value.
  • Single input: the whole textarea is treated as one value.

Batch mode is ideal when you’re working with lists or logs.

3. Optional formatting (Encode mode)

  • Wrap @ 76 inserts a newline every 76 characters.

This is mainly for readability or compatibility with systems that prefer wrapped lines.

4. Copy your result

Use Copy in the output panel to copy the full result.


Base91 vs Base64: what’s the difference?

Both are reversible encodings, not encryption.

  • Base64 uses a 64-character alphabet and is extremely common in web APIs.
  • Base91 uses a 91-character alphabet, which can pack data more tightly and often results in shorter strings.

Why shorter output matters

Shorter encoded strings can help when:

  • you’re embedding data into compact text channels
  • payload size is constrained
  • you want reduced overhead compared to Base64

That said, Base91 is less standard than Base64—so it’s typically used only when you know the target system expects it.


Batch mode: encode or decode lists safely

When Batch by newline is enabled:

  • each line is processed independently
  • empty lines remain empty to preserve alignment
  • invalid lines show an !ERROR: message, while valid lines still succeed

This is useful for:

  • converting many tokens at once
  • decoding data copied from logs
  • transforming datasets without reformatting them first

If you want the cleanest batch input, enable Trim lines to remove leading and trailing whitespace.


Wrap @ 76: when to use it

Wrapping inserts line breaks every 76 characters during encoding.

Use it when:

  • you’re pasting Base91 into systems with line length limits
  • you want long strings to be easier to scan visually
  • you’re formatting encoded content for documentation

If you’re using Base91 in APIs or code, you usually want wrapping off.


Practical use cases

Protocol and integration debugging

  • decode a Base91 payload from logs
  • verify an encoded value matches expected output
  • quickly compare multiple inputs and outputs line-by-line

Compact text transport

  • encode short payloads for transport through text-only channels
  • reduce overhead compared to Base64 when a target system expects Base91

Testing and documentation

  • generate stable encoded examples
  • create encoded fixtures for unit tests
  • build demo strings for documentation pages

Tips for reliable results

  • Base91 is case-sensitive. a and A are different.
  • Do not treat Base91 as secure. Anyone can decode it.
  • If decoding fails, the most common causes are:
    • stray characters added during copying
    • smart quotes or formatting artifacts
    • missing characters due to truncation
  • If you expect binary output (like an image), remember this tool decodes to UTF‑8 text. For binary files you’ll want a Base91-to-file workflow.

Troubleshooting

“Invalid Base91 character”

  • Your input contains a character outside the Base91 alphabet.
  • Remove surrounding quotes, commas, or accidental copy artifacts.
  • Ensure the string wasn’t modified by rich text formatting.

“I decoded it but the text looks wrong.”

  • The decoded bytes may not represent UTF‑8 text (it could be binary data).
  • If you’re decoding non-text payloads, use a tool that outputs bytes/files instead.

“Batch mode shows errors on some lines.”

  • Each line is processed independently.
  • Fix or remove the failing lines—other lines can still encode/decode correctly.

Perfect for

  • developers working with Base91 payloads
  • decoding or encoding values found in logs or niche protocols
  • batch converting many strings at once
  • generating compact encoded examples for testing

If you need a fast, private Base91 encoder/decoder with batch support and clean output controls, this tool is a simple way to get it done in your browser.

Frequently Asked Questions

Base91 is a compact text encoding that converts bytes into printable characters. It is sometimes used in niche protocols, compact text transport, or situations where you want an even shorter output than Base64 for the same data.

No. Base91 is not encryption. It’s a reversible encoding—anyone can decode it back to the original bytes. Use real cryptography if you need secrecy.

Base91 uses a larger alphabet (91 characters) including punctuation. That helps it pack data more efficiently, often producing shorter strings than Base64 for the same input.

Yes. Enable batch mode and place one value per line. The tool processes each line independently and preserves line alignment in the output.

It inserts a newline every 76 characters during encoding. This can improve readability and match line-wrapping conventions used in some text transport formats.

No. Everything runs locally in your browser. Your input stays on your device while it’s encoded or decoded.

Explore Our Tools

Read More From Our Blog