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 | 14.0.1 | March 7, 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.0 | October 12, 2019 | 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 [1] | 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 [2] | 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 | 8.2.0000 | December 12, 2019 | Yes | Yes | Yes |
Binary Ninja | Yes | Yes | Proprietary | 3.5.4526 [3] | 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 [4] | 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 | 279 [5] | Yes | Yes | Yes | Yes | Yes | Yes |
beye | 8 PiB | Yes | No | Yes | Yes | ANSI, EBCDIC, ASCII, Macintosh | Yes | 29 [6] | 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 [7] [8] [9] [10] | Unknown | No | No | No | No | Yes | Yes [11] | Unknown | No | No | Unknown | Unknown | Yes [12] | Yes | |
FlexHex | Unlimited[ citation needed ] | Yes | Yes | Yes | Yes | Yes | ANSI, OEM, UTF-16 | Yes | 2 [13] [14] | 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 [15] [16] | Only x86 Intel opcodes | Yes | Yes and replace | Yes [17] | No | ||
vim | Limited by RAM | No | No | No | No | Yes [18] | Yes | ASCII, ISO-8859, DOS (OEM), UTF-8, UTF-16, partial EBCDIC (compilation required), unicode | Yes | No | No | Yes [19] | No | Plug-in [20] | Yes | Yes |
ImHex | 16 EiB | Yes | Yes | Yes | Yes | Yes | Yes | ANSI, OEM, Unicode, UTF-8, EBCDIC, Shift-JIS, Custom | Yes | 65 [21] | 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 dialect of the Lisp programming language used as a scripting language by 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. Emacs Lisp is also termed Elisp, although there are also older, unrelated Lisp dialects with that name.
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.
RAR is a proprietary archive file format that supports data compression, error correction and file spanning. It was developed in 1993 by Russian software engineer Eugene Roshal and the software is licensed by win.rar GmbH. The name RAR stands for Roshal Archive.
In computer programming, a magic number is any of the following:
Flex is a free and open-source software alternative to lex. It is a computer program that generates lexical analyzers . It is frequently used as the lex implementation together with Berkeley Yacc parser generator on BSD-derived operating systems, or together with GNU bison in *BSD ports and in Linux distributions. Unlike Bison, flex is not part of the GNU Project and is not released under the GNU General Public License, although a manual for Flex was produced and published by the Free Software Foundation.
UltraEdit is a text editor for Microsoft Windows, Linux, and MacOS. It was initially developed in 1994 by Ian D. Mead, the founder of IDM Computer Solutions Inc., and was acquired by Idera Inc. in the August of 2021. Originally called MEDIT, it was first designed to run on Windows 3.1. A version called UltraEdit-32 was later created to run on Windows NT and Windows 95. The last 16-bit UltraEdit program version was 6.20b. UltraEdit-32 was later renamed to UltraEdit in version 14.00. Version 22.2 was the first native 64-bit version of the text editor. Starting with 2022.0, versioning had become year-based.
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 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.
Intel hexadecimal object file format, Intel hex format or Intellec Hex is a file format that conveys binary information in ASCII text form, making it possible to store on non-binary media such as paper tape, punch cards, etc., to display on text terminals or be printed on line-oriented printers. The format is commonly used for programming microcontrollers, EPROMs, and other types of programmable logic devices and hardware emulators. In a typical application, a compiler or assembler converts a program's source code to machine code and outputs it into a object or executable file in hexadecimal format. In some applications, the Intel hex format is also used as a container format holding packets of stream data. Common file extensions used for the resulting files are .HEX or .H86. The HEX file is then read by a programmer to write the machine code into a PROM or is transferred to the target system for loading and execution. There are various tools to convert files between hexadecimal and binary format, and vice versa.
MicroEMACS is a small, portable Emacs-like text editor originally written by Dave Conroy in 1985, and further developed by Daniel M. Lawrence (1958–2010) and was maintained by him. MicroEMACS has been ported to many operating systems, including CP/M, MS-DOS, Microsoft Windows, VMS, Atari ST, AmigaOS, OS-9, NeXTSTEP, and various Unix-like operating systems.
SlickEdit, previously known as Visual SlickEdit, is a cross-platform commercial source code editor, text editor, and Integrated Development Environment developed by SlickEdit, Inc. SlickEdit has integrated debuggers for GNU C/C++, Java, WinDbg, Clang C/C++ LLDB, Groovy, Google Go, Python, Perl, Ruby, Scala, PHP, Xcode, and Android JVM/NDK. SlickEdit includes features such as built-in "beautifiers" that can enhance code as you type, code navigation, context tagging, symbol references, third-party tool integration, DIFFZilla, syntax highlighting, and 15 emulations.
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.
MIT/GNU Scheme is a programming language, a dialect and implementation of the language Scheme, which is a dialect of Lisp. It can produce native binary files for the x86 processor architecture. It supports the R7RS-small standard. It is free and open-source software released under v2 or later of the GNU General Public License (GPL). It was first released by Guy Lewis Steele Jr. and Gerald Jay Sussman at the Massachusetts Institute of Technology in 1986, as free software even before the Free Software Foundation, GNU, and the GPL existed. It is now part of the GNU Project.
GNU Emacs is a free software text editor. It was created 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. Its tag line is "the extensible self-documenting text editor."
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.2, released January 2024.
Ledger is a command-line based double-entry bookkeeping application. Accounting data is stored in a plain text file, using a simple format, which the users prepare themselves using other tools. Ledger does not write or modify data, it only parses the input data and produces reports.
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.