bitstring is a pure Python module that makes the creation, manipulation and analysis of binary data as simple and natural as possible.


  • Supports Python 2.7 and Python 3.6 and later.
  • Rich API - chances are that whatever you want to do there’s a simple and elegant way of doing it.
  • Bit level slicing, joining, searching, replacing and more.
  • Create bitstrings from hex, octal, binary, files, formatted strings, bytes, integers and floats of different endiannesses.
  • Powerful binary packing and unpacking functions.
  • Read from and interpret bitstrings as streams of binary data.

Installation and Download

To install just pip install bitstring.

To download the module, as well as for defect reports, enhancement requests and Git repository browsing go to the project’s home on GitHub:


The manual provides an introduction to the module and details most its capabilities.

The reference section has a complete list of all the classes, methods, attributes and functions of the bitstring module, together with short examples for many items.

The manual is also available as a PDF:


Written by Scott Griffiths <>. If you have any questions, suggestions or criticisms (about this module!) then please email me. Also if you use bitstring in your own project then I’d be interested to hear how it’s being used.