CAN FD CRC calculation guide
How CAN FD extends classic CAN error detection with CRC-17 and CRC-21, and why this calculator cannot compute either one directly.
Two frame-size-dependent CRCs
Classic CAN uses a single 15-bit CRC for every frame. CAN FD (ISO 11898-1:2015) instead selects between two wider CRCs depending on payload length, because longer CAN FD payloads need stronger error-detection coverage than the classic 15-bit CRC provides.
CRC-17/CAN-FD is used for frames with a data length code up to 16 bytes. CRC-21/CAN-FD is used for frames with a data length code above 16 bytes (up to the CAN FD maximum of 64 bytes).
- DLC ≤ 16 bytes → CRC-17/CAN-FD
- DLC > 16 bytes → CRC-21/CAN-FD
Commonly cited parameters
Published references for CRC-17/CAN-FD list polynomial 0x1685B (x¹⁷+x¹⁶+x¹⁴+x¹³+x¹¹+x⁶+x⁴+x³+x+1), initial value 0, no input or output reflection, and no final XOR.
Published references for CRC-21/CAN-FD list polynomial 0x102899 (x²¹+x²⁰+x¹³+x¹¹+x⁷+x⁴+x³+1), initial value 0, no input or output reflection, and no final XOR.
These widths sit between the standard 16-bit and 32-bit CRC families, and the CRC also covers a stuff-bit count field defined by the CAN FD frame format rather than a plain byte stream — treat the values above as descriptive reference points, not a substitute for the ISO 11898-1 text when implementing a CAN FD controller.
Why this calculator does not compute CAN FD CRCs
This site's calculator, lookup table generator, and code generator work with byte-oriented CRC models from the algorithm catalog. CRC-17/CAN-FD and CRC-21/CAN-FD are non-byte-aligned widths computed over a bitstream that includes protocol-level stuff bits, so they are documented here for reference only and are not selectable presets.
Primary sources
CRC-17/CAN-FD and CRC-21/CAN-FD, and the frame-length rule that selects between them, are defined in ISO 11898-1:2015, "Road vehicles — Controller area network (CAN) — Part 1: Data link layer and physical signalling." That standard, not a general byte-oriented CRC parameter catalogue, is the authoritative source for both polynomials, since their non-byte-aligned widths and stuff-bit handling fall outside what references like the Catalogue of CRC Algorithms (reveng.sourceforge.io) cover.
Apply this reference
Change CRC parameters and compare standard algorithm results using the browser-based calculator.