Base45 Encoder and Decoder
Convert text using the compact QR-friendly RFC 9285 alphabet.
Encode binary data for restricted character sets
Base45 was designed for environments such as alphanumeric QR codes that cannot use the full Base64 character set efficiently. RFC 9285 groups two bytes into three Base45 characters and a final single byte into two. This tool applies that exact little-endian digit order to UTF-8 text and validates decoded groups before converting bytes back to readable text.
The two ASCII bytes in AB combine to decimal 16706 and encode as BB8. Decoding BB8 reconstructs the same bytes and returns AB. A three-character group may represent at most 65535, while a two-character tail may represent at most 255; values above those bounds are rejected instead of being silently truncated into incorrect data.
Check groups and byte ranges during decoding
Base45 is an encoding, not compression or encryption, so it can enlarge data and reveals its contents to anyone with a decoder. The page requires decoded bytes to be valid UTF-8. Processing remains in your browser. Keep spaces intact because the space character is part of the RFC alphabet, and do not automatically trim a value copied from a QR payload.
Frequently Asked Questions
Why does Base45 use three characters for two bytes?
Two bytes span 65536 values, and three base-45 digits can represent that full range.
Is a space allowed in Base45?
Yes. Space is one of the 45 RFC alphabet characters and must not be removed casually.
Does Base45 secure a QR payload?
No. It only makes bytes compatible with a restricted text alphabet; security needs separate cryptography.
Browse the full set of free, private, in-browser tools.