XVI is a terminal hex editor built around an ncurses user interface. It is aimed at interactive binary-file inspection and editing while keeping resource requirements and external dependencies relatively modest.
The interface borrows selected keyboard conventions from Vim rather than attempting to reproduce the complete editor. Familiar commands such as hjkl, : and / are available for navigation and interaction, making XVI particularly convenient for users accustomed to keyboard-driven terminal editors.
XVI can work with several files and visually compare their contents. Editing is not restricted to replacing existing values: bytes can also be inserted or cut from the middle of a file, while range-oriented operations allow larger sections of data to be modified efficiently.
This is free and open source software.
Key Features
- Provides an ncurses interface designed specifically for terminal-based hexadecimal editing.
- Uses relatively few resources and keeps external dependencies to a minimum.
- Supports selected Vim-style keyboard commands including
hjkl,:and/. - Displays binary data in hexadecimal form alongside its character representation.
- Highlights the current cursor position so the active byte is easy to identify.
- Highlights data that has been modified during the editing session.
- Provides visual comparison between several files.
- Lets users inspect differences without switching to a separate comparison program.
- Replaces existing byte values directly within the editor.
- Inserts additional bytes into the middle of a file.
- Cuts bytes from the middle of a file, allowing the underlying data size to be reduced.
- Fills a selected range with a repeating byte pattern.
- Provides undo and redo for reversing or restoring editing operations.
- Searches file contents from the terminal interface.
- Jumps directly to a specified offset using its goto functionality.
- Allows interface colours to be customised.
- Reads persistent configuration from the user’s XVI configuration directory.
- Provides a sample configuration that can be adapted to preferred colours and behaviour.
- Includes dedicated manual-page documentation for its configuration format.
Website: github.com/artemsen/xvi
Support:
Developer: Artem Senichev
License: MIT License

XVI is written in Rust. Learn Rust 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.