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 hex dumps and felt how hard it is to make sense of it? And to remember the meaning of all the bits and bytes?
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.
Pull down that menu; Unicode Hex Input will now be one of the choices. Choosing the Unicode Hex Input method alters the behaviour of the “option” key. To place U+03B1 into your document, hold down the option key and – while holding it down – tap the four keys 0, 3, b, and 1 in sequence. In the Calculator app on your Mac, choose an option from the View menu. Basic: Perform simple arithmetic operations. Scientific: Use memory functions and perform advanced calculations involving fractions, powers, roots, exponents, logarithms, trigonometry, and more. Hex Drum is a virtual instrument inspired by synth drum machines of the 1980s, in particular the Simmons SDS series with its distinctive hexagonal drum pads, from which our plugin takes its name. Simmons drums were used on countless recordings during the 1980s across many genres, from disco, to reggae, to chart-topping pop hits. A fast and clever open source hex editor for Mac OS X.
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.
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.
John Goodman
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 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.
If you like Synalyze It! consider buying the Pro version in the Mac App Store.
The Pro version has even more useful features beyond hex editing.
Hi,
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!
Regards
Mark Watkins
Mac Hex Editor for 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!:
- Supports various encodings like ASCII, EBCDIC, UTF-8 or UTF-16 (see ICU for all supported encodings)
- Lets you easily see if a file is compressed with the histogram view
- Opens even huge files ultra fast by loading only the visible part of a file
- Hex editing works with the same mouse and keyboard commands like in common text editors
In case you need a tool specialized in disk editing, I recommend to check out iBored.
Recent updates:
2020-01-05: Added grammar for Commander Keen 1-3 saved games
2019-09-13: Version 1.23 released with dark mode support
2019-05-16: Added grammar for Ducati Data Analyzer dda files (thank you, Jack!)
2019-02-17: Added grammar for Atari Lynx .lnx files (thank you, Brian!)
2019-02-14: Added grammar for uImage files on Linux (thank you, Lukas!)
Older additions to the web site can be found here…
The Hex For Mac Os
To use this hex to binary converter tool, just type a hex value like 1E into the left field below, and then hit the Convert button. Therefore, you can convert up to 16 hex characters (max. value of 7fffffffffffffff).
Hex to binary conversion result in base numbers
Hexadecimal System (Hex System)
The hexadecimal system (shortly hex), uses the number 16 as its base (radix). As a base-16 numeral system, it uses 16 symbols. These are the 10 decimal digits (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) and the first six letters of the English alphabet (A, B, C, D, E, F). The letters are used because of the need to represent the values 10, 11, 12, 13, 14 and 15 each in one single symbol.
Hex is used in mathematics and information technologies as a more friendly way to represent binary numbers. Each hex digit represents four binary digits; therefore, hex is a language to write binary in an abbreviated form.
Four binary digits (also called nibbles) make up half a byte. This means one byte can carry binary values from 0000 0000 to 1111 1111. In hex, these can be represented in a friendlier fashion, ranging from 00 to FF.
The Hex For Machine Gun
In html programming, colors can be represented by a 6-digit hexadecimal number: FFFFFF represents white whereas 000000 represents black.
Binary System
The binary numeral system uses the number 2 as its base (radix). As a base-2 numeral system, it consists of only two numbers: 0 and 1.
While it has been applied in ancient Egypt, China and India for different purposes, the binary system has become the language of electronics and computers in the modern world. This is the most efficient system to detect an electric signal’s off (0) and on (1) state. It is also the basis for binary code that is used to compose data in computer-based machines. Even the digital text that you are reading right now consists of binary numbers.
Reading a binary number is easier than it looks: This is a positional system; therefore, every digit in a binary number is raised to the powers of 2, starting from the rightmost with 20. In the binary system, each binary digit refers to 1 bit.
How to Convert Hex to Binary
Converting from hex to binary is straightforward since hexadecimal numbers are simplified versions of binary strings. You just need to remember that each hex value will produce four binary digits.
- Step 1: Write down the hex number. If there are any, change the hex values represented by letters to their decimal equivalents.
- Step 2: Each hex digit represents four binary digits and therefore is equal to a power of 2. The rightmost digit equals to 20 (1), the next one equals to 21 (2), the next one equals to 22 (4) and the leftmost one equals to 23 (8). Write these numbers (8, 4, 2 and 1) below the hex values.
- Step 3: Determine which powers of two (8, 4, 2 or 1) sum up to your hex digits. For example, if one of your hex values is 10, this means 8 and 2 sum up to 10 (4 and 1 are not used). If your hex number is 2, only 2 is used; 8, 4 and 1 are not.
- Step 4: Write down 1 below those 8, 4, 2 and 1’s that are used. Write down 0 below those that are not used.
- Step 5: Read the 1’s and 0’s from left to right to get the binary equivalent of the given hex number.
Let's apply these steps to the hex number (4FA)16
Hex to binary conversion examples
Related converters: Binary To Hex Converter
Hexadecimal to Binary Conversion Chart
Hexadecimal | Binary |
---|---|
1 | 00000001 |
2 | 00000010 |
3 | 00000011 |
4 | 00000100 |
5 | 00000101 |
6 | 00000110 |
7 | 00000111 |
8 | 00001000 |
9 | 00001001 |
A | 00001010 |
B | 00001011 |
C | 00001100 |
D | 00001101 |
E | 00001110 |
F | 00001111 |
10 | 00010000 |
11 | 00010001 |
12 | 00010010 |
13 | 00010011 |
14 | 00010100 |
15 | 00010101 |
16 | 00010110 |
17 | 00010111 |
18 | 00011000 |
19 | 00011001 |
1A | 00011010 |
1B | 00011011 |
1C | 00011100 |
1D | 00011101 |
1E | 00011110 |
1F | 00011111 |
20 | 00100000 |
21 | 00100001 |
22 | 00100010 |
23 | 00100011 |
24 | 00100100 |
25 | 00100101 |
26 | 00100110 |
27 | 00100111 |
28 | 00101000 |
29 | 00101001 |
2A | 00101010 |
2B | 00101011 |
2C | 00101100 |
2D | 00101101 |
2E | 00101110 |
2F | 00101111 |
30 | 00110000 |
31 | 00110001 |
32 | 00110010 |
33 | 00110011 |
34 | 00110100 |
35 | 00110101 |
36 | 00110110 |
37 | 00110111 |
38 | 00111000 |
39 | 00111001 |
3A | 00111010 |
3B | 00111011 |
3C | 00111100 |
3D | 00111101 |
3E | 00111110 |
3F | 00111111 |
40 | 01000000 |
Hexadecimal | Binary |
---|---|
41 | 01000001 |
42 | 01000010 |
43 | 01000011 |
44 | 01000100 |
45 | 01000101 |
46 | 01000110 |
47 | 01000111 |
48 | 01001000 |
49 | 01001001 |
4A | 01001010 |
4B | 01001011 |
4C | 01001100 |
4D | 01001101 |
4E | 01001110 |
4F | 01001111 |
50 | 01010000 |
51 | 01010001 |
52 | 01010010 |
53 | 01010011 |
54 | 01010100 |
55 | 01010101 |
56 | 01010110 |
57 | 01010111 |
58 | 01011000 |
59 | 01011001 |
5A | 01011010 |
5B | 01011011 |
5C | 01011100 |
5D | 01011101 |
5E | 01011110 |
5F | 01011111 |
60 | 01100000 |
61 | 01100001 |
62 | 01100010 |
63 | 01100011 |
64 | 01100100 |
65 | 01100101 |
66 | 01100110 |
67 | 01100111 |
68 | 01101000 |
69 | 01101001 |
6A | 01101010 |
6B | 01101011 |
6C | 01101100 |
6D | 01101101 |
6E | 01101110 |
6F | 01101111 |
70 | 01110000 |
71 | 01110001 |
72 | 01110010 |
73 | 01110011 |
74 | 01110100 |
75 | 01110101 |
76 | 01110110 |
77 | 01110111 |
78 | 01111000 |
79 | 01111001 |
7A | 01111010 |
7B | 01111011 |
7C | 01111100 |
7D | 01111101 |
7E | 01111110 |
7F | 01111111 |
80 | 10000000 |
Hexadecimal | Binary |
---|---|
81 | 10000001 |
82 | 10000010 |
83 | 10000011 |
84 | 10000100 |
85 | 10000101 |
86 | 10000110 |
87 | 10000111 |
88 | 10001000 |
89 | 10001001 |
8A | 10001010 |
8B | 10001011 |
8C | 10001100 |
8D | 10001101 |
8E | 10001110 |
8F | 10001111 |
90 | 10010000 |
91 | 10010001 |
92 | 10010010 |
93 | 10010011 |
94 | 10010100 |
95 | 10010101 |
96 | 10010110 |
97 | 10010111 |
98 | 10011000 |
99 | 10011001 |
9A | 10011010 |
9B | 10011011 |
9C | 10011100 |
9D | 10011101 |
9E | 10011110 |
9F | 10011111 |
A0 | 10100000 |
A1 | 10100001 |
A2 | 10100010 |
A3 | 10100011 |
A4 | 10100100 |
A5 | 10100101 |
A6 | 10100110 |
A7 | 10100111 |
A8 | 10101000 |
A9 | 10101001 |
AA | 10101010 |
AB | 10101011 |
AC | 10101100 |
AD | 10101101 |
AE | 10101110 |
AF | 10101111 |
B0 | 10110000 |
B1 | 10110001 |
B2 | 10110010 |
B3 | 10110011 |
B4 | 10110100 |
B5 | 10110101 |
B6 | 10110110 |
B7 | 10110111 |
B8 | 10111000 |
B9 | 10111001 |
BA | 10111010 |
BB | 10111011 |
BC | 10111100 |
BD | 10111101 |
BE | 10111110 |
BF | 10111111 |
C0 | 11000000 |
Hexadecimal | Binary |
---|---|
C1 | 11000001 |
C2 | 11000010 |
C3 | 11000011 |
C4 | 11000100 |
C5 | 11000101 |
C6 | 11000110 |
C7 | 11000111 |
C8 | 11001000 |
C9 | 11001001 |
CA | 11001010 |
CB | 11001011 |
CC | 11001100 |
CD | 11001101 |
CE | 11001110 |
CF | 11001111 |
D0 | 11010000 |
D1 | 11010001 |
D2 | 11010010 |
D3 | 11010011 |
D4 | 11010100 |
D5 | 11010101 |
D6 | 11010110 |
D7 | 11010111 |
D8 | 11011000 |
D9 | 11011001 |
DA | 11011010 |
DB | 11011011 |
DC | 11011100 |
DD | 11011101 |
DE | 11011110 |
DF | 11011111 |
E0 | 11100000 |
E1 | 11100001 |
E2 | 11100010 |
E3 | 11100011 |
E4 | 11100100 |
E5 | 11100101 |
E6 | 11100110 |
E7 | 11100111 |
E8 | 11101000 |
E9 | 11101001 |
EA | 11101010 |
EB | 11101011 |
EC | 11101100 |
ED | 11101101 |
EE | 11101110 |
EF | 11101111 |
F0 | 11110000 |
F1 | 11110001 |
F2 | 11110010 |
F3 | 11110011 |
F4 | 11110100 |
F5 | 11110101 |
F6 | 11110110 |
F7 | 11110111 |
F8 | 11111000 |
F9 | 11111001 |
FA | 11111010 |
FB | 11111011 |
FC | 11111100 |
FD | 11111101 |
FE | 11111110 |
FF | 11111111 |