Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages

Manual Reference Pages  -  YYDECODE (1)


yydecode - decode yEnc encoded files


See Also


yydecode [-b|--write-broken] [-r|--remove-broken] [-e|--evil-filenames] [-f|--force-overwrite] [-l|--large-parts] [-o|--output-file=FILE] [-v|--verbose] FILE ...
yydecode [-h|--help]
yydecode [-V|--version]


yydecode started life as a decoder for yEnc encoded binaries, which have recently appeared on Usenet. yydecode works almost identically to the infamous uudecode program. Version 0.2.8 and onwards contains a superset of uudecode’s functionality, (ie. decodes standard uuencoded files, as well as Base64 [RFC2045] encoded files produced by uuencode) and hence can be used as a drop-in replacement in all circumstances.


Given a selection of parts saved by your newsreader across msg-1.txt, msg-2.txt and msg-3.txt, any of the following (plus many more variations on the incantation) will correctly decode the file(s):
$ yydecode msg-1.txt msg-2.txt msg-3.txt
$ cat msg-1.txt msg-2.txt msg-3.txt | yydecode


-o, --output-file=FILE
  Direct all output to FILE (use "-" for stdout). See BUGS below.
-D, --directory=DIR
  Write output files to DIR instead of the current working directory.
-e, --evil-filename
  Allow evil filenames with e.g. high ASCII and shell metacharacters. Use twice to allow any character. (DANGEROUS!) Otherwise, any such characters are converted to an underscore ("_").
-c, --clobber-filename
  Append a counter to the filename if it already exists. Has no effect if --force-overwrite is also used.
-f, --force-overwrite
  Overwrite (truncate) the output file, if it exists. Behaves differently when used in conjunction with --write-broken.
-b, --write-broken
  Write decoded parts even if they are verified to be broken. The output file will not be renamed to file.broken.

When used in conjunction with --force-overwrite, the output file will not be truncated. Thus one can decode e.g. a two part multi-part file in stages by invoking:

$ yydecode -f -b msg-1.txt ; yydecode -f -b msg-2.txt

Note that yydecode cannot check for missing parts when used in this way. This is intended to allow one to preview certain media files which may be usable without being complete.

For uuencoded files, this option causes short lines not to be padded, and overlong ones not to be truncated. Be aware that the file will be zero padded up to a multiple of three bytes when used with output generated by most implementations (e.g. GNU sharutils) of uuencode that output more characters than strictly necessary.

-i, --broken-encoder
  Certain encoders outputs a file CRC of 00000001 regardless of the actual input. This option tells yydecode to ignore such CRCs, and issue a warning. Please pester the sender to upgrade their software if you see this.
-r, --remove-broken
  Remove instead of renaming broken files. When used in conjunction with --write-broken, yydecode renames the file instead.
-l, --large-parts
  Expect parts larger than 8192k (changable at compile-time). Because yydecode decodes each part in memory before writing it to disk, it needs to allocate enough memory to hold each part. There is a soft limit of 8192k to guard against parts with broken headers which specify ridiculously large part sizes. This switch disables the check.
-h, --help
  Display a short help message, and exit.
-v, --verbose
  Increase verbosity.
-V, --version
  Print the version information, and exit.


When using --output-file with stdout ("-"), data is written in the order in which it is received; no attempt is made to reorder the encoded input. When used with a file output, only the first encoded file encountered will be decoded -- subsequent ones will fail with an error complaining about the existing output file. There is no intention to fix this.

SEE ALSO,, and uudecode(1)


Copyright © 2002-2003, Liyang Hu <>,

This manual page was initially written by Itai Zukerman <> for the Debian GNU/Linux system. It is currently maintained by the program author.

Search for    or go to Top of page |  Section 1 |  Main Index

--> YYDECODE (1) April 15, 2003

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.