English English  Deutsch Deutsch

Flexible Hex Editor

Getting Started with FlexHex

FlexHex integrates with Windows Explorer, enabling efficient drag-and-drop functionality for quick file access. Simply open files from Explorer or drag-and-drop them onto FlexHex. Upon loading a binary file in FlexHex, the primary Hex Workshop Window appears, displaying the hex editor view for each loaded file.

Hex Edit Window

The leftmost Address Pane presents a list of hexadecimal addresses, where each address designates the starting byte position on the line. The active address is highlighted in a distinct color, indicating the current input caret position.

The Hex Pane, along with the optional ANSI and UNICODE character panes, displays the data being viewed and edited. To edit data in the hex editor, position the cursor over the byte you wish to edit. FlexHex keeps an unlimited Undo list. This list keeps track of all changes made, enabling you to undo any event within the list.

FlexHex fully supports drag-and-drop operations. Simply select a data block and drag it to another location or even to a different application.

drag and drop operations

Go ahead, experiment away! FlexHex has a powerful unlimited Undo and Redo, with clear action names to help you.

Modification Tracking Tools

The File Map shows the positions and sizes of the file areas. This is a graphic representation of the Area Pane and appears for existing files only (or after the first Save command).

Hex editor File Map

An Area in FlexHex refers to a block of data that results from an editing operation. When a file is initially opened, it represents a single area containing the original data. Making changes within the file, such as altering a byte in the middle, transforms the layout into three distinct areas: the initial unmodified data preceding the altered byte, the modified area spanning one byte, and the unmodified data area from the changed byte to the conclusion of the file.

Unchanged file

Now switch the editor to the insert mode (the status bar shows the current editing mode), go to address 00000004 (right before byte 44) and enter F0. This operation inserts byte F0 moving the data down, and the file map displays the new file layout:

Modified file

The Area Pane keeps the track of all the modifications made to the stream being edited and lists all the stream areas.

Area pane

Clicking an address in the Start column moves the caret to the beginning of the corresponding area. If you click the area size field, FlexHex will select the corresponding area. If the area has been moved, clicking the Shift field moves the caret to the position where the area originally was.

Hot Tracking the Changes

A common use case for a hex editor involves debugging a program while monitoring changes in the output file at each step. However, in most hex editors, the displayed file in the editor window remains unchanged, even if you are aware that modifications have been made. This occurs because the editor isn't aware of the file's modifications, necessitating a manual reload to observe the changes. This holds true for the majority of hex editors, with one exception: FlexHex.

FlexHex eliminates the need for repetitive file reloading – it automatically detects any modifications made to the file and promptly updates the Edit window. This feature, called Hot Tracking, is automatically activated for any file opened in read-only mode.

Status Bar

The FlexHex status bar contains several useful indicators:

FlexHex status bar

Progress Indicator

When FlexHex performs a lengthy operation, this field shows the operation progress.

Stream/Selection Size Indicator

If there is an active selection, this indicator shows the size of the selected area. If no data is selected, it displays the size of the stream (i.e. file or drive) being edited.

Shift Indicator

While FlexHex is in Insert mode, deleting or adding data will cause the remaining stream to shift up or down. This action could potentially corrupt a logical or physical drive, especially considering that numerous binary files comprise position-dependent data fields. To mitigate this risk, this indicator is provided to serve as a warning when any section of the original stream relocates due to an editing action.

Not shifted All unchanged original data blocks retain their original position.

Shifted At least one block of the original data has been moved.

Sparse Indicator

The grayed indicator (as depicted in the screenshot above) signifies that the stream is non-sparse. In instances where you modify a very small locked file, you might see the indicator RESIDENT within this field. This means that NTFS retains the file content within the file's MFT (Master File Table) record, thereby avoiding any occupation of disk space.

Modification State

The three possible states for this indicator are UNCHANGED, MODIFIED, and READ-ONLY, which are self-explanatory.

Insertion Mode

In the default Overwrite mode the data being entered overwrites the existing data at the current position. When the Insert mode is active, the program moves the data at the current position to make place for the text being entered. Pressing the Insert key toggles the Insert/Overwrite mode.


The Tools / Settings menu command lets you specify the program settings and defaults.

Hex Editor Settings

The Tools / Customize command lets you fully customize the FlexHex user interface the way you want it.

Hex Editor customize


Get Started with a 30-Day Free Trial

Download Hex Editor
This software has no disabled features. Try out the full functionality of this hex editor with many advanced functions.