So, as Crossrulz was saying, there are many different ways to do this. And one thing that can be different is the initial value. Another is whether or not the Polynomial is Reversed or Normal and then byte order of the result. In attached VI, the original values are 8005 (normal) with an initial value of 0xFFFF. I tried your link (thank you by the way) and yes, the results were not the same. But changing the Polynomial to A001 and changing the initial value to 0x0000, I was able to get the same CRC16-ANSI as your calculator.... except for the byte order which is easily remedied. So I get the feeling, then, that this code is correct. It compares with an online calculator and it compares with another CRC16 VI that was posted elsewhere. Just all comes down to getting all the little settings the same.