uuencode(5)

uuencode5

Format of an encoded uuencode file

Overview

Files output by uuencode(1) consist of a header line, followed by a number of body lines, and a trailer line. The uudecode(1) command will ignore any lines preceding the header or following the trailer. Lines preceding a header must not, of course, look like a header.

The header line is distinguished by having the first 6 characters “begin ” (note the trailing space). The word begin is followed by a mode (in octal), and a string which names the remote file. A space separates the three items in the header line.

The body consists of a number of lines, each at most 62 characters long (including the trailing newline). These consist of a character count, followed by encoded characters, followed by a newline. The character count is a single printing character, and represents an integer, the number of bytes the rest of the line represents. Such integers are always in the range from 0 to 63 and can be determined by subtracting the character space (octal 40) from the character.

Groups of 3 bytes are stored in 4 characters, 6 bits per character. All are offset by a space to make the characters printing. The last line may be shorter than the normal 45 bytes. If the size is not a multiple of 3, this fact can be determined by the value of the count on the last line. Extra garbage will be included to make the character count a multiple of 4. The body is terminated by a line with a count of zero. This line consists of one ASCII ` (opening single quote) character.

The trailer line consists of “end” on a line by itself.

Releases

61 releases since OpenBSD 2.1; the text changed 7 times.

  1. 2.1
  2. 2.2–2.4
  3. 2.5
  4. 2.6
  5. 2.7–3.2
  6. 3.3
  7. 3.4–4.1
  8. 4.2–8.0

History

The uuencode file format appeared in 4.0BSD.

From man 8.0-current-20261101 in OpenBSD 8.0-current (2026-11-01). Parsed by carta from the page's mdoc source.