Hex editor

A hex (short for hexadecimal), binary, or byte editor is software that allows for editing data as binary data. It is particularly useful for editing non-human-readable data of a file, but can be used for any data. Generally, a hex editor is a standalone program, and its user experience is similar to that of a text editor. A user can see and edit the raw and exact contents of a file, as opposed to the interpretation of the content that other, higher level application software may associate with the file format. For example, this could be the data bytes that represent an image instead of a graphical representation.

Generally, data is grouped in 4 groups of 4 bytes or 2 groups of 8 bytes, followed by one group of 16 printable ASCII characters which correspond to each pair of hex values (each byte). Non-printable ASCII characters are typically represented by a dot (".") in the ASCII field.

A hex editor is sometimes used to fix data corruption problems. It can be useful to bypass application edit checks which may prevent correction of erroneous data. It have been used to "patch" executable programs to change or add a few instructions as an alternative to recompilation. Program fixes for IBM mainframe systems are sometimes distributed as patches rather than distributing a complete copy of the affected program.