CRC initial value (Init)
See how the starting register value (Init) changes CRC results before any data is processed, and why many standards default to all zeros or all ones.
5 min readParameters
01
The register before processing begins
Init is the value loaded into the CRC register before the first input bit or byte is processed. It is masked to the selected CRC width.
02
Common initial values
Many models use zero, while others use a register filled with ones. For CRC-16 that commonly means 0x0000 or 0xFFFF; for CRC-32 it commonly means 0x00000000 or 0xFFFFFFFF.
03
Why Init matters
Changing Init changes the result even when every other parameter is identical. It can also make leading zero bytes affect the calculation differently.
Apply this reference
Change CRC parameters and compare standard algorithm results using the browser-based calculator.