A simple, cross-platform Hex Editor built with Java and SWT.
- Open, view, and edit binary files in hexadecimal and ASCII
- Dark mode support (auto-detects system theme)
- Find bytes by hex string
- Go to offset (hexadecimal navigation)
- Edit bytes directly in the hex view
- Cross-platform: Windows, macOS, Linux (auto-selects SWT dependency)
- Java 21 or newer
- Gradle (or use the included
gradlewwrapper)
# Clone the repository
$ git clone https://github.com/seerainer/HexEdit.git
$ cd HexEdit
# Build the project
$ ./gradlew build
# Run the application
$ ./gradlew run- Open File:
File > Open...orCtrl+O - Save File:
File > SaveorCtrl+S - Find:
Edit > Find...orCtrl+F(enter hex string, e.g.DE AD BE EF) - Go to Offset:
Edit > Go to Offset...orCtrl+G(enter hex offset, e.g.1A3F) - Edit Bytes: Click in the hex area and type hex digits
src/main/java/io/github/seerainer/hexedit/Main.java— Application entry pointHexEditor.java— Main UI and logic (modularized)FileManager.java— File open/save logicDisplayManager.java— Hex/ASCII display logicController.java— Editing and caret logicDialogManager.java— Find/goto dialogsThemeManager.java— Dark mode and themingHexUtils.java— Utility methodsHexPosition.java— Byte/caret mapping
- Unit and integration tests are in
src/test/java/io/github/seerainer/hexedit/ - Run all tests:
./gradlew allTests
HexEdit — Fast, simple, hex editing.