UUENCODE(1) | General Commands Manual | UUENCODE(1)

# NAME

`uuencode`, `uudecode` —
encode/decode a binary file

# SYNOPSIS

`uuencode` | [`-m`] [inputfile] headername

`uudecode` | [`-m`] [`-p` | `-o` outputfile] [encoded-file ...]

# DESCRIPTION

`uuencode` and `uudecode` are used to transmit binary files over transmission mediums that do not support other than simple ASCII data.

The following options are available:

`-m`
  Use base64 encoding. For `uuencode`, the historical uuencode algorithm is the default. For `uudecode`, by default the encoding is automatically detected.
`-o` outputfile
  (`uudecode` only.) Send the decoded output data to outputfile. By default, `uudecode` uses the headername recorded in the header of the encoded data stream.
`-p`
  (`uudecode` only.) Write the decoded file to standard output instead of to a file.

`uuencode` reads inputfile (or by default the standard input) and writes an encoded version to (always) the standard output. The encoding uses only printing ASCII characters suitable for text-only transport media. The string headername is inserted into the output header as the outputfile to use at `uudecode` time. The header also includes the mode (permissions) of the file.

`uudecode` transforms uuencoded files (or by default, the standard input) into the original form. The resulting file is named headername as recorded in the encoded file, or as specified by the `-o` option, and will have the mode of the original file except that setuid and execute bits are not retained. If the `-p` option is specified, or if the output file name is given as /dev/stdout, then the data will be written to the standard output instead of to a named file. `uudecode` ignores any leading and trailing lines.

The encoded form of the file is expanded by 35%. Every 3 bytes become 4 plus control information.

# EXIT STATUS

The `uudecode` and `uuencode` utilities exits 0 on success, and >0 if an error occurs.

# EXAMPLES

The following example packages up a source tree, compresses it, uuencodes it and mails it to a user on another system.

    tar czf - src_tree | uuencode src_tree.tgz | mail user@example.com

On the other system, if the user saves the mail to the file temp, the following example creates the file src_tree.tgz and extracts it to make a copy of the original tree.

    uudecode temp
    tar xzf src_tree.tgz

# SEE ALSO

gzip(1), mail(1), tar(1), uuencode(5)

# STANDARDS

The `uudecode` and `uuencode` utilities conform to IEEE Std 1003.1-2008 (“POSIX.1”).

# HISTORY

The `uudecode` and `uuencode` utilities appeared in 4.0BSD.

# SECURITY CONSIDERATIONS

When using `uudecode` with files coming from dubious sources, always either explicitly pass the `-o` option or check the header (the first line) of the encoded file for safety. Blindly using a headername from a hostile source can overwrite important files.

September 6, 2014 | NetBSD 9.2