vbl is a terminal-based hexadecimal viewer for Linux that lets you inspect binary data from files and devices in a dynamic hex and ASCII interface.
It also works as a file differ, dumper, and editor, supports very large files and devices, and offers both interactive and command-line driven workflows for examining binary content. The program is designed to keep normal operation read-only, only switching to write access when edits are explicitly confirmed.
This is free and open source software.
Key Features
- Supports ASCII and binary search with forward and backward navigation, case-insensitive matching, search history, and highlighted results.
- Offers flexible address navigation with decimal, hexadecimal, percentage, sector, and relative offset jumps.
- Includes comparison tools for moving to the next or previous difference, stepping through changed bytes, and synchronising two panes.
- Provides an edit mode with byte insertion, deletion, and copying, with explicit confirmation required before changes are written.
- Can dump file contents in ASCII or binary form directly from the command line.
- Builds dynamic, stripped, static, and static stripped executables with Meson.
Website: github.com/linuxCowboy/vbl
Support:
Developer: linuxCowboy
License: GNU General Public License v2.0

vbl is written in C++. Learn C++ with our recommended free books and free tutorials.
Related Software
| Console-Based Hex Editors | |
|---|---|
| hexyl | Colored command-line hex viewer |
| hyx | Minimalistic hex editor |
| hexedit | View and edit hexadecimal files |
| hexer | Multi-buffer editor for binary files |
| dz6 | Terminal hex editor with Vim-inspired key bindings |
| hx | Hex editor using plain C and POSIX libs |
| poke | Extensible editor for inspecting and modifying structured binary data |
| Hextazy | Colorful hexadecimal editor |
| HexPatch | Interactive TUI for viewing, editing and patching binary files |
| hexhog | Configurable hex viewer and editor |
| DHEX | ncurses-based hex editor with diff mode |
| fileobj | ncurses based hex editor |
| vbl | Terminal-based hexadecimal viewer and editor for binary files |
| HexMe | Written in C++ that uses the Curses library |
| hexcurse-ng | Written in C |
| ddhx | Simple multi-platform modal text UI hex editor |
| bvi | Based on the vi text editor |
| XVI | Hex editor using ncurses |
| Hexit | Minimalistic hex editor |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.
test case: binary compare of two identical 3GB files with random data
cmp (Linux standard tool for binary compare) vs. vbl (vbindiff for linux)
vs.
(nettop)
on SSD:
cmp real 27.5 user 3.5 sys 12
vbl real 21.0 user 1.5 sys 10
on USB3:
cmp real 2m4 user 6.0 sys 26
vbl real 1m6 user 1.6 sys 16
on USB2:
cmp real 4m18 user 7.3 sys 33
vbl real 3m10 user 1.6 sys 25
The posted figures aren’t rigorous enough to rely on.
Interesting result, but it would be worth repeating with reversed order, dropped page cache, multiple runs, and
vbl file1 file2 --for the non-interactive diff-return mode.