CRC Calculator
What is a CRC Calculator?
A CRC calculator (Cyclic Redundancy Check calculator) computes a short fixed-size checksum from any input data. CRC is the industry standard for error detection in digital networks, embedded systems, automotive buses (CAN, CAN-FD), storage devices, and industrial protocols (Modbus, PROFIBUS, DNP3). Every algorithm — from the simple CRC-8 to the robust CRC-64 — uses polynomial division in GF(2) to produce a checksum that catches single-bit errors, burst errors, and most multi-bit errors.
This tool is a free online CRC calculator and CRC decoder that requires no installation. Enter your data, select an algorithm such as CRC-32, CRC-16/MODBUS, CRC-8/SAE-J1850, or CRC-17/CAN-FD, and get the checksum instantly.
Modbus RTU CRC Calculator Online
The Modbus RTU protocol appends a 2-byte CRC-16/MODBUS checksum to every frame. This CRC uses polynomial 0x8005 (reflected as 0xA001), initial value 0xFFFF, reflected input and output, with no final XOR. The result is transmitted in little-endian order (low byte first).
How to Calculate Modbus RTU CRC Online
- Set Input Method to HEX
- Enter your frame bytes — for example:
0x01 0x03 0x00 0x00 0x00 0x0A - Select algorithm CRC-16/MODBUS
- Set Byte Order to Little Endian and Byte Format to Separated
- Click Add Output — the result is your 2-byte Modbus CRC
Example — Read Holding Registers request:
Input (HEX): 01 03 00 00 00 0A
CRC-16/MODBUS (Big Endian): 0x2BA1
CRC-16/MODBUS (Little Endian, separated): 0xA1 0x2B
Complete RTU frame: 01 03 00 00 00 0A A1 2B
CAN FD CRC Calculator — CRC-17/CAN-FD and CRC-21/CAN-FD
CAN FD (Controller Area Network Flexible Data-Rate) uses two CRC algorithms depending on frame length. Both are supported by this online CRC calculator.
CRC-17/CAN-FD — Polynomial, Parameters & Check Value
CRC-17/CAN-FD Parameters:
- Polynomial: x¹⁷ + x¹⁶ + x¹⁴ + x¹³ + x¹¹ + x⁶ + x⁴ + x³ + x + 1
- Hex polynomial:
0x1685B - Initial value:
0x00000 - Input reflection: No | Output reflection: No
- XOR-out:
0x00000 - Check value ("123456789"):
0x04F03
Applied to CAN FD frames with up to 16 data bytes (DLC 0–12).
CRC-21/CAN-FD — Polynomial, Parameters & Check Value
CRC-21/CAN-FD Parameters:
- Polynomial: x²¹ + x²⁰ + x¹³ + x¹¹ + x⁷ + x⁴ + x³ + 1
- Hex polynomial:
0x102899 - Initial value:
0x000000 - Input reflection: No | Output reflection: No
- XOR-out:
0x000000 - Check value ("123456789"):
0x0ED841
Applied to CAN FD frames with more than 16 data bytes (DLC 13–15).
AUTOSAR CRC Calculator — CRC-8/AUTOSAR and CRC-32/AUTOSAR
AUTOSAR (AUTomotive Open System ARchitecture) defines specific CRC profiles for ECU inter-module communication and memory protection. Both CRC-8/AUTOSAR and CRC-32/AUTOSAR are available in this online calculator.
CRC-8/AUTOSAR
- Polynomial:
0x2F - Initial value:
0xFF - XOR-out:
0xFF| No reflection - Check value ("123456789"):
0xDF - Use case: Short E2E protection frames in AUTOSAR communication stack
CRC-32/AUTOSAR
- Polynomial:
0xF4ACFB13 - Initial value:
0xFFFFFFFF - XOR-out:
0xFFFFFFFF| Reflected input & output - Check value ("123456789"):
0x1697D06A - Use case: AUTOSAR NvM (Non-Volatile Memory) block protection, long E2E profiles
Ethernet CRC-32 Calculator — IEEE 802.3 Frame Check Sequence
Ethernet uses CRC-32/ISO-HDLC (IEEE 802.3) as the Frame Check Sequence (FCS) appended to every Ethernet frame. It is the most widely used CRC algorithm — also found in ZIP, PNG, gzip, and many other file formats.
CRC-32/ISO-HDLC (Ethernet CRC-32) Parameters:
- Polynomial:
0x04C11DB7 - Initial value:
0xFFFFFFFF - XOR-out:
0xFFFFFFFF| Reflected input & output - Check value ("123456789"):
0xCBF43926
Also known as: CRC-32/PKZip, CRC-32b, CRC-32/ADCCP
To calculate the CRC-32 for an Ethernet frame online: select CRC-32/ISO-HDLC, enter frame payload in HEX, set Big Endian output. The result is the 4-byte FCS value.
CRC-64 Online Calculator — CRC-64/WE, CRC-64/XZ, CRC-64/ECMA-182
CRC-64 provides 64-bit checksums for large data sets such as database records, storage systems, and network payloads. This online calculator supports all major CRC-64 variants.
CRC-64 Check Values for "123456789":
- CRC-64/WE:
0x62EC59E3F1A4F00A - CRC-64/XZ (also CRC-64/GO-ECMA):
0x995DC9BBDF1939FA - CRC-64/ECMA-182:
0x6C40DF5F0B497347 - CRC-64/GO-ISO:
0xB90956C775A41001 - CRC-64/MS:
0x75D4B74F024ECEEA - CRC-64/REDIS:
0xE9C6D914C4B8D9CA
How This Online CRC Calculator Works
This tool calculates CRC checksums entirely in your browser using WebAssembly (Rust compiled to WASM). No data is sent to any server — your input stays private. All 100+ CRC algorithms use the industry-standard implementations from the crc crate with verified test vectors.
Key Features
- 100+ CRC algorithms:CRC-3 through CRC-64 — every algorithm from the Catalogue of CRC algorithms
- Multiple input formats:ASCII text, HEX (0x / \x / raw), Binary (0b prefix), Decimal, Octal
- Flexible output:HEX, Decimal, Binary, Octal — with prefix style, endianness, and byte separation options
- Multiple simultaneous outputs:Compare up to 10 algorithms side-by-side on the same input
- Persistent settings:Configuration auto-saved to browser local storage
- Real-time calculation:CRC computed on every keystroke with full error validation
Supported Input Format Examples
HEX input — all formats accepted:
- With 0x prefix:
0x01 0x02 0x03 0x04 - Escape sequence:
\x01\x02\x03\x04 - Short prefix:
x01x02x03x04 - Raw hex pairs:
01 02 03 04 - Mixed:
0x01 \x02 x03 04
Binary input:
0b01001000 0b01100101or01001000 01100101
Decimal input (0–255 per byte):
72 101 108 108 111→ "Hello"
CRC Algorithm Quick Reference
The tables below list the most commonly used CRC algorithms with their parameters and primary applications. Use this as a CRC decoder reference when you need to identify or verify an algorithm.
CRC-8 Algorithms
| Algorithm | Polynomial | Init | Check (123456789) | Application |
|---|---|---|---|---|
| CRC-8/AUTOSAR | 0x2F | 0xFF | 0xDF | Automotive ECU, AUTOSAR E2E |
| CRC-8/SAE-J1850 | 0x1D | 0xFF | 0x4B | OBD-II, SAE J1850 vehicle network |
| CRC-8/MAXIM-DOW | 0x31 | 0x00 | 0xA1 | 1-Wire, Dallas/Maxim sensors |
| CRC-8/SMBUS | 0x07 | 0x00 | 0xF4 | SMBus, I2C |
| CRC-8/BLUETOOTH | 0xA7 | 0x00 | 0x26 | Bluetooth HEC |
CRC-16 Algorithms
| Algorithm | Polynomial | Init | Check (123456789) | Application |
|---|---|---|---|---|
| CRC-16/MODBUS | 0x8005 | 0xFFFF | 0x4B37 | Modbus RTU industrial protocol |
| CRC-16/XMODEM | 0x1021 | 0x0000 | 0x31C3 | XMODEM, YMODEM file transfer |
| CRC-16/IBM-3740 | 0x1021 | 0xFFFF | 0x29B1 | CRC-CCITT (false init variant) |
| CRC-16/USB | 0x8005 | 0xFFFF | 0xB4C8 | USB token and data packets |
| CRC-16/DNP | 0x3D65 | 0x0000 | 0xEA82 | DNP3 (power systems / water utilities) |
| CRC-16/PROFIBUS | 0x1DCF | 0xFFFF | 0xA819 | PROFIBUS fieldbus |
CRC-32 Algorithms
| Algorithm | Polynomial | Check (123456789) | Application |
|---|---|---|---|
| CRC-32/ISO-HDLC | 0x04C11DB7 | 0xCBF43926 | Ethernet, ZIP, PNG, gzip — most common CRC-32 |
| CRC-32/MPEG-2 | 0x04C11DB7 | 0x0376E6E7 | MPEG-2 transport streams, AAC |
| CRC-32/AUTOSAR | 0xF4ACFB13 | 0x1697D06A | Automotive AUTOSAR NvM |
| CRC-32/BZIP2 | 0x04C11DB7 | 0xFC891918 | BZIP2 compression |
| CRC-32/ISCSI | 0x1EDC6F41 | 0xE3069283 | iSCSI (Castagnoli CRC) |
Frequently Asked Questions — CRC Calculator
How do I calculate a Modbus RTU CRC online?
Select CRC-16/MODBUS, set Input Method to HEX, enter your bytes (e.g. 01 03 00 00 00 0A), set Byte Order to Little Endian, then click Add Output. The two result bytes are appended to your Modbus frame in the order shown. See the Modbus CRC section above for a full example.
What is the CRC-17/CAN-FD polynomial?
The CRC-17/CAN-FD polynomial is x¹⁷ + x¹⁶ + x¹⁴ + x¹³ + x¹¹ + x⁶ + x⁴ + x³ + x + 1 (hex 0x1685B). Init value: 0x00000, no reflection, no XOR-out. Check value for "123456789": 0x04F03.
What is the CRC-21/CAN-FD polynomial?
The CRC-21/CAN-FD polynomial is x²¹ + x²⁰ + x¹³ + x¹¹ + x⁷ + x⁴ + x³ + 1 (hex 0x102899). Init value: 0x000000, no reflection, no XOR-out. Check value for "123456789": 0x0ED841.
Why do I get different CRC results from different tools?
CRC algorithms sharing a short name (like "CRC-16" or "CRC-32") can differ in polynomial, initial value, XOR-out, or bit reflection. Always verify which exact variant you need. This tool uses the official algorithm names from the Catalogue of CRC Algorithms (Greg Cook) and computes results using verified test vectors.
What is the CRC-64/WE check value for 123456789?
The CRC-64/WE check value for ASCII input "123456789" is 0x62EC59E3F1A4F00A. You can verify this directly using this tool: select CRC-64/WE, enter 123456789 in ASCII mode, and click Add Output.
How is CRC-16/XMODEM different from CRC-16/CCITT?
"CRC-16/CCITT" is ambiguous. CRC-16/XMODEM uses polynomial 0x1021 with init 0x0000, no reflection. CRC-16/IBM-3740 (often called CRC-CCITT false) uses the same polynomial but init 0xFFFF. Always use the precise algorithm name to avoid mismatches in protocol implementations.
Can CRC detect all errors?
CRC guarantees detection of all single-bit errors, all double-bit errors within the CRC span, all burst errors up to CRC width, and all odd-number-of-bit errors when the generator has (x+1) as a factor. It does not guarantee detection of all multi-bit errors — for security-critical applications, use cryptographic hashes (SHA-256, HMAC) instead.
What is the difference between CRC-32 and CRC-32/MPEG-2?
Both use polynomial 0x04C11DB7, but CRC-32/ISO-HDLC (common CRC-32) reflects input/output and XORs output with 0xFFFFFFFF, while CRC-32/MPEG-2 does not reflect and has no XOR-out. Check values for "123456789": CRC-32 = 0xCBF43926, CRC-32/MPEG-2 = 0x0376E6E7.
How to calculate CRC for a hex string like 0x0B 0x86 0x03?
Set Input Method to HEX and enter 0x0B 0x86 0x03 (or 0B 86 03). Select your target algorithm (e.g. CRC-16/MODBUS for Modbus frames) and click Add Output. The tool accepts all common hex formats including 0x prefix, \x escape, and raw pairs.
Which CRC Algorithm Should I Use?
- Ethernet / ZIP / PNG / gzip:CRC-32/ISO-HDLC (standard CRC-32)
- Modbus RTU:CRC-16/MODBUS (little-endian, polynomial 0x8005)
- CAN bus:CRC-15/CAN
- CAN FD (≤16 bytes):CRC-17/CAN-FD
- CAN FD (>16 bytes):CRC-21/CAN-FD
- AUTOSAR ECU:CRC-8/AUTOSAR or CRC-32/AUTOSAR
- USB packets:CRC-16/USB or CRC-5/USB
- Bluetooth BLE:CRC-24/BLE
- XMODEM / YMODEM file transfer:CRC-16/XMODEM
- iSCSI storage:CRC-32/ISCSI (Castagnoli)
- Dallas 1-Wire sensors:CRC-8/MAXIM-DOW
- Large files / databases:CRC-64/XZ or CRC-64/WE
- MPEG-2 video streams:CRC-32/MPEG-2
- OpenPGP:CRC-24/OPENPGP
Related Tools
- JWT Encoder & Decoder - Create, decode, verify, and debug JSON Web Tokens with HMAC signature support and claim inspection
- File Hash Calculator - Calculate MD5, SHA-1, SHA-256, SHA-512 hashes for files and text
- TOTP Generator - Generate and verify time-based one-time passwords (TOTP) compatible with Google Authenticator. Create QR codes, test 2FA implementation.
- TLS Certificate Analyzer - Parse and analyze X.509 TLS/SSL certificates with chain visualization, expiration tracking, cipher suite info, and security vulnerability detection