Base91
Encode text or hex bytes to basE91 and back, with a size comparison against Base64 and Base85.
Base91
basE91 packs binary data into printable ASCII more tightly than Base64 or Base85 — roughly 23% larger than the original bytes at worst, against Base64's fixed 33% and Ascii85's 25%. This tool converts text or raw hex bytes to basE91 and back, entirely in your browser.
Switch direction between encode and decode, and choose whether the raw side of the conversion is plain UTF-8 text or hex byte pairs — useful when you are packing binary data that isn't valid text on its own. Turn on "Wrap output at" to break a long encoded string into fixed-width lines, the way basE91 is often embedded in source files or config blocks. "Compare size with Base64 and Base85" adds the equivalent output length those encodings would produce for the same input, so you can see the saving at a glance.
Decoding validates the input by default: a character outside the basE91 alphabet is reported with its position, so a truncated paste or a stray character is easy to spot. Turn validation off to skip unrecognized characters instead — handy when the encoded block was copied out of surrounding prose. Whitespace and line breaks are always ignored, so wrapped or reflowed basE91 decodes cleanly either way.
Everything runs locally: your text and bytes are never uploaded anywhere, which matters if you're decoding tokens, keys or other sensitive payloads. Copy the result, download it as a .txt file, or send the output straight back into the input to chain another step.