CRC Calculator (Javascript)

CRC width
CRC parametrization
CRC detailed parameters

CRC Input Data

(This option does not affect the CRC calculation, only the displayed lookup table)


This javascript featured website calculates the CRC value from an input string or an input byte string.
Several common CRC instance predefined and available from a list. Furthermore, the definition of own CRC instances is supported by specifying:

  1. Width of CRC (8, 16 or 32 bit)
  2. Polynomial
  3. Initial CRC value
  4. Final XOR value
  5. Input reflected
  6. Result reflected

Also the generation of CRC lookup tables is supported.

Please refer to my article Understanding and implementing CRC (Cyclic Redundancy Check) calculation for an detailed discussion of CRC calculation.

Here some notes about the input data:


2016/11/11: Added the option to print the CRC lookup table 'reversed'.
2016/07/27: Fixed a bug: A hexadecimal value with more than two digits after the "0x" is not correctly parsed. This could have resulted in the fact that the calculated CRC value of 0x01 differs to e.g. of 0x0001. Please note the added description above about input data. Thanks to Matthew Reed for pointing the issue to me. 2016/07/09: Fixed a bug: When the input data was given as bytes, then the number of whitespaces had an influence on the result. E.g the CRC value of "0x31 0x32" and "0x31  0x32" (note the additional space character) were not the same. The fix now shall ignore all number and kinds of whitespace characters and take only the byte values into account. Thanks to Alan Ott Goodman for pointing the issue to me.
2016/03/09: Fixed a bug: Sometimes a CRC32 result value was printed with only seven digits! A zero was then missing, e.g. the printed result was 0xC6FF2F8 instead of the correct one 0xC6FF02F8. Thanks to David Goodman for pointing the issue to me.
2015/05/30: Initial release.