Skip to main content

Binary file explorer using Hachoir and urwid libraries

Project description

hachoir-urwid is a binary file explorer based on Hachoir library to parse the files. Using this tool you can exactly know the meaning of each bit/byte of your files. With direction keys, you can navigate in the field tree. The key ‘h’ will disable ‘human display’ and switch to ‘raw display’. It’s sometime useful when you would like to compare hexadecimal data and Hachoir reprensentation.


Startup options

  • –preload=10: Load 10 fields when loading a new field set
  • –path=”/header/bpp”: Open the specified path and focus on the field

Usefull keys


  • up/down: move up/down
  • home: go to parent
  • end: go to the last field of a field set
  • left/right: horizontal scrolling

Setup display:

  • h: most important option :-) switch between human display (default) and raw value
  • v / d / s: show or hide field value / description / size
  • a: switch between relative (default) and absolute address
  • b: switch between address in decimal (default) and hexadecimal


  • enter: on a field set, expand/collaspe the children
  • space: parse a file/stream contained in the current field


  • q: quit
  • < / >: previous / next tab
    • / -: move separator vertically
  • esc or CTRL+W: close current tab
  • F1: display help

Getting help

Command line options: use –help option.

In hachoir-use, use F1 key to get help (keyboard keys).

What’s new in hachoir-urwid 1.1?

  • Use the new getFieldType() method of hachoir-core 1.2 to display better informations about the field type, eg. shows the string charset

What’s new in hachoir-urwid 1.0?

Version 1.0.1

  • Only use hachoir_core.profiler with –profiler command line option so ‘profiler’ Python module is now optional
  • Set shebang to “#!/usr/bin/python”

Version 1.0

  • Compatible with hachoir-core 1.0 and hachoir-parser 1.0
  • Set default of preload to 15 (instead of 3)

What’s new in hachoir-urwid 0.9.0?


  • Fixes to support latest version of urwid
  • Updates to last version of hachoir-core and hachoir-parser (eg. use HachoirParserList class to display parser list)
  • Replace command line option –force-mime with –parser (value is now the parser identifier and not a MIME type)
  • Add command line options –hide-value and –hide-size

What’s new in hachoir-urwid 0.8.0?

  • CTRL+E write field content to a file
  • CTRL+X create a stream from a field a write it into a file
  • Update to hachoir-core 0.8.0 (changes in input streams) and hachoir-parser 0.9.0 (way to choose the right parser)
  • Update to urwid (use Unicode string)
  • Add option ‘profile-display’ to use Python profiler

What’s new in hachoir-urwid 0.7.1?

  • doesn’t depdend on hachoir-core, nor hachoir-parser, not urwid
  • uses distutils by default (and not setuptools)

What’s new in hachoir-urwid 0.7?

  • Support invalid unicode filename
  • Support decompression of a subfile
  • Better managment of “raw display”
  • Add command line option –parser-list

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
hachoir_urwid-1.1-py2.4.egg (22.7 kB) Copy SHA256 hash SHA256 Egg 2.4
hachoir_urwid-1.1-py2.5.egg (22.2 kB) Copy SHA256 hash SHA256 Egg 2.5
hachoir_urwid-1.1-py2.6.egg (22.2 kB) Copy SHA256 hash SHA256 Egg 2.6
hachoir-urwid-1.1.tar.gz (17.8 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page