A simple multi-platform tool to display two files in hexadecimal and highlight their differences.
gobindiff is heavily inspired by vbindiff, and it aims to be a drop-in replacement.
Powered by tcell.
- Install Golang from your favourite package manager.
- Invoke
go install github.com/xeeynamo/gobindiff@latest
git clone https://github.com/Xeeynamo/gobindiff.git
cd gobindiff
make installIf you want to temporarily replace vbindiff with gobindiff on Linux, create a sym-link:
sudo ln -s $(which gobindiff) /usr/local/bin/vbindiffTo uninstall, remove the sym-link:
sudo rm /usr/local/bin/vbindiff- Support for files bigger than 4GB
- Small footprint (less than 3.0MB executable, 11MB memory usage when comparing >20GB files)
- Neutral colors that work on any terminal color scheme
- Reactive and resizable UI
- Multiple navigation keys
- Differ between multiple files
- ESC or Q: exit from gobindiff
- Directional buttons: move columns and rows by a single unit
- Page Up/Down: move by a page
- Home or T: move to the top of the file(s)
- End or B: move to the bottom of the file(s)
- Enter: move to the next diff
- ALT+Enter: move to the previous diff
- +: display one more byte column
- -: display one less byte column
- 0: reset byte columns to fit the width of the window
- 1: do not group bytes
- 2: group every two bytes
- 3: group every three bytes
- 4: group every four bytes
- A: toggle ASCII view
- O: toggle offset view
Hides the offset column on the left-hand side. Same effect as toggling it with 'O'.
Default: false
Hides the ASCII column on the right-hand side. Same effect as toggling it with 'A'.
Default: false
How many bytes are displayed per row. Same effect as changing it with '0', '+' or '-'. A value of zero will fill the terminal width.
Default: 16
Group multiple bytes before separating them with a space. Same effect as changing it with '1', '2', '3' or '4'.
Default: 1
# Linux settings path
~/.config/gobindiff/gobindiff.conf
# macOS settings path
~/Library/Application\ Support/gobindiff/gobindiff.conf
# Windows settings path
%APPDATA%\gobindiff\gobindiff.conf
# example of a configuration file
hide_offsets=false
hide_ascii=false
bytes_per_row=16
byte_group=1- Go-to offset not implemented
- Optional different colors whenever the bytes are higher or lower
- Animation to better highlight different bytes at glance
- Set accent color other than red
- Set foreground color
- Set background color
Use go run . FILE1 [FILE2]... to quickly iterate between changes. make install will install a development copy of gobindiff. make cross will generate the cross-platform binaries.
