Free, easy to use Cyclic Redundancy Check (CRC) calculator and source code generator
Python C Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
doc Fixed binary files handling with Python 2.7. Jan 16, 2016
test Simplified Mar 6, 2016
AUTHORS Added a new option --slice-by. Oct 6, 2015 Renamed the ChangeLog file to Mar 28, 2016
COPYING Added AUTHORS file. Aug 13, 2015 Added mentioning of dos2unix in the README file. Oct 24, 2015 Fix wrong final value for bit-by-bit when with < 8 Oct 26, 2015 Run the code through pylint. Sep 28, 2015 Fixed the initial value of the 16-bit CCITT algorithm. Oct 25, 2015 Suppressed the crc_reflect function where not needed. Oct 31, 2015 Fixed binary files handling with Python 2.7. Jan 16, 2016

                     _ __  _   _  ___ _ __ ___
                    | '_ \| | | |/ __| '__/ __|
                    | |_) | |_| | (__| | | (__
                    | .__/ \__, |\___|_|  \___|
                    |_|    |___/


pycrc is a free, easy to use Cyclic Redundancy Check (CRC) calculator and C source code generator.

System Requirements

pycrc requires Python 2.6 or later. Python 3.x is supported. The last version compatible with Python 2.4 is pycrc v0.7.10.


This program doesn't need any particular installation. The script can be called from any directory. Simply call the python interpreter with the script as parameter:

python [options]

On UNIX-like systems, you might want to make the script executable:

chmod +x

Then the script can be called like an application.

./ [options]

If you get an error "No such file or directory" when running ./ then make sure the file is saved in UNIX file endings:


Getting help

If you are new to pycrc and want to generate C code, start with the tutorial.

The pycrc manual page explains the command line options in some detail and also gives some more examples how to use pycrc.

If you have found a bug in pycrc or want to request a feature please take the time and submit it to the issue tracker. Thanks for your help.

Also see the frequently asked questions.


If you like pycrc, let me know and drop me a note. If you don't like pycrc let me know what you don't like and why. In both cases, I would really appreciate some feed back. If you want some idea how to say thanks for this software, please have a look here.

Copyright of the generated source code

Prior to v0.6, pycrc was released under the GPL and an additional addition to the licence was required to permit to use the generated source code in products with a OSI unapproved licence. As of version 0.6, pycrc is released under the terms of the MIT licence and such an additional clause to the licence is no more required. The code generated by pycrc is not considered a substantial portion of the software, therefore the licence does not cover the generated code, and the author of pycrc will not claim any copyright on the generated code.