Philip Koopman, Carnegie Mellon University
Get software to compute HD lengths for yourself.  Pointers to CRC Resources
These are the "Best" generalpurpose CRC polynomials with specific Hamming Distance Properties. (See also: Notation and copyright statement). IMPORTANT NOTE: These are "BEST" polynomials under an assumption of a low, constant random independent BERsuch as you'd find in communication networks. If you have a BER that is higher than, say, 1 bit in 100,000, or is nonconstant, or is nonrandom/nonindependent, then you need to understand more before using these polynomials.
This data includes workinprogress results.
Below is a table of CRC Polynomial performance by Hamming Distance. Click a CRC size for detailed information about CRC polynomials.
Max length at HD / Polynomial 
CRC Size (bits)  
3  4  5  6  7  8  9  10  11  12  13  14  15  16  
HD=2  0x5  0x9  0x12  0x33  0x65  0xe7  0x119  0x327  0x5db  0x987  0x1abf  0x27cf  0x4f23  0x8d95 
HD=3  4 0x5 
11 0x9 
26 0x12 
57 0x33 
120 0x65 
247 0xe7 
502 0x119 
1013 0x327 
2036 0x5db 
4083 0x987 
8178 0x1abf 
16369 0x27cf 
32752 0x4f23 
65519 0x8d95 
HD=4  10 0x15 
25 0x23 
56 0x5b 
119 0x83 
246 0x17d 
501 0x247 
1012 0x583 
2035 0x8f3 
4082 0x12e6 
8177 0x2322 
16368 0x4306 
32751 0xd175 

HD=5  4 0x72 
9 0xeb 
13 0x185 
21 0x2b9 
26 0x5d7 
53 0xbae 
52 0x1e97 
113 0x212d 
136 0x6a8d 
241 0xac9a 

HD=6  4 0x9b 
8 0x13c 
12 0x28e 
22 0x532 
27 0xb41 
52 0x1e97 
57 0x372b 
114 0x573a 
135 0x9eb2 

HD=7  5 0x29b 
12 0x571 
11 0xa4f 
12 0x12a5 
13 0x28a9 
16 0x5bd5 
19 0x968b 

HD=8  4 0x4f5 
11 0xa4f 
11 0x10b7 
11 0x2371 
12 0x630b 
15 0x8fdb 

HD=9  5 0x5a47 
6 0xe92f 

HD=10  5 0xed2f 

HD=11 
Max length at HD / Polynomial 
CRC Size (bits)  
17  18  19  20  21  22  23  24  
HD=2  0x16fa7  0x23979  0x6fb57  0xb5827  0x1707ea  0x308fd3  0x540df0  0x8f90e3 
HD=3  131054 0x16fa7 
262125 0x23979 
524268 0x6fb57 
1048555 0xb5827 
2097130 0x1707ea 
4194281 0x308fd3 
8388584 0x540df0 
16777191 0x8f90e3 
HD=4  65518 0x1165d 
131053 0x25f53 
262124 0x77b0f 
524267 0xc1acf 
1048554 0x10df8f 
2097129 0x248794 
4194280 0x400154 
8388583 0x9945b1 
HD=5  240 0x1724e 
493 0x39553 
494 0x5685a 
1005 0xc8a89 
1004 0x1edfb7 
2025 0x2a952a 
2026 0x6bc0f5 
4073 0x98ff8c 
HD=6  240 0x1724e 
240 0x32c69 
494 0x5685a 
494 0xe2023 
1004 0x1edfb7 
1004 0x395b53 
2026 0x6bc0f5 
2026 0xbd80de 
HD=7  46 0x1751b 
45 0x25f6a 
46 0x50b49 
49 0x8810e 
106 0x12faa5 
105 0x289cfe 
106 0x5e2419 
231 0x880ee6 
HD=8  22 0x11bf5 
45 0x25f6a 
45 0x779c7 
45 0xd41cf 
48 0x198313 
105 0x289cfe 
105 0x469d7c 
105 0xcba785 
HD=9  8 0x123bd 
11 0x27bbc 
13 0x7573f 
21 0xbe73e 
20 0x16e976 
22 0x2aedd3 
26 0x53df6e 
39 0xed93bb 
HD=10  6 0x176a7 
8 0x2e7de 
10 0x44f75 
13 0xe6233 
20 0x16e976 
20 0x247bc4 
24 0x463b77 
26 0xc7ad89 
HD=11  5 0x26a3d 
7 0x6d133 
11 0x8d3cc 
10 0x165751 
12 0x36f627 
24 0x463b77 
23 0x8cd929 

HD=12  5 0x51d79 
7 0x9d587 
10 0x165751 
10 0x22efb7 
13 0x49ad52 
23 0x8cd929 

HD=13  5 0x25d467 
5 0x4b79d1 
7 0xd9588b 

HD=14  5 0x4b79d1 
6 0xb73e91 

HD=15 
Max length at HD / Polynomial 
CRC Size (bits)  
25  26  27  28  
HD=2  0x101690c  0x33c19ef  0x5e04635  0x91dc1e3 
HD=3  33554406 0x101690c 
67108837 0x33c19ef 
134217700 0x5e04635 
268435427 0x91dc1e3 
HD=4  16777190 0x10bba2d 
33554405 0x278b495 
67108836 0x745e8bf 
134217699 0xb67b511 
HD=5  4072 0x1b9189d 
8165 0x2c45446 
8166 0x6c3ff0d 
16357 0x9037604 
HD=6  4072 0x1b9189d 
4072 0x2186c30 
8166 0x6c3ff0d 
8166 0xd120245 
HD=7  230 0x136fd31 
230 0x2bd893b 
484 0x521f64b 
483 0xb9ccb75 
HD=8  230 0x136fd31 
230 0x2bd893b 
230 0x4cb658f 
483 0xb9ccb75 
HD=9  40 0x12b00d4 
41 0x311e9ad 
48 0x4429686 
99 0xeaa72ab 
HD=10  40 0x12b00d4 
40 0x32def69 
41 0x51aff9a 
48 0xacb6aed 
HD=11  24 0x162054b 
24 0x248d3be 
36 0x474fd47 
35 0xb094a3e 
HD=12  23 0x15ed6a9 
23 0x2bfbd8f 
23 0x4258c0f 
35 0xb094a3e 
HD=13  8 0x12728bf 
9 0x2d7a067 
11 0x6986313 
15 0xe9dadcb 
HD=14  7 0x1291ccf 
8 0x23bb612 
9 0x6a611bf 
11 0xaf74fc7 
HD=15  5 0x251f66b 
7 0x58695e3 
8 0xcf11b95 

HD=16  5 0x251f66b 
6 0x65bd513 
8 0xcf11b95 

HD=17 
Max length at HD / Polynomial 
CRC Size (bits)  
29  30  31  32  
HD=2  0x16dfbf51  0x31342a2f  0x737e312b  0xad0424f3 
HD=3  536870882 0x16dfbf51 
1073741793 0x31342a2f 
2147483616 0x737e312b 
4294967263 0xad0424f3 
HD=4  268435426 0x11c4dfb5 
536870881 0x2254329d 
1073741792 0x52aa4332 
2147483615 0xc9d204f5 
HD=5  16356 0x1cf492f3 
32737 0x2adf3aaf 
32738 0x74f9e7cb 
65505 0xd419cc15 (**) 
HD=6  16356 0x1cf492f3 
16356 0x2ad4a56a 
32738 0x74f9e7cb 
32738 0x9960034c (**) 
HD=7  484 0x12e8b5b6 
993 0x2a9b3e15 
992 0x60f2920b 
992 0xf8c9140a (**) 
HD=8  483 0x13a46755 
483 0x2017ed6a 
992 0x60f2920b 
992 0xf8c9140a 
HD=9  100 0x1e150a87 
100 0x242c0684 
100 0x6c740b8d 
223 0x9d7f97d6 
HD=10  100 0x1e150a87 
100 0x242c0684 
100 0x6c740b8d 
100 0xb49c1c96 
HD=11  35 0x1c27bd8b 
36 0x34c8e00d 
36 0x456a3501 
38 0x85b9561d 
HD=12  35 0x1c27bd8b 
35 0x2468c69c 
35 0x6bee283f 
36 0x950ebfae 
HD=13  14 0x13a6f65c 
16 0x2b967ef9 
18 0x6624b2eb 
20 0x93b39b1b 
HD=14  14 0x13a6f65c 
14 0x3c9a0b27 
16 0x47e62564 
19 0xa094afb5 
HD=15  9 0x12ff393a 
11 0x290d6d0e 
12 0x52d246e1 
15 0xa2572962 
HD=16  8 0x15e165a6 
9 0x23136e56 
11 0x6d094c5d 
13 0xe89061db 
HD=17  4 0x229df1ac 
5 0x47d2d9ab 
7 0xa86be4db 

HD=18  4 0x46e56a7c 
5 0x973afb51 

HD=19 
(**) means that this is a temporary result which has approximately the longest possible dataword length at the specified HD, but might not be the "best" possible value. (For example, probably there is some as yet unknown result with a slightly longer dataword length at that HD or with lower weights at the same HD.) Ongoing computations will be used to update this value to the "best" value when available. In the meantime, there's nothing wrong with using this polynomial as long as it provides adequate properties for your application.
To use these tables: top number in each cell is maximum dataword length at that Hamming Distance. The bottom number in each cell is a "good" polynomial that gives at least that HD up to the indicated dataword length in implicit +1 notation. For example, the polynomial 0x247 is a 10bit CRC that provides HD=4 (or better) up to 501 bit dataword length (501+10=511 bit codeword length). The corresponding polynomial is: 0x247=x^10 +x^7 +x^3 +x^2 +x +1, and is alternately known as 0x48f in explicit +1 notation. See the Polynomial Zoo for detailed information (or click the CRC size link at the top of each column). Additionally, see the tables below for more nuanced selection criteria.
Notes: Minimum dataword length evaluated for the above table is 4 bits. Grayedout boxes mean that it has been confirmed that the HD at that row cannot be achived with a dataword length of 4 bits or longer. Color highlighted cells indicated work in progress/missing data.
This web page and all data files are Copyrighted 20152018 by Philip Koopman, Carnegie Mellon University.
This work is licensed under a
Creative
Commons Attribution 4.0 International License.
Please note that if any data errors or other issues are identified they will be updated at this page, but not necessarily anywhere that has copied these results. Therefore, you should always confirm at this URL: http://users.ece.cmu.edu/~koopman/crc/ that you have the most current version of data before using it.