UUencode / UUdecode - Encode & Decode UU Online
Encoding Tools
Encode text or data to UU format and decode UU-encoded content back to plain text. Classic Unix uuencoding implemented entirely in your browser.
UUencode / UUdecode
UUencoding (Unix-to-Unix encoding) is one of the earliest binary-to-text encoding schemes. It was invented in the 1980s to allow binary files to be sent over early email and Usenet systems that only supported 7-bit ASCII text.
Output format
UU-encoded output starts with a begin line containing the Unix permission mode and
filename, followed by encoded data lines, a line containing a backtick, and finally an
end line. Each data line is prefixed with a character indicating the number of bytes
encoded in that line.
Modern alternatives
For new applications, Base64 is the preferred encoding. It is standardized in RFC 4648, widely supported, and produces slightly shorter output (33% overhead vs ~35% for UU). UUencode is mainly useful for working with legacy systems and historical content.
Historical context
UUencoding was developed around 1980 by Mary Ann Horton as part of the
uucp (Unix-to-Unix Copy) network protocol, which predated the modern internet. It was
the primary method for sending binary files over early email and Usenet (NNTP) systems that only
transported 7-bit ASCII. Multi-part Usenet posts encoding software, images, and audio were ubiquitous
through the late 1980s and early 1990s. MIME with Base64 attachments largely replaced UUencoding
by 1995.
File format walkthrough
A complete UU-encoded file looks like this (encoding the 5 ASCII bytes “hello”):
begin 644 hello.txt
*:&5L;&\`
`
end -
begin 644 hello.txt: the header line.644is the Unix file permission mode (owner rw, group r, other r). The filename follows. - Data lines: each line starts with a character whose ASCII value minus 32
gives the number of bytes encoded on that line. The asterisk (
*) at the start of the second line encodes 10 bytes (ASCII 42 − 32 = 10 -> actually 5 in this example). - Backtick line: a line containing only a backtick signals the end of data.
end: the footer marker.
UU vs. Base64 comparison
| Property | UUencoding | Base64 (RFC 4648) |
|---|---|---|
| Character set size | 64 printable ASCII | 64 printable ASCII |
| Size overhead | ~35% | ~33% |
| Header/footer | begin/end with filename and mode | None (MIME adds its own) |
| Line length | Fixed 60-char data lines | 76-char lines in MIME |
| RFC status | No active RFC; historically documented | RFC 4648 (current) |
| Library support | Limited; mostly legacy | Universal |
More encoding tools
- Base32 EncoderEncode and decode text or binary data using Base32 (RFC 4648 standard, Base32hex, or Crockford variant). Copy output with one click. Runs entirely in your browser.
- Base64Encode text or files to Base64 online: standard, URL-safe, and Base64url variants. Decode back to text or download as a file. All processing is local.
- Binary Text EncoderConvert any UTF-8 text to binary (8-bit groups) or decode binary back to text. Choose your separator format. Free, instant, browser-only.
- HTML EntitiesEncode special characters to HTML entities and decode them back. Supports named (&), decimal (&), and hex (&) styles. Runs entirely in your browser.
- Punycode EncoderEncode Unicode / internationalized domain names (IDN) to Punycode (xn--) and decode them back. Implements RFC 3492 entirely in the browser.
- QR CodeGenerate QR codes for URLs, text, Wi-Fi, vCards, email, SMS, phone, geo, crypto, and calendar events. Customize colors, size, and error correction. Download as PNG or SVG.