Encode or decode basE91, a compact printable alphabet. Runs in your browser.
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. It is also much less widely supported, and it is not encryption.
There are no alternate alphabets and no padding setting.
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. 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 Encoder and Decoder and Ascii85 Encoder and Decoder 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.
Encoded output includes punctuation. Treat it as opaque text: it can break JSON, URLs, and shell quoting unless you escape it.