uuencode, uudecode - encode a binary file, or decode its ASCII repre-
uuencode [ source-file ] file-label
uudecode [ encoded-file ]
uuencode converts a binary file into an ASCII-encoded representation
that can be sent using mail(1). It encodes the contents of source-
file, or the standard input if no source-file argument is given. The
file-label argument is required. It is included in the encoded file's
header as the name of the file into which uudecode is to place the
binary (decoded) data. uuencode also includes the ownership and per-
mission modes of source-file, so that file-label is recreated with
those same ownership and permission modes.
If the remote host is a UNIX system with the sendmail(8) mail-message
delivery daemon, you can pipe the output of uuencode through mail(1) to
the recipient named decode on the remote host. This recipient is typi-
cally an alias for the uudecode program (see aliases(5) for details),
which allows a binary file to be decoded (extracted) from a mail mes-
sage automatically. If this alias is absent on a particular host, the
encoded file can be mailed to a user, who can run it through uudecode
uudecode reads an encoded-file, strips off any leading and trailing
lines added by mailer programs, and recreates the original binary data
with the filename and the mode and owner specified in the header.
The encoded file is an ordinary ASCII text file; it can be edited by
any text editor. But it is best only to change the mode or file-label
in the header to avoid corrupting the decoded binary.
mail(1), uucp(1C), uusend(1C), uux(1C), aliases(5), uuencode(5), send-
The encoded file's size is expanded by 35% (3 bytes become 4, plus con-
trol information), causing it to take longer to transmit than the
The user on the remote system who is invoking uudecode (typically uucp)
must have write permission on the file specified in the file-label.
Since both uuencode and uudecode run with user ID set to uucp, uudecode
can fail with ``permission denied'' when attempted in a directory that
does not have write permission allowed for ``other.''
23 November 1987 UUENCODE(1C)