Tweak: an efficient hex editor

Tweak is a hex editor. It allows you to edit a file at very low level, letting you see the full and exact binary contents of the file. It can be useful for modifying binary files such as executables, editing disk or CD images, debugging programs that generate binary file formats incorrectly, and many other things.

Tweak currently runs on Unix, using the ncurses library to run in a terminal.

Why yet another hex editor?

Tweak uses a complex data structure based on B-trees, designed to make almost all editing operations extremely fast, even when they are working on huge amounts of data.

The data structure is described in detail on a separate page for those interested. The bottom line is:

You might think, from reading this, that the entire purpose of publishing Tweak was to show off my shiny data structure. You would be right :-)

What is its current status?

The current public release, Tweak 3.02, is available as a source tarball here:


You can read its man page online.

If you want to see the latest state of development, you can check the development sources out from my git repository:

git clone git://

Alternatively, you can browse the repository on the web, here.

Page maintained by Simon Tatham.
(last modified on Tue Mar 22 21:13:29 2016)