This article needs additional citations for verification .(July 2007) |
The following is a comparison of notable hex editors.
GUI | Console | Software license | Latest stable version | Latest release date | Windows | Macintosh | Linux | |
---|---|---|---|---|---|---|---|---|
HxD | Yes | No | Proprietary freeware | 2.5.0.0 | February 11, 2021 | Win95, WinNT4 and up | No | No |
010 Editor | Yes | No | Proprietary | 15.0.1 | October 11, 2024 | Yes | Yes | Yes |
beye | No | Yes | GPL-2.0-only or GPL-3.0-only | 6.1.0 | December 12, 2009 | Yes | Yes | Yes |
bvi | No | Yes | GPL-3.0-or-later | 1.4.2 [1] | March 7, 2023 | DOS, Win95 and up | Yes | Yes |
Cheat Engine | Yes | No | Proprietary freeware | 7.2 | August 14, 2021 | Yes | Yes, ver. 6.2 | No |
GNU Emacs | Yes | Yes | GPL-3.0-or-later | 29.1 [2] | July 30, 2023 | Yes | Yes | Yes |
FlexHex | Yes | No | Proprietary freeware for personal use | 2.7 | October 12, 2018 | Windows XP and up | No | No |
Frhed (Free Hex Editor) | Yes | No | GPL-2.0-or-later | 1.7.1 | July 30, 2009 | Win98 and up | No | No |
Hexer | No | Yes | BSD-3-Clause | 1.06 | April 24, 2020 | Yes | Yes | Yes |
Hiew | No | Yes | Proprietary | 8.81 | March 24, 2024 | Yes | No | No |
ImHex | Yes | No | GPL-2.0-only | 1.26.2 | March 23, 2024 [3] | Yes | Yes | Yes |
VEDIT | Yes | Yes | Proprietary | 6.24.2 | Jan 1, 2015 | Yes | No | No |
UltraEdit | Yes | No | Proprietary | 26.10 (Windows) 18.0 (Linux / Mac OS X) | May 7, 2019 January 2, 2018 | Yes | Yes | Yes |
WinHex | Yes | No | Proprietary | 21.0 | December 13, 2023 | Win95 and up | No | No |
Vim | Yes | Yes | Vim | 9.1.0 [4] | January 2, 2024 | Yes | Yes | Yes |
Binary Ninja | Yes | Yes | Proprietary | 3.5.4526 [5] | September 15, 2023 | Yes | Yes | Yes |
Maximum file size | Partial file loading | Disk sector editing | Process memory editing | Data inspector | Bit editing | Insert/delete bytes | Character encodings (ao) | Search Unicode | File formats | Disassembler | File compare | Find in files | Bookmarks | Macro | Text editor | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
HxD | 8 EiB [6] | Yes | Windows 9x/NT and up | Yes | Yes | Yes | Yes | ANSI, ASCII, OEM, EBCDIC, Macintosh | Yes | No | Individual instructions only | Yes | No | Yes | No | No |
010 Editor | 8 EiB | Yes | Yes | WinNT only | Yes | Yes | Yes | ANSI, OEM, Unicode, UTF-8, EBCDIC, Custom | Yes | 300 [7] | Yes | Yes | Yes | Yes | Yes | Yes |
beye | 8 PiB | Yes | No | Yes | Yes | ANSI, EBCDIC, ASCII, Macintosh | Yes | 29 [8] | AVR, Java, x86, i386, x86-64, ARM/XScale, PowerPC, PPC64 | Yes | No | |||||
bvi | Limited by RAM | Yes | Yes | Yes | ANSI, ASCII | No | No | Yes and replace | Yes | |||||||
Emacs | 2.3 EB [9] [10] [11] [12] | Unknown | No | No | No | No | Yes | Yes [13] | Unknown | No | No | Unknown | Unknown | Yes [14] | Yes | |
FlexHex | Unlimited[ citation needed ] | Yes | Yes | Yes | Yes | Yes | ANSI, OEM, UTF-16 | Yes | 2 [15] [16] | No | Yes | No | Yes | No | ||
Frhed | Limited by RAM | Yes | No(read only) | Yes | Yes | ANSI, OEM | Yes | No | No | Yes | No | Yes | No | |||
Hiew | Unlimited[ citation needed ] | Yes | WinNT only | Yes | Yes | Yes | ASCII, OEM, Unicode, custom | Yes | No | x86, x86-64, MMX, SSE 4.2, 3DNow! - all assembler, ARM | Yes | Yes | Yes | |||
VEDIT | Standard, 2 GiB, Pro 64, unlimited[ citation needed ] | Yes | DOS version only | No | Yes | Yes | ANSI, OEM, EBCDIC, ASCII, custom | No | No | No | Yes | Yes | Yes | Yes | Yes | |
UltraEdit | >4 GiB | Yes | No | No | No | No | Yes | ANSI, OEM, EBCDIC, ASCII, Mac, Unix, UTF-8 | Yes | No | No | Yes | Yes | Yes | ||
WinHex | Unlimited[ citation needed ] | Yes | Yes | Yes | Yes | Yes | Partial support of these formats: ANSI, UNICODE, OEM, UTF-8/UTF-16, EBCDIC, ASCII | Yes | 44 [17] [18] | Only x86 Intel opcodes | Yes | Yes and replace | Yes [19] | No | ||
vim | Limited by RAM | No | No | No | No | Yes [20] | Yes | ASCII, ISO-8859, DOS (OEM), UTF-8, UTF-16, partial EBCDIC (compilation required), unicode | Yes | No | No | Yes [21] | No | Plug-in [22] | Yes | Yes |
ImHex | 16 EiB | Yes | Yes | Yes | Yes | Yes | Yes | ANSI, OEM, Unicode, UTF-8, EBCDIC, Shift-JIS, Custom | Yes | 65 [23] | Yes | Yes | Yes | Yes | Yes | No |
Binary Ninja | Limited by RAM | Yes | No | Yes | No | Yes | Yes | Yes | No | Yes | No | Yes | Official plugin | Official plugins | No | |
Maximum file size | Partial file loading | Disk sector editing | Process memory editing | Data inspector | Bit editing | Insert/delete bytes | Character encodings (ao) | Search Unicode | File formats | Disassembler | File compare | Find in files | Bookmarks | Macro | Text editor |
ao: ANSI is the Windows character set, OEM is the DOS character set. Both are based on ASCII.
The editor war is the rivalry between users of the Emacs and vi text editors. The rivalry has become an enduring part of hacker culture and the free software community.
Emacs Lisp is a Lisp dialect made for Emacs. It is used for implementing most of the editing functionality built into Emacs, the remainder being written in C, as is the Lisp interpreter.
The GNU Debugger (GDB) is a portable debugger that runs on many Unix-like systems and works for many programming languages, including Ada, Assembly, C, C++, D, Fortran, Haskell, Go, Objective-C, OpenCL C, Modula-2, Pascal, Rust, and partially others.
In computing, the utility diff is a data comparison tool that computes and displays the differences between the contents of files. Unlike edit distance notions used for other purposes, diff is line-oriented rather than character-oriented, but it is like Levenshtein distance in that it tries to determine the smallest set of deletions and insertions to create one file from the other. The utility displays the changes in one of several standard formats, such that both humans or computers can parse the changes, and use them for patching.
In computing, tar is a computer software utility for collecting many files into one archive file, often referred to as a tarball, for distribution or backup purposes. The name is derived from "tape archive", as it was originally developed to write data to sequential I/O devices with no file system of their own, such as devices that use magnetic tape. The archive data sets created by tar contain various file system parameters, such as name, timestamps, ownership, file-access permissions, and directory organization. POSIX abandoned tar in favor of pax, yet tar sees continued widespread use.
In computer programming, Base64 is a group of binary-to-text encoding schemes that transforms binary data into a sequence of printable characters, limited to a set of 64 unique characters. More specifically, the source binary data is taken 6 bits at a time, then this group of 6 bits is mapped to one of 64 unique characters.
Ctags is a programming tool that generates an index file of names found in source and header files of various programming languages to aid code comprehension. Depending on the language, functions, variables, class members, macros and so on may be indexed. These tags allow definitions to be quickly and easily located by a text editor, a code search engine, or other utility. Alternatively, there is also an output mode that generates a cross reference file, listing information about various names found in a set of language files in human-readable form.
vile is a text editor that combines aspects of the Emacs and vi editors. These editors are traditionally located on opposing sides of the editor wars, as users of either tend to have strong sentiments against the editor they do not use. vile attempts to reconcile these positions.
A source-code editor is a text editor program designed specifically for editing source code of computer programs. It may be a standalone application or it may be built into an integrated development environment (IDE).
A hex editor is a computer program that allows for manipulation of the fundamental binary data that constitutes a computer file. The name 'hex' comes from 'hexadecimal', a standard numerical format for representing binary data. A typical computer file occupies multiple areas on the storage medium, whose contents are combined to form the file. Hex editors that are designed to parse and edit sector data from the physical segments of floppy or hard disks are sometimes called sector editors or disk editors.
This article provides basic comparisons for notable text editors. More feature details for text editors are available from the Category of text editor features and from the individual products' articles. This article may not be up-to-date or necessarily all-inclusive.
Motorola S-record is a file format, created by Motorola in the mid-1970s, that conveys binary information as hex values in ASCII text form. This file format may also be known as SRECORD, SREC, S19, S28, S37. It is commonly used for programming flash memory in microcontrollers, EPROMs, EEPROMs, and other types of programmable logic devices. In a typical application, a compiler or assembler converts a program's source code to machine code and outputs it into a HEX file. The HEX file is then imported by a programmer to "burn" the machine code into non-volatile memory, or is transferred to the target system for loading and execution.
Brief, is a once-popular programmer's text editor in the 1980s and early 1990s. It was originally released for MS-DOS, then IBM OS/2 and Microsoft Windows. The Brief interface and functionality live on, including via the SourceForgeGRIEF editor.
GNU Emacs is a text editor and suite of free software tools. Its development began in 1984 by GNU Project founder Richard Stallman, based on the Emacs editor developed for Unix operating systems. GNU Emacs has been a central component of the GNU project and a flagship project of the free software movement.
Emacs, originally named EMACS, is a family of text editors that are characterized by their extensibility. The manual for the most widely used variant, GNU Emacs, describes it as "the extensible, customizable, self-documenting, real-time display editor". Development of the first Emacs began in the mid-1970s, and work on GNU Emacs, directly descended from the original, is ongoing; its latest version is 29.4 , released June 2024.
In computing, comp
is a command used on DEC OS/8, DOS, DR FlexOS, IBM OS/2, Microsoft Windows and related computer operating systems such as ReactOS. It is used to perform comparisons of multiple computer files to show the differences between them.
Spacemacs is a configuration framework for GNU Emacs. It can take advantage of all of GNU Emacs' features, including both graphical and command-line user interfaces, and being executable under X Window System and within a Unix shell terminal. It is free and open-source software (FOSS) released under the GPL-3.0-or-later license.
010 Editor is a commercial hex editor and text editor for Microsoft Windows, Linux and macOS. Typically 010 Editor is used to edit text files, binary files, hard drives, processes, tagged data, source code, shell scripts, log files, etc. A large variety of binary data formats can be edited through the use of Binary Templates.
A buffer's size cannot be larger than some maximum, which is defined by the largest buffer position representable by Emacs integers. This is because Emacs tracks buffer positions using that data type. For typical 64-bit machines, this maximum buffer size is 2^{61} - 2 bytes, or about 2 EiB. For typical 32-bit machines, the maximum is usually 2^{29} - 2 bytes, or about 512 MiB. Buffer sizes are also limited by the amount of memory in the system.