Encode text or files as basE91, a compact printable alphabet, or decode basE91 text back to bytes.
Runs in your browser — your input is processed on this device and never uploaded.
Enter text or upload a file to encode. To decode, enter the encoded text.
Results appear here.
basE91 writes binary data using a 91-character printable alphabet. For the same bytes it is usually shorter than Base64, but it is much less widely supported, and it is not encryption.
Base64 costs about a third extra. If you control both ends and the payload is large, that overhead is real.
The cheaper alternative is to ship Base64 anyway, since most libraries already speak it. basE91 only works when the decoder is expecting this exact alphabet, so using it because it is shorter against an unknown receiver just produces garbage.
Base64 Encoder and Decoder is the portable choice. RFC 1924 Base85 and Ascii85 sit between Base64 and basE91 on density, with their own alphabet traps. Hex Encoder and Decoder doubles the size and stays readable byte by byte.
If you need a fingerprint rather than a reversible copy, none of these fit. Use a hash such as BLAKE3.
The name really is spelled basE91, with that capital E. Joergen Ibsen's 2000 design packs a variable number of bits per character instead of a fixed 6.
Tip
Encoded output includes punctuation. Treat it as opaque text: it can break JSON, URLs and shell quoting unless you escape it.
Find similar tools by category or tag.