Imagine... you have 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.
Have you ever looked at a hex dump and felt how hard it is to make sense of it? And to remember the meaning of all the bits and bytes?
This application allows you to open a file and create a “grammar“ for it interactively. A grammar is like a binary template but can be edited in the GUI. Unlike in regular hex editors or viewers the files are interpreted automatically for you! Analysis of binary files has never been easier.
You can analyze and edit simultaneously.
Automatic File Decoding
The generic file parser decodes binary files and presents the results conveniently side by side with the hex editor .
Decode known formats
Many grammars are already available for popular file types.
Use existing grammars
- Grammars for file types like PNG, JPEG, WAV or QuickTime are available for free and can also serve as a resource for learning.
Share your knowledge about a file format
- Grammars preserve your knowledge about a file format so you con focus on new discoveries.
File format reverse engineering
Analyzing an unknown file is an iterative process. Synalyze It! supports this process.
Build grammar with assumptions
- While you analyze a file you can simply add structures and elements to a grammar. When applying the grammar to another file you'll see if your assumptions hold..
Grammar editor UI
- Grammars are edited in the built-in grammar editor. However, grammars are stored in plain XML files so can be read by any text editor.
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.
Hex Editor for Mac OS X
Synalyze It! is a full-featured hexadecimal viewer and editor application allowing you to edit files of unlimited size and interpret the bytes with dozens of text encodings.
Open large files instantly
- Can work with huge files and does not limit you to in-place changes like some hex editors. The application does not keep your files in memory but only accesses the visible part.
- Search while typing for text (all encodings!), numbers (little & big endian, integer and floating point), or masks. Search results are highlighted in the hex editor.
Convenient data views
When looking at hex data you need to see immediately how the bytes have to be interpreted.
- The compact data panel shows different number and color interpretations for the selected bytes. (little and big endian)
- Use the checksum panel to compute various checksum algorithms for the selected data.
Advanced Analysis Tools
Tools like histograms allow to reveal information instantly that is otherwise buried in an ocean of hex bytes.
- Easily check if a file is compressed or encrypted with the histogram view.
Compare code pages
- Display the same bytes interpreted by different text encodings to find the correct encoding.
Text strings and code pages
An important part of most file formats is text. Synalyze It! supports various text code pages in every part of the software.
- Copy and paste data as binary, hex string or with any text encoding. This allows to convert easily from one code page to another.
Full encoding support
- This is one of the very few hex editor applications available for Mac supporting not only single and double byte encodings but also UTF-8. The hex editor highlights even invalid UTF-8 characters which makes it easy to debug such text.
Compare Binary Files
There are numerous tools diffing text files but only a few compare binary data.
- Binary diff performs a binary comparison that shows the differences between files
- Specific algorithm allows to see insetions and deletions comparing two files
Byte by byte diff
- Fast comparison for files of equal size
Synalyze It! is an extremely flexible and useful tool for viewing binary file data. It enables you to easily apply a structured format to your file bytes and convert them into meaningful displays of data.
Synalyze It! provides formatters for common binary types like ICC, PNG, TIFF, WAV, ZIP and dozens more. That alone is useful but, if you’re a programmer creating a custom binary file format, Synalyze It! is priceless.
With Synalyze It!, you can create custom data formatters for your personal binary files. Instead of struggling with cryptic lines of hexadecimal, you can view and label data values as floating point or integer, signed or unsigned, with any byte length. Your files can even modify the formatting, allowing you to create settings on the fly to variably view your data.
If the standard formatting tools are not enough, you can write formatting scripts using Python or Lua. I quickly got ambitious and was soon in over my head exploring Synalyze It!’s features. When I emailed a question to the developer, the technical support was outstanding. I was sent a complete solution to my problem that also served as an advanced Synalyze It! tutorial.
I doubt that I will ever fully exploit the potential of Synalyze It! but the value I’ve received is already many multiples of the price I paid.
Analysis Tool and Binary File Editor for Mac
For some well-known formats you can download grammars here but as well you're able to create your own grammars. Matching grammars are suggested automatically when you open a file.
Right now you can download Synalyze It! for macOS 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 on Twitter.
I just bought the pro version of Synalyze, and I am very glad I did. Thank you for taking the time to bring this excellent tool to life.
I’m the author of an open-source program called SleepyHead, which is used for reviewing CPAP machine data (used in Sleep Apnea treatment), and already I’m wishing I discovered Synalyze a lot sooner, as an awful lot of binary format hacking is involved thanks to the manufacturers not releasing documentation.
I particularly like being able to use expressions in the length fields.. I spent ages looking through the example grammar and scripts only to find I didn’t even need them thanks to this feature. (It pays to read the manual first.. ;)
Keep up the good work!
Synalyze It! - a Mac Free Hex Editor for macOS Professionals
There are some hex editors for Mac available but only Synalyze It! allows to create a grammar for automatic file decoding in a specialized grammar editor.
- Simply open the file you want to analyze
- Create an empty grammar
- Select bytes in the hex editor and add an element or structure to the grammar using the context menu
- Enhance the grammar in the grammar editor
Other special features of Synalyze It!:
- Can work with huge files and does not limit you to in-place changes like some hex editors
- Open large files instantly
- Hex editing with unlimited undo with this fast and clever hex editor
- Advanced hex or data views
- Does not keep your files in memory but only accesses the visible part
- Analyze and edit raw hex files
- Save parts of your files to new files
- Checksum panel for various checksum algorithms
- Line prefix can be hex, octal, decimal or line number
- Binary diff performs a binary comparison that shows the differences between files
- Copy and paste of data as hex data or with any text encoding
Frequently asked questions
Have a different question and can’t find the answer you’re looking for? Please contact us by sending us a message and we’ll get back to you as soon as we can.
- Does it run natively on Apple Silicon?
- Yes! The application comes as a universal binary including both Intel and ARM binaries.
- Is Synalze It! yet another Electron or QT application?
- No! It was built for OS X with Cocoa so it's a real native fast and clever Mac application.
- Do I have to pay for the application?
- It is a powerful free hex editor and only if you need the advanced features a payment is required. You can test the advanced features for 2 weeks without limitation with the version you can download here.
- Is it only available in the Mac App Store by Apple?
- You can download it here on the web site and test it for two weeks with all features. Then you can buy it either via Apple (App Store) or FastSpring (secure online payment).
- What are the different versions?
- In the Mac App Store you can find a cheap version with less features. The Pro version in the Mac App Store is priced like the commercial license here on the web site. Alternatively you can purchase a non-commercial/academic license for a reduced price.
- What's the difference between Pro and non-Pro version?
- Check this table to see which features are only present in the Pro version.
- Which text encodings are supported?
- Basically all which are offered by the ICU library but you can even provide custom ones. This means that ASCII, EBCDIC, UTF-8 or UTF-16 are built-in with all their derivatives. (see ICU for all supported encodings)