Hex editor

A hex editor is possibly the most multi-purpose and general tool used in ROM Hacking. It displays the ROM data as a hexadecimal string, which allows one to examine it, provided they have knowledge of the game's internals.

Most Hex editors support character tables (or thingy tables, as per the widely used hex editor thingy and later thingy32), which are small plaintext .tbl files that link every hexadecimal value with a character, which proves most useful when reading and changing text data. Some text editors allow relative searching for strings and automatic creation of tables.

List of useful Hex editors

 * 010 Editor ( Payware ) One of the best hex editors out there. Features include histograms, search with wildcards in binary and text mode, color highlighting, common binary data types shown, resynchronizing file comparisons, checksum and hashing algorithms, and most notably scriptable binary templates for custom structures with optional and variable-size parts, open drives and process memory.
 * Hex Workshop ( Payware ) A fairly good hex editor with some advanced features, such as character distribution, search by bit masks, support for custom character tables (only 8 bit values can be mapped), color highlighting of structured data and interpretation in structure viewer, common binary data types shown, checksum and hashing algorithms, resynchronizing file comparisons, open drives. Be warned, version 6.0.1 doesn't work under Japanese locale.
 * HxD ( Freeware ) A very compact hex editor only 900 kB big! Features include opening hard drives, RAM and disk images, basic file comparison, checksum and hashing algorithms. Handles basic text file encodings as well.
 * MadEdit ( Freeware ) A very useful Text Editor and Hex Editor combo. The best thing about it is that it supports many popular text encodings such as Unicode (UTF-8, UTF-16/32 LE/BE), Big5, GBK, EUC, and S-JIS etc.
 * Thingy32 ( Freeware ) The infamous hex editor originally written by Necrosaro and then ported over to MS Visual Basic. With it came the option to use two table files at the same time and the actual table format, nowadays sometimes known as thingy tables as mentioned above. Can only use table files encoded in current locale. Has problems with multi-byte locales, such as CJK.
 * Windhex32 ( Freeware ) Allows usage of table files (specialized support for Japanese characters), relative search, built-in table editor and graphics editor (which sucks, though).
 * XVI32 ( Freeware ) One of the more compact hex editors (less than 1MB download), and capable of viewing CP437, ISO 8859-1, and ASCII encoded text.
 * Synalyze It! ( Freeware ) A hex editor for Mac OS X that supports many text encodings and allows definition of a "grammar" for binary files. Similar files can be decoded and edited then easily. Other features are histogram view, incremental search for text, numbers and masks, display of all strings in a file.
 * 0xED ( Freeware ) A native OS X hex editor based on the Cocoa framework. Lightweight, intuitive and user-friendly, but lacks advanced features.