ImHex: A Hex Editor Built for Reverse Engineers with a Custom Pattern Language
ImHex is a hex editor for reverse engineers and programmers, with byte patching, patch management, unlimited undo/redo, and its own pattern language for binary analysis.
At a glance
- What is it?
- ImHex is a GPL-2.0 hex editor designed for reverse engineers and programmers who work with binary file formats. Beyond basic byte editing, it offers a custom C++-like pattern language for parsing file structures, a node-based data pre-processor, access to process memory and GDB servers, and a dark-mode-first UI built for late-night use.
- Who is it for?
- Reverse engineers working with binary file formats and programmers who need deep inspection of structured binary data will find ImHex a capable tool. Developers who only need basic hex viewing or simple edits on Windows can use HxD instead, which has no installation cost and no GPL obligations.
- Can I use it commercially?
- Yes, with conditions. GPL-2.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 7 days ago.
- What is it written in?
- Mainly C++, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 26, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
What ImHex Is and Who It Is For
ImHex describes itself as a hex editor for reverse engineers, programmers, and people who value their retinas when working at 3 AM. That last clause is not a joke: the editor defaults to dark mode and specifically lists low eye strain as a design objective. The feature list is explicitly oriented toward analysis workflows rather than simple byte patching.
The primary audience is developers who need to understand binary file formats, inspect process memory, or analyze data streams. The project page and download are at imhex.download, with documentation at docs.werwolv.net. There is also a web version at web.imhex.werwolv.net that runs in the browser without any installation.
The project is sponsored by JetBrains for development licenses, SignPath for Windows code signing certificates, and Amazon for CI cloud credits, according to the README. The author accepts sponsorships through GitHub Sponsors and Ko-Fi, and the README notes that commercial users are welcome to reach out about tailored support arrangements.
The Pattern Language: Parsing File Formats Without External Tools
The most distinctive feature of ImHex is its custom C++-like pattern language for parsing and highlighting the contents of binary files. The README describes it as supporting arrays, pointers, structs, unions, enums, bitfields, namespaces, little and big endian byte order, and conditionals. Patterns can be loaded automatically based on MIME types and magic values, so opening a known file type can trigger the correct pattern without manual selection.
The pattern language includes error messages, syntax highlighting, and error marking in the pattern editor, which makes writing new patterns a more guided process than using an external scripting language. Patterns can also visualize data as images, audio, 3D models, geographic coordinates, and timestamps, going beyond raw byte display.
The data inspector complements the pattern language. It interprets the bytes at the cursor as a range of types simultaneously: unsigned and signed integers from 8 to 64 bits, floats from 16 to 64 bits, LEB128 variants, ASCII and UTF-8 characters and strings, time types (time32_t, time64_t, DOS date and time), GUIDs, and color values. New data types can be added through the pattern language itself, and rows that are not relevant to the current file can be hidden.
This combination of a pattern language and a data inspector means that someone working on a new file format can define the structure, see it highlighted in the hex view, and inspect individual fields at the cursor position without switching to a separate tool.
Getting ImHex: Desktop Download and the Web Version
The README directs users to imhex.download for the desktop installer and to imhex.download/#nightly for nightly pre-release builds. There is no package installation command in the README, and the primary path is the binary download from the project site. The INSTALL.md file in the repository contains platform-specific installation steps, but its content is not included in the information available here.
The latest stable release is v1.38.1, dated 2025-12-21. The release note for that version describes Windows installer improvements, data inspector edit fixes, and updater fixes. Before it, v1.38.0 added a better pattern editor, new data sources, and a save editor mode.
For users who do not want to install anything, the web version at web.imhex.werwolv.net runs ImHex directly in the browser. The web version is useful for quick inspection or for evaluating ImHex before committing to a desktop install.
Data Sources: From Local Files to Remote Processes
ImHex can load data from a range of sources beyond local files. The README lists these explicitly. For local files, it claims fast and efficient loading for large files. Raw disk and partition access is supported, allowing inspection of storage devices directly.
Process memory is one of the more unusual data sources. ImHex can inspect the entire address space of a running process. The GDB server support extends this to remote targets: the README mentions accessing the RAM of a running process or embedded devices through GDB, which is useful for firmware analysis and embedded debugging workflows.
Networked data sources include raw UDP packets, which allows displaying data received over a network interface, and remote file access over SSH using SFTP. The supported input formats also include Intel Hex files, Motorola SREC data, and Base64 encoded data, which are common in embedded development and firmware distribution.
The node-based data pre-processor adds another layer: it can modify, decrypt, or decode data before it is displayed in the hex view. This allows viewing decrypted content without permanently altering the underlying source file.
Searching, Copying, and Exporting
The search capability in ImHex is more detailed than a typical hex editor. The README lists multiple search modes: string extraction with configurable minimum length, character set, and encoding; sequence search for byte patterns with optional case ignoring; regex search; binary pattern search with optional wildcards; and numeric value search that can find integers and floats by value range and supports configurable size and endianness.
Copying selected bytes can produce output in multiple formats: raw bytes, hex strings, and arrays formatted for C, C++, C#, Rust, Python, Java, and JavaScript. There are also ASCII-art and HTML div formats for documentation use.
Export supports Base64 files, IPS and IPS32 patch files, Markdown reports, and binary arrays for various programming languages. The patch management feature tracks changes as patches, which can be managed separately from the file, and infinite undo and redo is available.
GPL-2.0 License and Comparison with HxD
ImHex is licensed under GPL-2.0. The copyleft obligations under GPL-2.0 apply to redistribution: if a team builds a product that distributes ImHex binaries or incorporates its code, they must make the source code available under GPL-2.0. For teams using ImHex as an internal tool, the copyleft clause is not triggered.
HxD is a widely used free hex editor for Windows, often compared with ImHex in searches. HxD is freeware, not open source, and is available only on Windows. It handles basic hex editing, disk sector editing, and simple search effectively. It does not have a pattern language, a data pre-processor, or GDB server support. The difference in scope is significant: HxD is a simpler tool oriented toward quick edits and viewing, while ImHex is designed for structured binary analysis and reverse engineering.
For users who need the pattern language and multi-source data access, HxD is not a substitute. For users who only need basic hex viewing or editing on Windows without the reverse engineering features, HxD avoids the GPL obligations that come with redistributing ImHex.
Editorial conclusion
Reverse engineers working with binary file formats and programmers who need deep inspection of structured binary data will find ImHex a capable tool. Developers who only need basic hex viewing or simple edits on Windows can use HxD instead, which has no installation cost and no GPL obligations. Before using ImHex in a commercial product that redistributes it, review the GPL-2.0 terms: the copyleft requirements apply to redistribution, not just internal use. The web version at web.imhex.werwolv.net is a low-friction starting point to test whether the pattern language fits a workflow before installing the desktop application.
Frequently asked questions
What is ImHex used for?
ImHex is used for inspecting and analyzing binary files, file formats, process memory, disk images, and network data. Its custom pattern language allows defining file structures for highlighted parsing, which makes it useful for reverse engineering and binary protocol analysis.
Is ImHex free?
Yes. ImHex is open source under the GPL-2.0 license and available at no cost. The GPL-2.0 requires that any redistribution of the software include source code under the same license, but using it internally has no associated cost or license fee.
How do you install ImHex?
Download the installer from imhex.download. The repository includes an INSTALL.md with platform-specific steps. A nightly build is available at imhex.download/#nightly, and a web version runs without installation at web.imhex.werwolv.net.
How does ImHex compare to HxD?
HxD is Windows-only freeware for basic hex editing without a pattern language or scripting capability. ImHex adds a custom C++-like pattern language, a data pre-processor, GDB server access, and process memory inspection, making it suited for deeper binary analysis. HxD is simpler and imposes no GPL redistribution requirements.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/werwolv-imhex)
Community notes