XXEncode / XXDecode

UUEncode variant using only alphanumerics, plus and minus

Ad placeholder (leaderboard)

XXEncode is a close cousin of uuencode, built to solve the same problem of moving binary through 7-bit text channels, but with an alphabet chosen to survive even hostile gateways. This tool encodes text into an xxencoded block and decodes blocks back to the original bytes, all in your browser.

How it works

XXEncode borrows uuencode’s exact framing: a begin 644 filename header, body lines of up to 45 source bytes, and an end trailer. For each three input bytes it forms four 6-bit values and looks each one up in the 64-character XX alphabet, which is +, -, the digits, and the upper- and lower-case letters. Every line starts with one alphabet character whose index equals the number of original bytes that line carries.

The crucial difference from uuencode is the alphabet. UUEncode’s mapping lands on many punctuation marks that some legacy mail systems silently rewrote. XXEncode deliberately uses only alphanumerics plus + and -, so a block could pass through those gateways without corruption.

Tips and notes

When decoding a real block, include everything from begin to end; the tool skips anything before the header. XXEncode and uuencode are not interchangeable even though they look alike, because the alphabets differ, so make sure you pick the right decoder for the block you have. For modern email use MIME base64; reach for xxencode mainly when recovering old archives or when a transport still mangles punctuation.

Ad placeholder (rectangle)