
A HEX editor lets you view and edit raw values in any computer file. We like HxD for Windows, it’s free but not open source. It has extensive search features for locating a specific string or value sequence in a huge binary blob. It also opens raw drives, including boot sectors and directory tables, which is helpful for developing microcontroller FAT file systems.
If you’ve never needed to use a HEX editor, why not try it out and feel like a real geek? Download HxD, it runs from a no-install mode so there’s nothing to setup. Drag a file onto HxD, the HEX editor will open and show you the contents. Try a few different files to get a feel for how your operating system stores values in files. A simple notepad .txt file just contains ASCII text values, a Word document looks a lot different. Try a .PNG image file, look at the first few bytes of the file: 0x50 0x4E 0x47, or ‘PNG’.
What’s your favorite HEX editor for your platform?

Mac: 0xED
Windows: PSPad
Linux: ??? whatever is available/installed
I use the “hexl-mode” on Emacs. It does a pretty good job of bringing all the Emacs magic to binary files. Works across all platforms.
WinVi32
Of course it’s wxHexEditor.
Works across all platforms,
Could open/work with Terabyte disks, speedy,
Supports many features.
Open Sourced…
Also I am author of it. :D
Hex Workshop from Breakpoint Software blows away any other Hex editor I’ve ever used over the years, the only problem is that it costs quite a lot (around $89), especially if you only use it every now and then. Still, if you’re seriously into working with Hex, I’ve never found a program that even comes close to it.
http://www.hexworkshop.com/
Years ago I used WinHex trial and it was good, but not as good as HexWorkshop.
For simple stuff I use Ultraedit, simply because I already have a perpetual license for it and it’s by far *the* best Text Editor on the market – and totally customisable, even down to what is / is not on the menus. It can do Hex mode, though as yet it can’t import Intel Hex type files (which I deal with all the time) whereas Hexworkshop can.
But if you want free and Open Source I can’t help too much. I’ll checkout the ones you suggested
@EUA – I retract my earlier comment, perhaps I now have seen something comparable to Hex Workshop! I haven’t played with it yet, but just looking at the webpage it looks like it’s got a lot of very nice features, I’ll have to download it and play with it. Looks like you’ve done a great job with it!
I hope this is not going off-topic too much
@EUA – I loaded up and tried your Hex Editor and I have a few questions / comments. I loaded a file, closed it and then when I tried to open a second file it froze on me and stopped responding. I had to shut it down (Win Vista Ultimate).
It doesn’t seem to have any import / recognition for Intel Hex File format, which is something I use a lot.
The program doesn’t seem to have any method of controlling the byte display and seems to just default to 32bit, other good text editors you can usually select what size you want displayed (eg. 16 bit).
Still has a long way to go to be close to HexWorkshop, but for a Beta version and Free, it looks nice, so I hope you’ll keep development up. :)
@I don’t have any freezing issue on opening multiple files. It might be a bug related Windows. (I primarily develop and test it for linux).. It doesn’t support hex Intel Hex File format. I believe that just for microcontroller programming. wxHexEditor primarily developed for Big Files / Disk Devices which is good for editing your multi GB FAT image at SD card… Not for specific jobs like microcontroller hex files. But I could add features like different format importing at future. Also don’t understand about byte display requirement. My hex editor just show one char at text area per byte, means just 8 bit…
For any bug reports/feature req. you can use tracker at project page. Thanks.
Thanks EUA, it did lock up on me again, so there is some issues there (my system is normally very stable). It would be very easy to add Intel Hex file format. Re. the Byte display – Most Hex editors show 16 bytes across and the equivalent in the text window, some allow this to be changed, yours displays bytes 00-1E or 00-24