A hex editor is a special type of editor that can open any type of file and display its contents, byte by byte. The “hex” in “hex editor” is short for hexadecimal, which is a base-16 number system. This type of editor lets you view and edit binary files. A binary file is a file that contains data in machine-readable form (as opposed to a text file which can be read by a human).
Since a hex editor is used to edit binary files, they are sometimes known as a binary editor or a binary file editor. If you edit a file with a hex editor, you are said to hex edit the file, and the process of using a hex editor is called hex editing.
Hex editors are often used for debugging and reverse engineering binary communication protocols. They can also review files with an unknown file format, reviewing program memory dumps, and hex comparison. Hex editors can help you remove watermarks or other data that is hidden within a file. Hex editors are a favorite tool of game modding communities.
If you use a text editor to open a binary file, you will see large amounts of incomprehensible information, seemingly random accented characters, and long lines overflowing with text. Editing or saving a binary file in a text editor will corrupt the file.
Here’s our recommended hex editors. They are all free and open source software.
Let’s explore the 9 programs at hand. For each title we have compiled its own portal page, a full description with an in-depth analysis of its features, together with links to relevant resources.
|Okteta||Simple KDE editor for the raw data of files with good range of features|
|DHEX||ncurses-based hex editor with diff mode|
|hexyl||Simple hex viewer for the terminal|
|GHex||Hex editor for GNOME|
|wxHexEditor||Hex and disk editor which uses the wxWidgets GUI libraries|
|wxMEdit||Improved version of the discontinued MadEdit|
|Bless||Gtk# hex editor|
|hexedit||View and edit hexadecimal files|
|hexer||Multi-buffer editor for binary files with vi-style interface|
If you’re looking for an alternative, check out hyx, a minimalistic (2200 lines of C) but powerful (hex/ASCII, insert/replace/delete, copy/paste, undo/redo, search, colors, vim-inspired controls) Linux terminal hex editor.
Another tool that’s worth exploring is xxd. This utility from Vim creates a hex dump of a given file or standard input. It can also convert a hex dump back to its original binary form.
Read our complete collection of recommended free and open source software. The collection covers all categories of software.
The software collection forms part of our series of informative articles for Linux enthusiasts. There's tons of in-depth reviews, alternatives to Google, fun things to try, hardware, free programming books and tutorials, and much more.