Calculating the checksum is very easy. It is the representation of two hexadecimal characters of an XOR of all characters in the sentence between – but not including – the $ and the * character.

Lets assume the following NMEA sentence:

$GPGLL,5300.97914,N,00259.98174,E,125926,A*28

In this sentence the checksum is the character representation of the hexadecimal value 28. The string that the checksum is calculated over is

GPGLL,5300.97914,N,00259.98174,E,125926,A

To calculate the checksum you parse all characters between $ and * from the NMEA sentence into a new string.  In the examples below the name of this new string is stringToCalculateTheChecksumOver. Then just XOR the first character with the next character, until the end of the string.

NMEA Checksum Checker

Enter an NMEA sentence in our NMEA Checksum Checker below, with or without the checksum.  If you add the checksum this page will check to see if the checksum is correct.

  • Don’t add the initial $ sign, but do add the source identifier (first two characters after the $.)
  • Checksums are case sensitive, so $GPGLL will give a different checksum from $gpgll.
$