This tool computes a 64-bit CRC checksum of any text or raw hex bytes and shows it in hexadecimal and unsigned decimal, updating live. CRC-64 is used where a 32-bit CRC’s collision space is too small — large file archives, tape formats, and content-addressed stores.
How it works
CRC-64 computes the remainder of the input, treated as a polynomial over GF(2), divided by the 64-bit generator polynomial 0x42F0E1EBA9EA3693 (ECMA-182). This implementation precomputes a 256-entry table in the most-significant-bit-first direction, then for each byte does crc = (crc << 8) XOR table[(crc >> 56) XOR byte], starting from an initial value of 0 with no final XOR. Because the values exceed JavaScript’s safe-integer range, all arithmetic is done with BigInt so the 64-bit result is exact.
Example and notes
The canonical CRC check string 123456789 produces 0x6C40DF5F0B497347 with CRC-64/ECMA-182, so you can use it to confirm the calculator. A different popular variant, CRC-64/XZ (used by the xz compressor), reflects its input and output and uses a different polynomial, so it will give a different value — match the variant your application expects.
CRC-64 catches accidental corruption only — it is not cryptographic and is easy to forge. Everything is computed locally in your browser; nothing is uploaded.