Hex Editor

XVI – hex editor using ncurses

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

XVI is written in Rust. Learn Rust with our recommended free books and free tutorials.


Related Software

Console-Based Hex Editors
hexylColored command-line hex viewer
hyxMinimalistic hex editor
hexeditView and edit hexadecimal files
hexerMulti-buffer editor for binary files
dz6Terminal hex editor with Vim-inspired key bindings
hxHex editor using plain C and POSIX libs
pokeExtensible editor for inspecting and modifying structured binary data
HextazyColorful hexadecimal editor
HexPatchInteractive TUI for viewing, editing and patching binary files
hexhogConfigurable hex viewer and editor
DHEXncurses-based hex editor with diff mode
fileobjncurses based hex editor
vblTerminal-based hexadecimal viewer and editor for binary files
HexMeWritten in C++ that uses the Curses library
hexcurse-ngWritten in C
ddhxSimple multi-platform modal text UI hex editor
bviBased on the vi text editor
XVIHex editor using ncurses
HexitMinimalistic hex editor

Read our verdict in the software roundup.


Best Free and Open Source Software 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.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted