CRC Calculator
Compute a simple binary CRC remainder for a message and generator polynomial. This educational calculator shows the formula, result, and step-by-step interpretation.
Calculator
What this calculator teaches
CRC uses polynomial division over GF(2) to create a remainder that can detect many transmission errors.
Use the result as a learning aid. For classwork, still show the formula and intermediate reasoning so the final answer is not just a black-box number.
CRC as Polynomial Division over GF(2)
A cyclic redundancy check treats a bit string as coefficients of a polynomial over the two-element field GF(2). Addition and subtraction are both XOR because 1 + 1 = 0 in this arithmetic. If the generator polynomial has degree r, the sender appends r zero bits to the message, divides the resulting polynomial by the generator using XOR long division, and keeps the r-bit remainder.
The transmitted codeword is the original message followed by that remainder. In the ideal algebraic model, dividing an uncorrupted codeword by the same generator gives remainder zero. A changed codeword can produce a nonzero remainder, allowing many transmission errors to be detected. CRC is primarily an error-detection method; the remainder generally does not identify which bit changed.
| Step | Operation | Reason |
|---|---|---|
| Generator degree | r = length(generator) − 1 | Determines remainder length |
| Augment message | M(x)xr | Creates room for r check bits |
| Divide in GF(2) | XOR instead of subtraction | Coefficients are only 0 or 1 |
| Codeword | message || remainder | Polynomial is divisible by generator |
The quality of a CRC depends strongly on the chosen generator polynomial. Different generators detect different patterns of errors, so a classroom polynomial-division example should not be treated as a complete communications-standard CRC unless its bit ordering, initialization, reflection, and final-XOR conventions are also specified.
Formula & Symbols
| Concept | Formula or rule |
|---|---|
| CRC remainder | binary polynomial division remainder |
| Codeword | message followed by remainder |
Worked example
Common mistakes
Keep lists comma separated, matrices as rows separated by semicolons, and modular inputs as integers.
Some methods require positive probabilities, valid moduli, independent trials, or small educational input sizes.
CRC polynomial arithmetic is over GF(2). Subtraction has no borrowing and is performed with XOR, so 1 XOR 1 = 0 and 1 XOR 0 = 1.
A degree-r generator requires r trailing zeros on the message before computing the remainder. Those positions are then replaced by the r check bits.
FAQ
Related calculators
These links will work after the calculators are registered in the final Math layout update.
Formula Explorer connections
Interpretation: This formula uses integer divisibility, modular arithmetic, finite fields or coding relationships. Assumption: Inputs are usually integers with specific modulus or coprimality requirements. Cryptographic examples are educational and not a substitute for vetted security libraries.