PAGES
← all tools
◆ Reverse Engineering

imhex

v1.38.1 open-source

ImHex is a hex editor for reverse engineers, programmers, and people who value their retinas when working at 3 AM.

Summary

ImHex is an open-source hex editor for reverse engineers, aimed at people who need to inspect and annotate binary files rather than just view raw bytes, and it costs nothing to use. It runs as a desktop application on Windows, macOS, and Linux, with a WebAssemblyWebAssemblyA binary instruction format that runs in browsers and server runtimes at near-native speed, letting developers compile C, Rust, or other languages into a portable, sandboxed module any compliant host can execute. build available for self-hosting a browser version, and a CLI mode for scripted use via flags like --file-info or --save-editor. Its own README pitches it at reverse engineers, programmers, and forensics-minded users, describing itself as a hex editor built for people who value their retinas at 3 AM, with a pattern language for parsing binary structures, YARA and constant-search integration for identifying data, and disassembler support for custom instruction sets. Development is active, with 198 contributors and 744 commits in the past year across 9 tracked releases.

ImHex is a hex editor for reverse engineers, programmers, and people who value their retinas when working at 3 AM.

How imhex helps

What does this unfamiliar file format actually contain?

a pattern language describes the byte structure declaratively and annotates the hex view with named, typed fields as it parses them

Is this data actually the format its extension claims?

opening it against a pattern shows where the parse breaks or mismatches, exposing malformed or disguised files

What is changing in this stream of bytes right now?

a live provider connects to a UDP port or an SSH-mounted memory device and shows the incoming bytes in the same hex view used for static files

What differs between these two versions of a binary?

a diff view highlights byte-level differences and lets you step directly from one changed region to the next

What does this custom or undocumented instruction set decode to?

a JSON-defined custom disassembler renders the raw bytes as instructions for architectures without built-in support

all 56 features, with the evidence for each →

Languages

English, Chinese (Simplified), French, German, Hungarian, Italian, Japanese, Korean, Polish, Portuguese, Russian, Ukrainian Release notes: English, Chinese (Simplified), French, German, Hungarian, Italian, Japanese, Korean, Polish, Portuguese, Russian, Ukrainian English, Chinese (Simplified), French, Polish, Ukrainian added in v1.38.1 (Dec 21, 2025) · English, Chinese (Simplified), French, Polish, Ukrainian added in v1.38.0 (Dec 6, 2025) · Russian added in v1.37.4 (Feb 26, 2025) · Russian added in v1.37.3 (Feb 25, 2025) · Russian added in v1.37.2 (Feb 24, 2025)

Features

56 capabilities

Built from imhex's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

What imhex offers you

  • Command-line interface2
  • CSV data export1
  • JSON data export1
All capabilities 56 capabilities
External Integration Interface shipped Allow external tools and scripts to control the cyber tool via CLI, TCP socket, or .NET automation. 22 releases · 5 other sources · first seen Sep 2022

Also counts toward: Command-line interface

release 22 total

  • Adds the --select, --pattern, and --debug-mode command-line subcommands for scripting and automation v1.37.4 · Feb 2025 · source · release history
  • Adds messaging support on macOS and Linux to control a running ImHex instance via CLI flags v1.37.4 · Feb 2025 · source · release history
  • Adds --open, --select, --pattern and --debug-mode subcommands for controlling ImHex via the command line on macOS and Linux v1.37.3 · Feb 2025 · source · release history
  • Adds messaging IPC support for macOS and Linux to allow external applications to send commands (like opening files or selecting regions) to a running ImHex instance v1.37.2 · Feb 2025 · source · release history
  • Adds --open, --select, --pattern, --new, and --debug-mode CLI subcommands to control ImHex instances from the command line v1.37.2 · Feb 2025 · source · release history
  • Adds --pattern <expr> flag to execute pattern language expressions via CLI v1.37.1 · Feb 2025 · source · release history

example

  • Restore ImHex to default configuration if settings become corrupted. imhex --reset-settings v1.35.1 · Jun 2024 · source
  • Run the tool with verbose logging enabled to capture debug output for troubleshooting imhex --verbose <file.hex> v1.34.0 · Jun 2024 · source
  • Demangle C++ symbols in a file and save the output directly to stdout. imhex --demangle /path/to/lib.so v1.32.2 · Jan 2024 · source
  • Extract a raw hexdump of a binary file from the command line. imhex --hexdump /path/to/binary.bin v1.32.2 · Jan 2024 · source
  • Scan multiple hex files in one session from the terminal. imhex file1.hex file2.bin v1.23.1 · Sep 2022 · source
Customizable Struct/Union/Array Definitions shipped Pattern language attributes to control struct, union, and array layout and pointer base addresses. 20 releases · 3 other sources · first seen Nov 2020

release 20 total

  • Adds [[fixed_size]] attribute to enforce minimum or maximum type sizes in patterns. v1.36.0 · Dec 2024 · source · release history
  • Pattern language constants are now supported inside custom types. v1.35.3 · Jun 2024 · source · release history
  • Pattern Language: arrays can now be initialized using literal syntax (e.g. u32 myArray[5] = { 1, 2, 3, 4, 5 };). v1.35.0 · Jun 2024 · source · release history
  • Arrays can now be initialized using the following syntax: u32 myArray[5] = { 1, 2, 3, 4, 5 }; in the Pattern Language v1.35.1 · Jun 2024 · source · release history
  • Allow custom types to be used inside of sizeof operators v1.24.2 · Oct 2022 · source · release history
  • Allow custom types inside of sizeof operators in the Pattern Language v1.24.1 · Oct 2022 · source · release history

example

  • Initialize an array directly in a pattern definition without individual assignments. u32 myArray[5] = { 1, 2, 3, 4, 5 }; v1.35.1 · Jun 2024 · source
  • Access a variable defined in the parent structure using the new parent keyword. // In ImHex's Pattern Language struct MyStruct { u32 parent::offset; }; v1.8.0 · May 2021 · source
  • Write a pattern script to parse custom binary structures at fixed addresses In the pattern editor, use syntax like `Data data @ 0x1000;` to define a struct instance at offset 0x1000, leveraging built-in types. v1.0.0 · Nov 2020 · source
Portable Data Processor Management shipped Ability to save and load data processor configurations directly from the menu. 17 releases · first seen Feb 2021

release 17 total

  • Adds --demangle subcommand to the CLI to demangle symbols v1.32.0 · Dec 2023 · source · release history
  • Adds --demangle subcommand to the CLI to demangle symbols v1.32.1 · Dec 2023 · source · release history
  • String in/out variables added to the pattern language v1.31.0 · Sep 2023 · source · release history
  • Replace feature added to the find view v1.30.0 · Jun 2023 · source · release history
  • #pragma magic allows automatic loading of patterns based on a byte sequence v1.30.0 · Jun 2023 · source · release history
  • Added a network control interface allowing external tools to send commands to ImHex over a TCP Socket v1.29.0 · May 2023 · source · release history
Pattern Editor UI/UX Enhancements shipped Align editor behavior with conventional standards, improve error reporting with cursor positions, and add visual toggles. 12 releases · 1 other source · first seen Nov 2020

release 12 total

  • Pattern Editor gains semantic syntax highlighting for PatternLanguage, matching-bracket highlighting, live external editor sync, and auto-closing parentheses/quotes. v1.38.0 · Dec 2025 · source · release history
  • All tools and views are now accessible from the command palette. v1.38.0 · Dec 2025 · source · release history
  • Markdown renderer added — used in the About changelog and Bookmark comments. v1.38.0 · Dec 2025 · source · release history
  • Adds separate font configuration options for the main UI, Hex Editor, and Pattern Editor in settings v1.37.4 · Feb 2025 · source · release history
  • Pattern Language adds cursor positions to error stack traces. v1.37.0 · Feb 2025 · source · release history
  • Adds option to fit hex columns to screen width. v1.37.0 · Feb 2025 · source · release history

example

  • Quickly dismiss an unwanted pattern suggestion in the hex editor without clicking away Press `Escape` while the 'Accept Pattern' popup is open v1.30.1 · Jun 2023 · source
Global Variable Scope Management shipped Allow assignment to global variables inside structs in the Pattern Language. 11 releases · 1 other source · first seen Feb 2022

Also counts toward: CSV data export, JSON data export

release 11 total

  • RGBA8 and RGB565 minimap visualizers added; minimap gains an option to shade cells by byte-value magnitude. v1.38.0 · Dec 2025 · source · release history
  • Adds support for OpenGL post-processing shaders by loading shader.vert and shader.frag from resource folders v1.37.4 · Feb 2025 · source · release history
  • Enables OpenGL post-processing shaders by placing shader.vert and shader.frag files in an ImHex resource folder v1.37.3 · Feb 2025 · source · release history
  • Adds support for OpenGL post processing shaders by placing shader.vert and shader.frag files in ImHex resource folders v1.37.2 · Feb 2025 · source · release history
  • Enables loading custom OpenGL post-processing shaders by placing shader.vert and shader.frag in ImHex resource folders v1.37.1 · Feb 2025 · source · release history
  • Pattern Language now displays exported global variables in output. v1.37.0 · Feb 2025 · source · release history

example

  • Export search results from the GUI for external analysis in CSV or JSON format. In the Find Results panel, click the Export button and select CSV, TSV, or JSON. v1.35.1 · Jun 2024 · source
Advanced Data Visualizers shipped Addition of Digram, Layered Distribution, Byte Distribution, and Image visualizer nodes to the data processor. 11 releases · 1 other source · first seen Feb 2022

release 11 total

  • Hex editor minimap now supports various per-byte highlights. v1.35.3 · Jun 2024 · source · release history
  • File loading options added to explicitly choose memory or disk read paths regardless of file size. v1.35.3 · Jun 2024 · source · release history
  • Introduces Edit -> Jump to -> Pattern option for jumping from hex highlights to pattern definitions v1.33.2 · Mar 2024 · source · release history
  • Adds a Mini Map to the Hex Editor, toggleable via the map icon in the hex editor footer v1.33.2 · Mar 2024 · source · release history
  • Expands available hash algorithms to include basic sums, Snefru, Haval, Keccak, RIPEMD, CRC presets, and more via the hashing view v1.33.2 · Mar 2024 · source · release history
  • Edit -> Jump to -> Pattern command links hex highlights directly to pattern definitions in the editor v1.33.0 · Feb 2024 · source · release history

example

  • View configured hash values directly in the hex editor while examining a specific data region. Select a region, hover the cursor over it and hold down SHIFT v1.18.2 · Jun 2022 · source
Pattern Visualization Plugins shipped Enable the creation of custom visualizers in-editor and add new built-in types like line plot, scatter plot, image, bitmap, disassembler, 3d, sound, timestamp, coordinates, color, gauge, button, and hex viewer. 8 releases · 1 other source · first seen Nov 2020

release 8 total

  • Clicking Yara matches now jumps to the corresponding location in the Hex Editor. v1.38.0 · Dec 2025 · source · release history
  • Adds initial support for custom disassemblers via JSON format in ImHex-Patterns/disassemblers directory v1.37.2 · Feb 2025 · source · release history
  • Custom plugins can be built again using the ImHex SDK v1.35.4 · Jul 2024 · source · release history
  • [[hex::group]] attribute groups patterns in the pattern data view v1.31.0 · Sep 2023 · source · release history
  • New hex_viewer visualizer in the Pattern Language v1.30.0 · Jun 2023 · source · release history
  • Adds Visualizers (line_plot, scatter_plot, image, bitmap, disassembler, 3d, sound) to graphically visualize patterns v1.27.0 · Feb 2023 · source · release history

example

  • Launch a new window and open a file in it. imhex --new --open "data.bin" v1.37.1 · Feb 2025 · source
UI-Driven Pattern Inputs shipped Ability to define input variables via UI before execution and display outputs, with an environment variables tab. 8 releases · 1 other source · first seen Dec 2020

release 8 total

  • Delivers massive improvements to the Pattern Editor, including behavior aligned with conventional editors. v1.36.0 · Dec 2024 · source · release history
  • Added support for editing the ASCII characters in the hex editor view v1.24.3 · Oct 2022 · source · release history
  • Adds numeric value searching to the Find View v1.24.0 · Oct 2022 · source · release history
  • filter option now available in the bookmarks view v1.19.3 · Jul 2022 · source · release history
  • Adds an Environment Variables tab to the pattern editor view, enabling the use of std::env to access string, boolean, integer, or float values. v1.13.0 · Jan 2022 · source · release history
  • Added assert, warnAssert and print builtin functions to the pattern language evaluator v1.6.1 · Jan 2021 · source · release history

example

  • Filter bookmarks in the GUI view In the bookmarks view, use the `filter` field to narrow down entries. v1.19.3 · Jul 2022 · source
Pattern Execution Safety Consent shipped Confirmation dialogs required before executing dangerous functions like file I/O or HTTP in patterns. 6 releases · 2 other sources · first seen Nov 2020

release

  • Pattern Language adds cursor positions to error stack traces. v1.37.0 · Feb 2025 · source · release history
  • Added try-catch statements to the Pattern Language v1.29.0 · May 2023 · source · release history
  • Adds match statements to the Pattern Language for conditional pattern parsing v1.28.0 · Apr 2023 · source · release history
  • Added support for anonymous patterns and placing patterns views from functions using placement syntax v1.26.2 · Jan 2023 · source · release history
  • Introduces a confirmation dialog gating dangerous functions (file IO, HTTP) in patterns behind user consent per session. v1.13.0 · Jan 2022 · source · release history
  • Pattern Language verifier catches logic errors before execution v1.1.0 · Nov 2020 · source · release history

example

  • Write a pattern that conditionally parses structure A or B based on a flag byte using the new match syntax. // In the Pattern Language editor struct MyStruct { u32 type; match (type) { 1: { // Case 1 u8 field_a; } default: { // Default case u8 field_b; u8 field_c; } } }; MyStruct data; v1.28.0 · Apr 2023 · source
  • Configure proxy settings for network-dependent pattern fetching or data loading. In the ImHex UI, navigate to Settings and locate the Proxy configuration section to enable HTTP or SOCKS5 proxies. v1.19.0 · Jul 2022 · source
Cursor Control Attributes shipped Attributes and operators to prevent cursor advancement or manually change the current cursor position in patterns. 6 releases · 2 other sources · first seen Nov 2020

release

  • Enables opening multiple files simultaneously via the new command-line syntax (e.g. passing several paths as arguments) v1.23.0 · Sep 2022 · source · release history
  • Adds the ability to cancel many long running tasks by clicking the Stop button next to the task progress bar in the footer v1.21.2 · Aug 2022 · source · release history
  • Pattern language allows assigning a value to the dollar operator to change the current cursor v1.14.0 · Jan 2022 · source · release history
  • Pattern language adds [[no_unique_address]] attribute to prevent cursor advancement on variable placement v1.14.0 · Jan 2022 · source · release history
  • Pattern language now supports the modulus operator %, the dollar operator $, and attributes like [[name]] v1.7.0 · Feb 2021 · source · release history
  • Multi-byte selection enables copying both raw bytes and their corresponding string representation v1.1.0 · Nov 2020 · source · release history

example

  • Open multiple binary files for comparison or batch processing via the CLI. imhex file1.bin file2.bin file3.bin v1.23.0 · Sep 2022 · source
  • When you start a massive pattern analysis or import operation that takes too long and want to stop it without closing the app. Click the Stop button located in the task progress bar at the footer of the ImHex window. v1.21.2 · Aug 2022 · source
Process Memory Provider shipped Attach to running Windows processes, read their address space, list modules, and inject DLLs. 7 releases · first seen Jan 2023

release 7 total

  • New UDP Provider displays live UDP packets received on a specified port in the hex editor. v1.38.0 · Dec 2025 · source · release history
  • New SSH Provider connects to remote machines over SSH or SFTP — enabling live RAM inspection via /dev/mem on remote hosts. v1.38.0 · Dec 2025 · source · release history
  • Added basic process memory provider support to macOS (requires SIP disabled). v1.35.3 · Jun 2024 · source · release history
  • Added basic process memory provider support to macOS (requires SIP disabled) v1.35.2 · Jun 2024 · source · release history
  • Added basic process memory provider support to macOS (requires SIP disabled) v1.35.1 · Jun 2024 · source · release history
  • Added basic process memory provider support to macOS (requires SIP disabled). v1.35.0 · Jun 2024 · source · release history
Function Definition Enhancements shipped Support for default parameters in pattern language functions. 6 releases · 1 other source · first seen Apr 2022

release

  • View providers can now be renamed directly from the UI. v1.35.3 · Jun 2024 · source · release history
  • View providers can now be renamed. v1.35.0 · Jun 2024 · source · release history
  • typenameof operator added to the pattern language v1.31.0 · Sep 2023 · source · release history
  • Added $[123] syntax to read a single byte from main memory v1.26.2 · Jan 2023 · source · release history
  • Added $[123] syntax to read a single byte from the main memory in pattern language v1.26.0 · Jan 2023 · source · release history
  • Functions can now have default parameters in Pattern Language v1.17.0 · Apr 2022 · source · release history

example

  • Generate random numbers within a pattern using the new std::random module. // In the Pattern Language editor u32 rand_val = std::random::generate_u32(); v1.28.0 · Apr 2023 · source
Pattern Standard Library Extensions shipped Add standard library functions for math accumulation, random number generation, string searching, and type inspection. 3 releases · 3 other sources · first seen May 2022

release

  • Pattern language std::execute_function() added. v1.35.3 · Jun 2024 · source · release history
  • typenameof operator added to the pattern language v1.31.0 · Sep 2023 · source · release history
  • addressof($) and sizeof($) functions added to the Pattern Language to get data base address and size v1.18.1 · May 2022 · source · release history

example

  • Calculate a CRC8 checksum of a string in a pattern file to verify data integrity. u8 sum = std::crc8("my_data_string"); v1.35.4 · Jul 2024 · source
  • Generate random numbers within a pattern using the new std::random module. // In the Pattern Language editor u32 rand_val = std::random::generate_u32(); v1.28.0 · Apr 2023 · source
  • Retrieve the base address and size of the current pattern element during analysis. u32 addr = addressof($); u32 size = sizeof($); v1.18.1 · May 2022 · source
Bitfield Field Selection shipped Enable selection of individual bitfield fields in the Pattern Language view. 4 releases · 2 other sources · first seen Apr 2022

release

  • Adds import statements support to the Pattern Language v1.33.2 · Mar 2024 · source · release history
  • Pattern language adds import statements for including external pattern files v1.33.0 · Feb 2024 · source · release history
  • Adds an IEEE 754 floating point number experimenting tool v1.18.2 · Jun 2022 · source · release history
  • Bitfield fields are now selectable in Pattern Language v1.17.0 · Apr 2022 · source · release history

example

  • Import external pattern definitions into your current project for reuse. Pattern Language editor: `import "patterns/custom_pattern.pat";` v1.33.2 · Mar 2024 · source
  • Visualize the floating point representation of bytes in your binary data. Use the new IEEE 754 floating point number experimenting tool via the Visualizer menu v1.18.2 · Jun 2022 · source
Interactive Pattern Visualization shipped Ability to select nested pattern elements by clicking them in the data view. 6 releases · first seen Feb 2022

release

  • [[hex::group]] attribute groups patterns in the pattern data view v1.31.0 · Sep 2023 · source · release history
  • [[hex::favorite]] attribute marks patterns as favorites in the data view v1.31.0 · Sep 2023 · source · release history
  • New hex_viewer visualizer in the Pattern Language v1.30.0 · Jun 2023 · source · release history
  • [[hex::visualizer]] attribute added to Pattern Language to enable basic line plot and image visualizers for pattern data. v1.26.1 · Jan 2023 · source · release history
  • Added [[hex::visualizer]] attribute to add basic line plot and image visualizers in patterns v1.26.2 · Jan 2023 · source · release history
  • Allow patterns with nested children (structs, bitfields, arrays and unions) to be selected by clicking on them in the pattern data view v1.15.0 · Feb 2022 · source · release history
Pattern Language Type System Enhancements shipped Support for importing patterns, enforcing type sizes, and handling rvalue assignments inside structs. 5 releases · first seen Dec 2024

release

  • Pattern Language: templates now support proper nesting and sensible scoping; conditionals support short-circuit evaluation; sizeof(SomeType) works with pointers. v1.38.0 · Dec 2025 · source · release history
  • Template parameter scoping in Pattern Language changed: parameters are now scoped to the template instantiation site rather than the usage site, so existing patterns using parent to work around the old scoping may need to be updated. v1.38.0 · Dec 2025 · source · release history
  • Pattern Language adds support for rvalue assignments inside structs. v1.37.0 · Feb 2025 · source · release history
  • Adds utf16 and utf32 string and char types to the Pattern Language. v1.37.0 · Feb 2025 · source · release history
  • Adds pattern import syntax (import * from elf as ELF;) to reuse patterns across files. v1.36.0 · Dec 2024 · source · release history
Pattern Data View Formatting and Highlights shipped Configure data view colors, string formatting, highlights, and minimap indicators for pattern analysis. 5 releases · first seen Nov 2020

release

  • Adds setting to disable hex editor highlights entirely. v1.37.0 · Feb 2025 · source · release history
  • Adds various per-byte highlights to the hex editor minimap v1.35.2 · Jun 2024 · source · release history
  • Pattern data view uses improved colors and string formatting for information display. v1.35.3 · Jun 2024 · source · release history
  • Pattern Data View gained sorting, color coding, and per-type value displaying via ImGui's Tables API v1.1.0 · Nov 2020 · source · release history
  • Introduces pattern highlighting using a C-like scripting language with built-in types (u8...s128, float, double) and arrays v1.0.0 · Nov 2020 · source · release history
String Finder Statistics shipped Display the total count of found strings in the string finder view interface. 5 releases · first seen Nov 2020

release

Default Bitfield Ordering shipped Pragma directive to apply left-to-right or right-to-left bitfield ordering globally in a pattern file. 5 releases · first seen Mar 2022

release

  • Pattern data view uses improved colors and string formatting for information display. v1.35.3 · Jun 2024 · source · release history
  • Adds simple insert mode to hex editor for direct data editing v1.34.0 · Jun 2024 · source · release history
  • Pattern language now supports writing back to the data source via #pragma allow_edits v1.32.1 · Dec 2023 · source · release history
  • Added #pragma allow_edits support in Pattern Language to write back to the data source v1.32.0 · Dec 2023 · source · release history
  • Adds #pragma bitfield_order to apply [[left_to_right]] or [[right_to_left]] attribute to all bitfields by default in the Pattern Language v1.16.0 · Mar 2022 · source · release history
Pattern Editor Configuration and Settings Reset shipped Manage pattern editor behavior, visual customization, and reset corrupted configuration files via CLI or UI. 2 releases · 3 other sources · first seen May 2021

Also counts toward: Command-line interface

release

  • Added a --reset-settings CLI command to clear all settings in case of corruption. v1.35.3 · Jun 2024 · source · release history
  • Adds a list of all paths used by ImHex to the about page to allow locating them easily on platforms with non-default settings v1.8.1 · May 2021 · source · release history

example

  • Reset ImHex configuration files if the UI is behaving unexpectedly or settings are corrupted. imhex --reset-settings v1.35.2 · Jun 2024 · source
  • Reset corrupted settings from the command line without opening the UI. imhex --reset-settings v1.35.0 · Jun 2024 · source
  • Reset all corrupted or misconfigured ImHex settings from the command line. imhex --reset-settings v1.35.3 · Jun 2024 · source
Pattern Context Awareness shipped Allow patterns to query provider information, select specific data regions, and handle local/global variable scoping. 5 releases · first seen Aug 2022

release

  • Added Markdown reports allowing export of bookmarks, patterns and data information to a markdown file v1.32.0 · Dec 2023 · source · release history
  • Added Markdown reports export for bookmarks, patterns and data information v1.32.1 · Dec 2023 · source · release history
  • Adds ability to query various information from the currently loaded provider v1.27.0 · Feb 2023 · source · release history
  • Adds support for specifying local variables inside of structs v1.27.0 · Feb 2023 · source · release history
  • Added Intel Hex and Motorola SREC provider support v1.21.0 · Aug 2022 · source · release history
Pattern Workspace Management shipped Allow saving, loading, and switching between multiple pattern configurations and layouts. 4 releases · 1 other source · first seen Aug 2022

release

  • Added Workspaces to create multiple layouts with their own settings v1.32.0 · Dec 2023 · source · release history
  • Added support for saving / loading your own Layouts! v1.29.0 · May 2023 · source · release history
  • Replaced existing project file system with a new flexible one (breaking change) v1.21.1 · Aug 2022 · source · release history
  • Existing .hexproj project files are no longer loadable and must be migrated using the provided Python script extract_legacy_hexproj.py. v1.21.1 · Aug 2022 · source · release history

example

  • Migrate legacy project files to the new format after upgrading. python extract_legacy_hexproj.py old_project.hexproj v1.21.1 · Aug 2022 · source
Data Hashing shipped Compute cryptographic and checksum hashes (MD4, MD5, SHA family, CRC) over specific regions of a file with custom parameters. 4 releases · 1 other source · first seen Nov 2020

release

  • Supports MD4, MD5 hashes in the Data hashing feature v1.0.0 · Nov 2020 · source · release history
  • Provides a Data hashing feature with Region setting to hash specific file portions v1.0.0 · Nov 2020 · source · release history
  • Supports CRC16 and CRC32 hashes with custom initials and polynoms v1.0.0 · Nov 2020 · source · release history
  • Supports SHA-1, SHA-224, SHA-256, SHA-384 and SHA-512 hashes in the Data hashing feature v1.0.0 · Nov 2020 · source · release history

example

  • Hash specific parts of a binary file using supported algorithms In the Data hashing feature, enable Region setting, select a region in the hex view, and choose SHA-256 (or CRC32/MD5) from the algorithm list. v1.0.0 · Nov 2020 · source
Window Mode Configuration shipped Settings to enforce or override borderless window mode detection for compatibility with specific GPUs. 4 releases · first seen Mar 2022

release

  • Adds option to randomize window title to avoid anti-cheat detection v1.37.2 · Feb 2025 · source · release history
  • Adds option to randomize the ImHex window title. v1.37.0 · Feb 2025 · source · release history
  • Adds NoGPU releases for Windows and MacOS to run ImHex on machines without GPU hardware v1.22.0 · Sep 2022 · source · release history
  • Adds setting hex.builtin.setting.interface.force_borderless_window_mode to override auto-detection of Intel HD GPU borderless window issues v1.16.0 · Mar 2022 · source · release history
Extended Disassembler Architectures shipped Support for RISC-V, M68K, M680X, WebAssembly, MOS65XX, and BPF in the disassembler. 4 releases · first seen Jan 2021

release

  • Adds RISC-V, M68K, M680X, WebAssembly, MOS65XX and BPF architectures to the disassembler v1.14.0 · Jan 2022 · source · release history
  • The disassembler now always disassembles all selected bytes and inserts .byte instructions when a opcode couldn't be decoded. v1.8.1 · May 2021 · source · release history
  • Custom file encoding plugins supported for mapping byte sequences to UTF-8 characters in the hex view v1.7.0 · Feb 2021 · source · release history
  • Enables native macOS platform support alongside existing Windows/Linux builds v1.6.0 · Jan 2021 · source · release history
Auto-Update Channel Management shipped Support for switching between stable and nightly build channels via an auto-updater, including automatic unpacking of updates on macOS. 3 releases · first seen Jan 2021

release

  • macOS auto-updater now automatically unpacks the new version instead of just mounting the DMG. v1.38.1 · Dec 2025 · source · release history
  • Auto-updater now supports nightly builds and switching between stable and nightly channels. v1.38.0 · Dec 2025 · source · release history
  • Added a MSI installer for Windows v1.6.1 · Jan 2021 · source · release history
Data Processor Region Support shipped Support for selecting and processing specific regions of data within the data processor view. 3 releases · first seen Nov 2020

release

  • Adds a loop node to the data processor, enabling more complex data processing pipelines. v1.36.0 · Dec 2024 · source · release history
  • Adds selected region node to the data processor v1.15.0 · Feb 2022 · source · release history
  • steps: Added a new data inspector view for analyzing file contents v1.2.0 · Nov 2020 · source · release history
Pattern Language Conditional Parsing shipped Support conditional logic in patterns using match statements and try-catch blocks for robust parsing. 2 releases · 1 other source · first seen Apr 2023

release

  • Added try-catch statements to the Pattern Language v1.29.0 · May 2023 · source · release history
  • Adds match statements to the Pattern Language for conditional pattern parsing v1.28.0 · Apr 2023 · source · release history

example

  • Write a pattern that conditionally parses structure A or B based on a flag byte using the new match syntax. // In the Pattern Language editor struct MyStruct { u32 type; match (type) { 1: { // Case 1 u8 field_a; } default: { // Default case u8 field_b; u8 field_c; } } }; MyStruct data; v1.28.0 · Apr 2023 · source
File Entropy & Distribution Analysis shipped Analyze and visualize byte distribution and entropy graphs to locate compressed or encrypted regions within a file. 2 releases · 1 other source · first seen Nov 2020

release

  • Shows Total entropy and identifies the Highest entropy block in File information v1.0.0 · Nov 2020 · source · release history
  • Displays Byte distribution graph and Entropy graph in File information panel v1.0.0 · Nov 2020 · source · release history

example

  • Visualize file content distribution and entropy to locate compressed or encrypted regions Open a file in ImHex, then look at the File Information panel to view the Byte distribution graph and Entropy graph. v1.0.0 · Nov 2020 · source
Pattern Context and Inspector Improvements shipped Display exported global variables in output and add navigation/context menu options to the data inspector. 2 releases · first seen Feb 2025

release

  • Adds context menu and next/previous navigation buttons to the data inspector. v1.37.0 · Feb 2025 · source · release history
  • Pattern Language now displays exported global variables in output. v1.37.0 · Feb 2025 · source · release history
Extended Math Library shipped Addition of standard math functions including floor, ceil, round, sin, and cos to the Pattern Language. 2 releases · first seen Jan 2022

release

  • Adds new built-in Pattern Language types including hex::type::Json for decoding JSON strings and hex::type::Instruction for disassembling bytes. v1.36.0 · Dec 2024 · source · release history
  • Pattern language adds extra math functions including floor, ceil, round, sin, cos v1.14.0 · Jan 2022 · source · release history
Pattern Data Processor Updates shipped Add loop nodes to data processing pipelines and run them in the background for UI responsiveness. 2 releases · first seen Dec 2024

release

  • Data processor now runs in the background, keeping the UI responsive during processing. v1.36.0 · Dec 2024 · source · release history
  • Adds a loop node to the data processor, enabling more complex data processing pipelines. v1.36.0 · Dec 2024 · source · release history
Pattern Language Literal Types shipped Allow definition of user-defined literals and bit-level type reinterpretation within the pattern language. 2 releases · first seen Dec 2024

release

  • Adds user-defined literals (123_literal, Test_literal(1, 2, 3)) to the Pattern Language. v1.36.0 · Dec 2024 · source · release history
  • Adds reinterpret-expressions (pattern as OtherType) for bit-level type reinterpretation in the Pattern Language. v1.36.0 · Dec 2024 · source · release history
Pattern Language String and Compression Functions shipped Execute string operations, checksums, and decompression algorithms like lz4 within the pattern language. 2 releases · first seen Nov 2020

release

Memory Access Operators shipped Enable reading single bytes from main memory using array-style syntax within the pattern language. 2 releases · first seen Jan 2023

release

  • Added $[123] syntax to read a single byte from main memory v1.26.2 · Jan 2023 · source · release history
  • Added $[123] syntax to read a single byte from the main memory in pattern language v1.26.0 · Jan 2023 · source · release history
Pattern Data Modification shipped Allow users to modify values in the pattern data view via double-click editing and dedicated format attributes for custom types. 2 releases · first seen Jan 2023

release

  • Added the ability to modify values in the pattern data view using double-click editing mode v1.26.0 · Jan 2023 · source · release history
  • Added new [[format_write]] attribute to make custom types modifiable in patterns v1.26.0 · Jan 2023 · source · release history
Floating Point Visualizers shipped Visualize the IEEE 754 floating-point representation of bytes directly in the data view. 1 release · 1 other source · first seen Jun 2022

release

  • Adds an IEEE 754 floating point number experimenting tool v1.18.2 · Jun 2022 · source · release history

example

  • Visualize the floating point representation of bytes in your binary data. Use the new IEEE 754 floating point number experimenting tool via the Visualizer menu v1.18.2 · Jun 2022 · source
Data Preview shipped Render decoded data representations directly within the hex editor view for immediate inspection. 2 releases · first seen Nov 2020

release

  • Hex Editor View now supports displaying data as floating point numbers (combining 4 bytes) and signed integers (2 bytes) v1.18.1 · May 2022 · source · release history
  • Adds a Data preview feature within the Hex view v1.0.0 · Nov 2020 · source · release history
YARA Pattern Integration shipped Support for using YARA patterns within the Pattern Language console. 2 releases · first seen Mar 2022

release

  • Adds support for the new Yara console module v1.17.0 · Apr 2022 · source · release history
  • Yara rules are no longer bundled; users must download them from the content store v1.16.2 · Mar 2022 · source · release history
Pattern Arithmetic Operators shipped Addition of assignment operators like +=, -=, *= to the Pattern Language. 2 releases · first seen Jan 2021

release

  • Pattern language adds assignment operators (+=, -=, *=, etc) v1.14.0 · Jan 2022 · source · release history
  • Adds Pattern Language with mathematical expressions, bit operators, conditional structs/unions (if, else), scope resolution, built-in sequence/value functions, boolean patterns, unsized null-terminated char arrays, and zero-sized array handling v1.6.0 · Jan 2021 · source · release history
Custom Data Inspector Entries shipped Allow users to define custom data inspector types by providing `.pat` pattern files in a specific scripts folder. 1 release · first seen Oct 2022

release

  • Adds ability to create custom Data Inspector entries using the %IMHEX_PATH%/scripts/inspectors folder with .pat files v1.24.0 · Oct 2022 · source · release history
Bookmark Import and Export shipped Enables saving and loading analysis bookmarks to and from external files. 1 release · first seen Aug 2022

release

Extended Hex Format Provider Support shipped Provides dedicated readers and writers for Intel Hex and Motorola SREC file formats. 1 release · first seen Aug 2022

release

Bitfield Logic Support shipped Support for conditionals within bitfields in the Pattern Language. 1 release · first seen May 2022

release

  • Pattern language conditionals are now supported within bitfields. v1.18.0 · May 2022 · source · release history
Type Forward Declaration shipped Ability to forward declare types within the Pattern Language. 1 release · first seen Apr 2022

release

Pattern Visual Customization shipped Attributes to force uniform coloring for pattern elements and their children. 1 release · first seen Mar 2022

release

  • Adds [[single_color]] attribute to force all children of a pattern to have the same color v1.16.0 · Mar 2022 · source · release history
Calculated Pointer Placement shipped Allow variable placements inside structs to define calculated pointers within the pattern language. 1 release · first seen Feb 2022

release

  • Allow variable placements inside of structs for calculated pointers in Pattern Language v1.15.0 · Feb 2022 · source · release history
Advanced Loop Control shipped Pattern language support for break and continue statements in for and while loops. 1 release · first seen Jan 2022

release

  • Adds break and continue statements to for and while loops in Pattern Language to control array growth and iteration. v1.13.0 · Jan 2022 · source · release history
Pattern Persistence shipped Ability to save and load Pattern Language code files via the File menu. 1 release · first seen Dec 2021

release

  • Adds File -> Save Pattern... option to save current pattern language code v1.12.0 · Dec 2021 · source · release history
Build System Configuration shipped Allows configuring the build process to link against system libraries instead of bundled dependencies. 1 release · first seen May 2021

release

  • Allow using of system libraries during build instead of the bundled ones v1.8.1 · May 2021 · source · release history
Automatic Pattern Loading shipped Automatically detect and load pattern files associated with a specific file's MIME type upon opening. 1 release · first seen Nov 2020

release

  • automatic loading of pattern files based on the loaded file's MIME type v1.3.0 · Nov 2020 · source · release history
Data Inspector Endianness Control shipped Ability to toggle between big and little endian byte ordering when inspecting data types. 1 release · first seen Nov 2020

release

Pattern Language Struct and Union Extensions shipped Support for defining named enums, character literals, bitfields, unions, padding, and array sizes based on other variables within the pattern language. 1 release · first seen Nov 2020

release

  • pattern language now supports enums for defining named integer values v1.1.0 · Nov 2020 · source · release history
Pattern Verifier shipped Validation mechanism to catch logic errors in pattern language code before execution. 1 release · first seen Nov 2020

release

  • Pattern Language verifier catches logic errors before execution v1.1.0 · Nov 2020 · source · release history
File Modification shipped Enable direct editing and writing of file contents within the hex editor interface. 1 release · first seen Nov 2020

release

File Type Detection shipped Automatically detect and display file MIME types and libmagic descriptions using a bundled database. 1 release · first seen Nov 2020

release

  • Presents libmagic description and MIME type for files via bundled ImHex database v1.0.0 · Nov 2020 · source · release history

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median time to a maintainer’s first reply

Nine scores for imhex, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail imhex puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Releases

Show

74 entries

  1. December 20252
  2. February 20255
  3. December 20243
  4. July 20241
  5. June 20245
  6. March 20241
  7. February 20241
  8. January 20241
  9. December 20232
  10. September 20231
  11. June 20232
  12. May 20231
  13. April 20231
  14. February 20231
  15. January 20233
  16. November 20221
  17. October 20224
  18. September 20224
  19. August 20224
  20. July 20224
  21. June 20221
  22. May 20222
  23. April 20221
  24. March 20223
  25. February 20221
  26. January 20222
  27. December 20212
  28. November 20211
  29. September 20213
  30. May 20212
  31. February 20211
  32. January 20212
  33. December 20201
  34. November 20205
    Show

    74 entries

    Project health

    Issue, contributor and maintainer activity in WerWolv/ImHex, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.

    1. Contributors 31 −11 vs prior 12 months
    2. Maintainers 1 +0 joined · −0 left, last 12 months
    3. Bus factor 1 committers behind half the commits
    4. Community-filed 98% of issues opened, last 12 months
    5. Median time to close < 1 day first maintainer reply 1.2 hours
    6. Open backlog 360 of 1,661 issues ever filed
    1. Issues opened / month 8 · 0 communitymaintainers
    2. Open backlog 360
    3. Contributors / month 8
    4. Commits / month 33
    5. Stars 54,830
    Issue themes, last 12 months
    • bugs 69%
    • features 23%
    • other 8%

    Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this

    Libraries its release ships

    What its latest release locks, checked against known advisories.

    None of its release's images build from a lockfile we can read.

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →