you got a binary file and don't know its contents. Or some software creates binary files you have a specification for but don't want to decode them manually.
Synalyze It! allows you to create a grammar for your binary files interactively. Unlike in regular hex editors or viewers the files are interpreted automatically for you! Analysis of binary files has never been easier.
Additionally Synalyze It! is a full-featured Hex Editor for Mac OS X allowing you to edit files of unlimited size and interpret the bytes with dozens of text encodings.
Essentially it's a modeling tool for arbitrary file formats that is being used by software developers and data stream experts as well as in computer forensics.
The grammars are stored as XML files and contain all the structures that may occur in a file of a certain format, just like XML schemas. It's even possible to inherit structures from others (like in OO languages) so you don't have to repeat for example a length field that appears at the beginning of each structure.
For some well-known formats you can download grammars here. Matching grammars are suggested automatically when you open a file.
Right now you can download Synalyze It! for Mac OS X (Snow Leopard, Lion and Mountain Lion) and give it a try. In case of questions or problems please give me feedback. The latest changes can be tracked here; stay tuned also with Twitter.
If you like Synalyze It! consider buying the Pro version in the Mac App Store.
The Pro version has even more useful features.
See it in action:
In case you need a tool specialized in disk editing, I recommend to check out iBored.
2013-11-17: New grammar for BSON (binary JSON) files (Kelvin)
2013-11-10: Sample scripted grammar for offsets to arrays added (Kelvin)
2013-10-30: Grammar for Named Binary Tag files from Minecraft (Michael Maier)
2013-10-22: Grammar for UTF-8 encoded text files (thanks, Scott Marcy)
2013-09-28: Grammar for HyperCard Stack .stak files (thanks, Uli Kusterer)
2013-07-09: Grammars for Python 2 and Python 3 .pyc files (thanks, André)
2013-07-09: New sample script for Python time stamps in pyc files (thanks, André)
2013-05-17: Version 1.5 available
2013-05-07: Updated Mach-O grammar for LC_DATA_IN_CODE (thanks, Cyril!)
2013-04-27: Added grammar to decode SCF DNA sequencing data
2013-04-03: Version 1.4 released
2013-03-03: Decode TIFF files with the new TIFF grammar
2013-02-13: Fallout GCD file format grammar provided by Alexander - thanks!
2013-01-27: Added grammars for shapefiles (vectorial maps)
2013-01-06: Grammar for Mobi and Kindle ebook formats
2013-01-03: New grammar for Infinity Engine BAM file format (thanks, Brad)
2013-01-02: Published manual: Synalyze It! User's Guide