CRC Calculator

Calculate CRC checksums with 100+ algorithms for data integrity verification

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

  1. Set Input Method to HEX
  2. Enter your frame bytes — for example: 0x01 0x03 0x00 0x00 0x00 0x0A
  3. Select algorithm CRC-16/MODBUS
  4. Set Byte Order to Little Endian and Byte Format to Separated
  5. 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 0b01100101 or 01001000 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

AlgorithmPolynomialInitCheck (123456789)Application
CRC-8/AUTOSAR0x2F0xFF0xDFAutomotive ECU, AUTOSAR E2E
CRC-8/SAE-J18500x1D0xFF0x4BOBD-II, SAE J1850 vehicle network
CRC-8/MAXIM-DOW0x310x000xA11-Wire, Dallas/Maxim sensors
CRC-8/SMBUS0x070x000xF4SMBus, I2C
CRC-8/BLUETOOTH0xA70x000x26Bluetooth HEC

CRC-16 Algorithms

AlgorithmPolynomialInitCheck (123456789)Application
CRC-16/MODBUS0x80050xFFFF0x4B37Modbus RTU industrial protocol
CRC-16/XMODEM0x10210x00000x31C3XMODEM, YMODEM file transfer
CRC-16/IBM-37400x10210xFFFF0x29B1CRC-CCITT (false init variant)
CRC-16/USB0x80050xFFFF0xB4C8USB token and data packets
CRC-16/DNP0x3D650x00000xEA82DNP3 (power systems / water utilities)
CRC-16/PROFIBUS0x1DCF0xFFFF0xA819PROFIBUS fieldbus

CRC-32 Algorithms

AlgorithmPolynomialCheck (123456789)Application
CRC-32/ISO-HDLC0x04C11DB70xCBF43926Ethernet, ZIP, PNG, gzip — most common CRC-32
CRC-32/MPEG-20x04C11DB70x0376E6E7MPEG-2 transport streams, AAC
CRC-32/AUTOSAR0xF4ACFB130x1697D06AAutomotive AUTOSAR NvM
CRC-32/BZIP20x04C11DB70xFC891918BZIP2 compression
CRC-32/ISCSI0x1EDC6F410xE3069283iSCSI (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

Input Settings

Add Output

Input
ASCII Mode
Any text characters are supported
Processed Data
Click to copy
CRC-32/ISO-HDLC Result
Click to copy