The Intel HEX file format is widely used in microprocessors and microcontrollers area as the de facto standard for code representation for microelectronic devices programming.
This work implements an intelhex Python library to read, write,
create from scratch and manipulate data from HEX (also known as Intel HEX)
file format. These operations are provided by
The distribution package also includes several convenience Python scripts
to do basic tasks that utilize this library. The
converts binary data to HEX, and the
hex2bin.py works the other direction.
hex2dump.py converts data from HEX to a hexdump which is useful for
inspecting data, and
hexmerge.py merges multiple HEX files into one.
In addition you can try inspecting differences between two HEX files with
hexdiff.py utility which uses dump output similar to
You can find IntelHex library on PyPI:
This work was partially inspired by SRecord software at the moment when I stuck with its limitations and unintuitive behavior (for me personally).
So I’ve made this library and related tools which give me full control over data and HEX file creation. Not the best reason to start yet another project. But, as you probably know, nothing is better than scratch our own itches, especially if you want to re-implement something in your favorite programming language.
Over the years it turned out that my small python library was very useful to many people, and allowed them not only to create utilities to manipulate with HEX files, but also to create custom bootloaders for their devices.
I started writing this library in 2005, and now more than 10 years later it’s still alive and useful to other developers. That keeps me working on improving the code, even though I don’t work on embedding systems for some time.
If you find IntelHex library useful, please send me email and tell a bit about how you’re using it and in which projects/areas. That will not only satisfy my curiosity but also will help me to keep working on this project.