Base91 Encoder and Decoder
Convert UTF-8 text with the variable-bit basE91 wire format.
Pack bytes efficiently into 91 printable symbols
BasE91 uses a 91-character alphabet and variable groups of 13 or 14 bits, producing less overhead than Base64 for many byte sequences. This tool encodes UTF-8 bytes with the standard basE91 bit-packing rule and reverses the process with character validation. It is useful for interoperating with systems that explicitly expect basE91, not merely any printable-text encoding.
The default word test encodes to fPNKd, and decoding fPNKd returns the original four letters. Unlike fixed-block encodings, basE91 chooses 13 bits when the low value exceeds 88 and otherwise consumes 14, then emits two base-91 digits. The final partial buffer may emit one or two characters, which is why output length is not a fixed block multiple.
Use basE91 as encoding rather than encryption
BasE91 provides no secrecy, integrity, or authenticity; anyone can decode it, and a changed symbol can silently alter bytes. Decoded bytes must also form valid UTF-8 for this text-focused page. Every transformation runs in your browser without network calls. Preserve the exact alphabet and case when exchanging values, because similarly named Base91 variants can use different symbol ordering.
Frequently Asked Questions
Is basE91 the same as Base64?
No. BasE91 uses 91 printable symbols and variable 13 or 14 bit packing, while Base64 uses fixed six-bit symbols.
Does basE91 encrypt my text?
No. It is a reversible binary-to-text encoding and supplies no confidentiality or tamper protection.
Why can punctuation change the result?
Punctuation belongs to the basE91 alphabet, so every character and its exact case carry encoded information.
Browse the full set of free, private, in-browser tools.