Uuencode and uudecode text online — begin 644 blocks

Wrap text in a classic uuencoded block, with a begin line, 61-character data lines and an end line, or paste an old uuencoded block to get its contents back.

Live demo · real result from this tool
Direction

Encoded

begin 644 message.txt#0V%T`end

Processed on your device — nothing is uploaded.

How to use the uuencode tool

  1. Set Direction to Encode or Decode.
  2. To encode, paste text into Input and set File name in the begin line. The default is message.txt.
  3. To decode, paste the whole block, from the begin line to the end line. Lines before begin are skipped.
  4. Copy the result. Decoded bytes that are not valid text are shown as hex.

What it does and when to use it

Uuencoding dates from the early days of Unix networking. It was the standard way to send files by email and to post them on Usenet until MIME and Base64 replaced it. You still meet it in old mailing list archives, retro computing, some legacy batch systems that print reports with attachments, and in programming exercises.

Use the decoder to recover the contents of an old block, and the encoder to create test data for a legacy system or a parser.

The close relative XXencode uses the same line layout with a different alphabet that survives systems that change punctuation. For anything new, use Base64, which is the modern standard. To look at decoded binary bytes in detail, paste the hex into the hex dump viewer.

How it works

  1. Text becomes UTF-8 bytes, split into lines of at most 45 bytes.
  2. Each line starts with a length character: 32 plus the number of bytes, so 45 gives M.
  3. Every 3 bytes are split into four 6-bit values, and each value is written as the character with code 32 plus the value. A value of zero is written as a backtick instead of a space, so the line cannot lose trailing spaces in transit. A short last group is filled with zero bytes.
  4. A line with just a backtick marks the end of the data, followed by end.

The decoder reverses this and accepts either a space or a backtick for zero. It uses the length character to drop the filler bytes. It runs in your browser.

Worked examples

Cat  (Encode)
begin 644 message.txt
#0V%T
`
end

“Cat” is 3 bytes, so the length character is # (32 + 3), followed by exactly four characters. Decoding the same block, with any file name, gives back Cat.

Hello, world!  (Encode, file name hi.txt)
begin 644 hi.txt
-2&5L;&\L('=O<FQD(0``
`
end

Here the length character - means 13 bytes. Those 13 bytes need five groups of four characters; the two backticks at the end encode the zero filler.

Limits and tips

  • The tool handles text input and on-screen output only. It does not read or save binary files.
  • If a decoded block gives an error about a line, check that no line was wrapped or trimmed by an email program.
  • Some old encoders added a checksum character at the end of each line. The decoder reads only as many bytes as the length character says, so such extra characters are ignored.

Frequently asked questions

What is uuencoding?
"Unix-to-Unix encoding" turns any bytes into plain printable text, so files could be sent through email and Usenet systems that only carried text. It was common before MIME attachments and Base64 took over.
What does begin 644 mean?
The begin line holds the Unix file permissions in octal and the file name. 644 means the owner can read and write and everyone else can read. The tool always writes 644; you can change the file name.
What is the first character of each line?
It is the number of bytes in that line, written as a character. M stands for 45 bytes, a full line, and the hash sign stands for 3. The line with a single backtick marks zero bytes, the end of the data.
Can I decode an attachment from an old email?
Yes, if it is text. Paste everything from begin to end. If the file was binary, such as an image or a zip, you will see its bytes as hex, because this tool shows results on screen rather than as a download.
Is uuencoded data encrypted?
No. It is just an encoding. Anyone with a uudecoder can read it.

Sources

  1. uuencode — The Open Group Base Specifications (POSIX) — The Open Group, accessed 2026-10-08

Written by the ToolsRift team · Last updated

Pages are drafted with AI assistance and checked by automated tests. How we write and check pages.

Was this tool useful?

Report a problem

Start typing to search every tool.

↑ ↓ to moveEnter to openEsc to close