From WiiBrew
Jump to navigation Jump to search
TypePC utility

ARCTool is a Python script for extracting Yaz0, RARC, and U8 archives. These are used in many Nintendo games, and sometimes have the extension arc, hence the name.


The inspiration for this tool came about when I wrote a RARC extractor and realized that all the files I wanted to extract were U8, but they still had the arc extension.

I have confirmed Yaz0 and U8 support to be 100% working. RARC works, but I have not verified its output against another tool to be absolutely sure.


Python 2.5 or higher (not Python 3.x however). Download Python for your OS here.

Tested with Python 2.5 and 2.6 on Mac OS X 10.5.8. It should work with Windows(tested) and Linux with a suitable version of Python installed.


python [-qlh] [-o <output>] <inputfile> [inputfile2] ... [inputfileN]


--version             show program's version number and exit
-h, --help            show this help message and exit
-o FILE/DIR, --output=FILE/DIR
                        write output to FILE/DIR. If you are extracting
                        multiple archives, all of them will be put in this
-q, --quiet           don't print anything (except errors)
-l, --list            print a list of files contained in the specified
                        archive (ignores -q)

Known Bugs

None yet :D

If you find one, message me on IRC (nick is tpw_rules) or leave a note on the talk page.



  • Fixed a bug with RARC extraction where it would improperly detect . and .. entries and either skip directories or recurse infinitely. (Again, my test archives decieved me!)
  • Added the -l option which lists the contents of the archive without extracting them.
  • Can now be imported as a module.


  • Fixed a bug in the U8 extractor where it would not change directories properly. I know I said it was 100% working, but the bug was not triggered by the archives I was using to test.
  • Now supports extracting multiple archives at once. Just specify them one after another on the command line.


  • Initial release

Thanks To

  • #python on freenode for helping me with some stupid mistakes.
  • #wiidev for, again, helping me with stupid mistakes (and not so stupid ones).
  • YAGCD and the WiiBrew wiki for documentation and example code on the various formats.
  • Magicus for parse-u8.c which I used for testing.
  • Everybody else I forgot.