Hex Editor – what is it?

A hex editor, also called byte editor or binary editor, is a truly universal tool. No matter which application you used to create a file – hex editors show every bit and byte of it.

What is it?

Hex editors allow you to view and edit the uninterpreted contents of a file. High-level applications like Word or Excel provide only an interpreted view on a file. This implies that hex editors require the user to know how to interpret a file of a certain format.

Most hex editor display both the raw data in hexadecimal form and a textual interpretation of it using some text encoding. Often you can select which text encoding should be applied to get readable text (for the parts that actually represent text). Non-printable characters are usually displayed as a dot to indicate there’s no space character.

Example of a hex editor
Example of a hex editor

Advanced hex editors offer also non-standard encodings not so commonly used. Most text encodings are based on ASCII, a 7-bit codepage. But still files can be found that originate from IBM mainframe systems and are derived from EBCDIC codepages.

Applications

Hex editors are often used to bypass a higher-level application and see what’s actually stored in a file. This can be the only chance if you have a corrupt file and the application that wrote the file is not able to read it in again. Another case is that you want to use the data of a file in a new way that’s not supported by the application that wrote the file.

A very common example for file modifications on byte level is editing saved games. In order to that you need to know the structure and data fields of the file format.

Advanced features of a Hex Editor

Templates

It can be quite time consuming not only to learn the specifics of a file format but very challenging to keep them in mind while decoding the bytes manually. Using a hex editor without template system it may be the easiest way to print the hex dumps and color the printouts.

Hex editors like Synalyze It! take a different approach and color-code the bytes on screen. Additionally you can build a so-called grammar that contains all the details of a certain file format so you don’t have to decode files manually.

Hex editor with grammar applied for WAV audio files
Hex editor with grammar applied for WAV audio files

Scripting

The best hex editors allow users to extend the functionality with own scripts in a common script language like Python. The scripts can do advanced tasks or extend the parsing capabilities of the grammar engine.