An Hex editor is a program that allows the user to view, edit, and manipulate binary files, which contain data that is readable by machines, but not humans. This is where hex editors come into play because unlike other programs and tools which interpret data from files, hex editors, on the other hand, offer the user an opportunity to edit the physical binary contents of a file.
So, if you are looking to hex edit raw data, we will list the top 10 Linux hex editors to help you do so!
A usual hex editor has three separate areas: the “hexadecimal area” located in the middle, the “address area” sitting on the left, and the “character area” on the right side. Furthermore, some of these hex editors, mainly known as sector or disk editors, have features that allow the user to edit and analyze sector data from hard disks and floppy disks.
The Best Linux Hex Editors
A wide range of open-source hex editors run entirely on Linux and are readily available in the market. They are incredibly beneficial for the users, since writing a whole program of your own to retrieve data from corrupt files might not always be worthwhile. That is why Linux hex editors are so handy and convenient, and we have listed the top 10 gems for you to choose from!
1. Bless Hex Editor
Bless hex editor is open-source, fast, and very reliable. While being highly customizable, Bless offers many useful features that other hex editors lack and therefore deserves our top recommendation spot. Written with GTK mainly for Linux operating systems, Bless deals with large files comfortably and allows the user multilevel redo and undo operations.
As mentioned earlier, Bless has a long list of useful features such as efficient copy and paste features, finding files, and documenting them to complete tasks with optimal productivity, a convenient conversion table, and manifold tabs to extend the user’s control. It allows for blocking devices and user add-ons and plugins as well. Furthermore, Bless is friendly with many file formats by default, including .html and .txt files.
Bless is very popular among users and, in some ways, similar to Ghex. It has a pleasant graphical user interface, multiple data views, and a multi-threaded search and saves actions. With all these cool features, you can quickly get the Bless hex editor to build on their Github page with the associated instructions.
2. Ghex / GNOME Hex Editor
Just like Bless, Ghex or GNOME hex editor is rich with features and offers extensive functionality. Ghex allows for loading raw data from all files and lets the user view and edit it in ASCII or hex. You can use Ghex to sort out erroneous files since you can debug through object code or encoding. Interestingly enough, it also finds its application in videogames for saving progress and manipulating the scoreboard.
Ghex offers many special editing features such as multi-level undo and redo operations, find and replace functionality through raw binary data, and several various views for hex editing due to the user-friendly configurable MDI. Moreover, it facilitates the user to monitor and convert machine code between their binary, decimal, hexadecimal, and octal values.
With an aesthetically pleasing interface, Ghex equips its users with many useful features. It is highly recommended for anyone working with large files.
Specially designed for editing text files in hexadecimal mode, Vim accommodates its user with an external tool called “xxd”, built-in by default for many Linux distributions. However, this tool’s integration isn’t perfect, which is why users will often need to run the command ‘:%!xxd’ to convert to hexadecimal and ‘:%!xxd -r’ to convert to the original.
Vim offers a function that converts a binary file to hex mode and back conveniently. The conversion process between binary and hexadecimal in Vim can be automated using reading hooks and buffer writing. It accompanies extensive plugin support and an enhanced undo tree and comfortable integration with many external tools.
Processes like redirection and filtering can avail output from external programs or Vim. Furthermore, the “vi” mode of Vim, which is compatible with almost all UNIX systems, features multiply enhancements such as comparison, merging, completion, etc.
Vim is a highly configurable, reliable, and popular hex editor. It works smoothly on most Linux distros and Apple OS X as well. You can get it quickly on the Software Center or follow their Github page for further direction.
4. Hexedit Hex Editor
Hexedit is one of the best hex editors due to its feature richness and simple use of nature. This Linux editor facilitates its users with features such as highlighter, EBCDIC, search and replace, comparison, various color themes, bookmarks, INS/OVR methods, variable tracking, and the list goes on.
Hexedit’s display changer allows for tons of properties such as floats, integers, dates, etc. It is an efficient command-line hex editor that may be found preinstalled on your Linux operating system.
Hexedit comes with many useful features background searches, disk or sector editing, keystroke macros, etc. It shows its users (customizable) tips that enhance their editing experience, templates, and a calculator. Furthermore, it can look up any file of up to 4GB in hard drives or plugged-in devices and manipulate and edit them. Auto-hide and docking window features also make the experience better in general.
Hexedit facilitates the user with both the ASCII and hexadecimal view at the same time. It’s a simple command-line hex editor that provides loads of useful features, and you can get it by running the command ‘sudo apt install hexedit’ in the console.
5. Okteta Hex Editor
Okteta is yet another brilliant hex editor. It is excellent for byte-level raw data files and works quite like a simple text editor in terms of its mechanisms. This one is a solid choice for both advanced programmers and people with minimal hex editing experience. It can edit numeral data of different basis, octal, decimal, binary, hexadecimal.
This software features two columns on its general display screen, which show characters and their values. Multiple files can be opened and worked upon as you can drag them handily into the workspace and begin editing. Okteta is comfortably reconfigurable and customizable and provides various profiles for data views. Moreover, the user is provided with access to remote files through HTTP and FTP.
Okteta supports character encodings (8-bit), which are supplied by Qt, EBCDIC. Like the previously mentioned hex editors, Okteta also has undo and redo support, docking, and floating tool windows. All these features make Okteta a right hex editor choice.
Next on the list is the versatile and feature-rich ncurses-based hex editor, Hexcurse. It is written in C and supports hex and decimal address output, undo and redo commands, keyboard shortcuts, and searching. Hexcurse is excellent for file classification and separation as well.
With speed faster than most, HexCurse wastes no time on basic editing tasks such as opening files and saving them as it operates in the terminal. But what makes HexCurse stand out is its capability to edit hexadecimal and decimal files both, which is a user empowering feature indeed.
Multiple tabs of different files can be operated on using HexCurse. It pre-calculates and shows the number of characters the current tool would output, which is quite convenient and handy.
HexCurse also enables search for particular strings depending upon the user’s active editing windows. The software accommodates its users with shortcuts to go to specific lines, performing searches, and switching between decimal and hex addresses.
Hexer is another popular Linux hex editing and viewing application. This one is sort of a double-edged sword in a way, as it downloads the entire file it is supposed to edit, which in return makes block device manipulation impossible. However, it still offers some robust features such as multiple buffers, CLI editing, multilevel undo and redo tree, and more.
Hexer’s interface is quite similar to vi/ex, and its highly flexible nature makes it a favorite. Multiple files can be edited on the command line using Hexer, and it shows its buffers like a hex dump. For every buffer that was visited by Hexer, it creates for them all a separate .hexer file inside the current directory.
This is done to store and collect any new changes and developments during the buffering task, making Hexer undo/redo friendly. A decimal number is supposed to be inputted if you happen to be using the numeric command mode.
Furthermore, a built-in command-line calculator can be installed by using the command ‘make myc’. When all these useful features are put together, Hexer becomes an overall commendable hex editing utility, and I recommend it.
8. Dhex Hex Editor
Dhex hex editor finds its application in editing byte-level data in large files. It is a ncurses-based utility which makes it quite versatile and handy. Dhex features a comparison mode, in which the user can put head to head two different raw binary files and hence makes the comparison visually easier. In Dhex, all loaded files are assigned a base address, which makes dumping memory quicker, and the general editing experience faster.
Dhex is a case-sensitive editor, making lower and upper case characters equally meaningful, unlike in other hex editors where only capital letters are used. Different systems such as hexadecimal, binary, decimal, or octal avail their base addresses, using two base addresses.
Another essential feature of Dhex includes its marker files and search logs, both of which are pertinent for calculating the base addresses. Marker files can contain different data, which proves to be useful later on.
The add-on developers of Dhex have made the comparison function files available for users. Moreover, you can activate its render mode and bring it into play.
9. Binary Ninja
Written in Python by game developers and hackers, Binary Ninja was released under the GPLv2 License. It serves as the foundation block of reverse engineering platforms since reverse engineering is Binary Ninja’s specialty. Due to this, developers and researchers have felt a natural inclination towards using and favoring Binary Ninja. Its main functionality is to disassemble a binary file and display it in linear and graphical views while providing an in-depth parsing of the code automatically.
Hackers are known to have no affinity and regard for UI/UX, but this is simply untrue for Binary Ninja. It runs modern UX paradigms and many alternative themes also. Binary Ninja features a synopsis of the graphical view, which allows its users to analyze and overview the current file’s contents.
Submenus are available to group together the plugins the user prefers, making one’s life much more comfortable. The activity log is placed in the address, and the reports can be read by navigating to the address. All in all, Binary Ninja is a solid hex editing choice and easily one of my favorites, and the only paid app in this list.
10. Katai Struct
Katai Struct is a declarative language hex editor that finds its application to describe and manipulate binary data structures. Various data structures such as binary file and stream packet formats are saved in memory or other files. In Katai Struct, a compiler is used to compile the data structure once it is described.
Katai Struct proves to be very distinguishable in its functionality as it describes files with a .ksy extension. Particular formats get debugged by the visualizer, and it proceeds to parse data. Some recent improvements have been made, including the hex editor’s ability to handle and import languages without duplicity. Furthermore, Python has been equipped with useful docstring support, now showing the real-time errors accurately.
We have covered the top 10 Linux hex editors, all of which are reliable, fast, and rich with features. People with none or little hex editing experience won’t have any trouble while using these applications. Plus, we made sure to mention some of our favorite bare editors for the experienced users.
These hex editors’ general functionality is quite flexible and sufficient to meet the typical user’s needs. Hopefully, courtesy of our list, we hope you could find at least one robust Linux hex editor for yourself!