CRC & Checksums

Calculate three CRC profiles from text, hex bytes or small local files; inspect their parameters and register trace.

About this tool

Calculate a CRC checksum for text or hexadecimal bytes, for example to compare a message with a protocol or file reference. Select the exact profile: CRC-16 variants with different initial registers, reflection or final XOR produce different results.

UTF-8 encodes the text exactly as entered, including spaces and line breaks. Hex ignores whitespace; the remaining digits must form complete pairs from 00 to FF, without 0x prefixes or commas. An empty message is valid. The limit is 65,536 bytes and 262,144 input characters; large files are outside this tool’s scope.

Calculate / Ctrl/Meta+Enter starts the current input. Encoding/profile changes and local file selection calculate immediately. After the first calculation, text edits update after a short typing pause without moving focus; invalid drafts hide stale output. Copy copies the displayed hexadecimal checksum. Reset restores 123456789 and CRC-32 without calculating.

Profile parameters show width, polynomial, initial register, input/output reflection and final XOR. CRC-16/CCITT-FALSE is also called IBM-3740; CRC-16/X-25 is IBM-SDLC. For ASCII 123456789 the results are 0xCBF43926, 0x29B1 and 0x906E respectively.

Register trace shows each original byte at a zero-based offset and the internal MSB-first register after processing it, before output reflection and final XOR. Consequently its last register need not equal the checksum. Only the first 256 trace rows are displayed; all bytes contribute to the checksum.

CRCs detect accidental corruption and do not authenticate messages or provide cryptographic security. The displayed number does not specify the order in which a protocol transmits checksum bytes. This tool implements the three named CRC profiles, not Adler or Fletcher checksums.

File reads at most 65,536 local bytes into the editor as uppercase hex with single spaces; computation stays in the browser. Pending file reads cannot overwrite newer edits, and failed/oversized files retain the previous input. Only raw data, encoding/profile and disclosure preferences are saved, never checksum or register trace. Legacy v1 retains inputs and drops its computed flag. Reload/new views await an explicit action; mounted pinned views stay in memory. Large file-style hex is packed losslessly for storage and restored with identical spaces/case. Other drafts beyond 100,000 serialized characters keep the prior saved copy: download input TXT before reload.

Use Verify to compare the result with an expected checksum in hexadecimal. The 0x prefix and leading zeros are optional. Use the same CRC profile as the reference.