Free NMEA Sentence Decoder
Paste NMEA 0183 sentences or open a GPS log to read every field, catch bad checksums and see the track on a map.
What is a NMEA Sentence Decoder?
NMEA 0183 is the plain-text format GPS receivers, chartplotters and boat instruments use to talk to each other. Each line is a sentence such as $GPGGA, with comma-separated fields and a checksum. This decoder names every field and maps the track.
It decodes eleven of the most common sentences, from GGA and RMC fixes to satellite, heading, depth and wind data, and checks the *hh checksum on every line. Valid fixes become a track you can see on a map, summarise, or export as GeoJSON for mapping tools.
Key Features
Every Field Named
Time, position, fix quality, satellites, DOP, speed, course, heading, depth and wind, with units.
Checksums Checked
Each sentence’s XOR checksum is recomputed, and wrong ones are flagged and left out of the track.
Track on a Map
Valid GGA, RMC and GLL fixes are drawn as a line, with distance, time span and top speed.
GeoJSON Export
Download the track as a GeoJSON LineString for QGIS, geojson.io or a web map.
Logs Stay Private
Sentences are decoded in your browser. The map loads OpenStreetMap tiles for the area shown.
Perfect for everyone
- Sailors
- Drone and robotics developers
- GPS module tinkerers
- Surveyors and anyone with a raw GPS log
How to Use the NMEA Sentence Decoder
Paste the sentences or open the log, then pick a view.
Get the Sentences
Copy them from a serial terminal, gpsd, a chartplotter export or a logger’s text file.
Paste or Open
Mixed sentence types and other text are fine. Lines without a sentence are skipped.
Read the Fields
Sentences explains every line and its checksum, with the map above.
Summarise or Export
Summary gives distance, time and speed. GeoJSON downloads the track for mapping tools.
NMEA Sentences, Decoded
Each row is NMEA traffic as a receiver sends it, and each answer is this decoder’s output in the mode on the chip. Several come from the reference examples every NMEA guide quotes.
“$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47”
“$GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A”
“$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*48”
“$GPGSV,2,1,08,01,40,083,46,02,17,308,41,12,07,344,39,14,22,228,45*75”
“$GPGSA,A,3,04,05,,09,12,,,24,,,,,2.5,1.3,2.1*39”
“$GPVTG,054.7,T,034.4,M,005.5,N,010.2,K*48 $HEHDT,274.07,T*19 $SDDBT,8.1,f,2.4,M,1.3,F*0B $WIMWV,214.8,R,0.1,K,A*28”
“$GPGGA,002153.000,,,,,0,00,99.99,,,,,,*53”
“$GPGGA,183000.00,3751.5400,N,12228.6800,W,1,09,0.9,3.0,M,-32.1,M,,*5E $GPRMC,183000.00,A,3751.5400,N,12228.6800,W,5.8,122.4,271026,13.1,E,A*12 $GPGGA,183010.00,3751.5040,N,12228.6140,W,1,09,0.9,3.1,M,-32.1,M,,*53 $GPRMC,183010.00,A,3751.5040,N,12228.6140,W,6.1,122.9,271026,13.1,E,A*19 $GPGGA,183020.00,3751.4680,N,12228.5480,W,1,09,0.9,3.2,M,-32.1,M,,*52 $GPRMC,183020.00,A,3751.4680,N,12228.5480,W,6.4,123.4,271026,13.1,E,A*12”
“$GPGGA,183000.00,3751.5400,N,12228.6800,W,1,09,0.9,3.0,M,-32.1,M,,*5E $GPRMC,183000.00,A,3751.5400,N,12228.6800,W,5.8,122.4,271026,13.1,E,A*12 $GPGGA,183010.00,3751.5040,N,12228.6140,W,1,09,0.9,3.1,M,-32.1,M,,*53 $GPRMC,183010.00,A,3751.5040,N,12228.6140,W,6.1,122.9,271026,13.1,E,A*19”
“$PGRME,15.0,M,45.0,M,25.0,M*1C $IIMTW,18.4,C*1E !AIVDM,1,1,,B,15M67FC000G?ufbE`FepT@3n00Sa,0*5C”
The Sentences This Decoder Reads
The three letters after the talker ID name the sentence. These ten cover position, satellites and the instruments on most boats.
GGA
The fix: time, position, fix quality, satellites used, HDOP and altitude above sea level.
“Which GGA field says there’s a fix?”
RMC
The recommended minimum: time, date, status, position, speed and course over ground.
“Which sentence carries the date?”
GLL
Latitude, longitude, time and status, the oldest and shortest position sentence.
“Does GLL include altitude?”
VTG
Course over ground, true and magnetic, with speed in knots and kilometres per hour.
“What does VTG carry besides course?”
GSA
Which satellites are in the solution, the fix type, and the PDOP, HDOP and VDOP.
“What does a fix type of 3 mean?”
GSV
Satellites in view with elevation, azimuth and signal strength, four per sentence.
“How many satellites fit in one GSV?”
ZDA
UTC date and time with the local time zone offset, often sent once a second.
“Which sentence gives a four-digit year?”
HDT
True heading from a gyrocompass or a GNSS compass, which a single antenna can’t give.
“Which talker usually sends HDT?”
DBT
Depth below the transducer in feet, metres and fathoms.
“Is DBT depth below the keel?”
MWV
Wind angle and speed, relative to the bow or true, from a masthead sensor.
“What does reference R mean?”
Anatomy of a Sentence
Every NMEA 0183 sentence follows the same frame, whatever device sent it. These parts explain what each piece of a line such as $GPGGA,123519,…*47 means and how the checksum is worked out.
Start Character
A dollar sign starts a normal sentence. An exclamation mark starts encapsulated data such as AIS.
Talker ID
Two letters name the source: GP for GPS, GN for a multi-constellation receiver, HE for a gyrocompass.
Sentence Type
Three letters name the content, such as GGA or RMC. P instead of a talker means proprietary.
Fields
Comma-separated values in a fixed order. An empty field between two commas means no data.
Coordinates
Latitude is ddmm.mmmm and longitude dddmm.mmmm, each followed by a hemisphere letter.
Checksum
An asterisk and two hex digits, the XOR of every character between the start character and the asterisk.
Line Length
A sentence is at most 82 characters including the CR LF, which keeps fields short and terse.
Talker IDs You Will Meet
The two letters after the dollar sign say which kind of device sent the sentence. A modern boat or receiver mixes several of them on one stream.
GP, GL, GA and GB
A receiver reporting one constellation: GPS, GLONASS, Galileo or BeiDou. Older units only ever send GP.
GN
A multi-constellation receiver combining several systems into one fix, the norm for modules since about 2015.
HE, HC and SD
A gyrocompass, a magnetic compass and a depth sounder, the classic instruments on a ship’s bridge.
II and WI
Integrated instrument displays and weather sensors, which often repeat data from other talkers.
Getting NMEA Out of a Device
Almost every GPS speaks NMEA, but getting the text out differs by device. These are the usual routes to a log you can paste here.
USB GPS Modules
u-blox, Quectel and SiRF modules appear as a serial port. Open it at 9600 or 38400 baud in any terminal.
gpsd
On Linux, gpspipe -r prints the raw sentences gpsd receives from every connected receiver.
Chartplotters
Many plotters log NMEA to a memory card, or send it over Wi-Fi to apps on TCP port 10110.
NMEA 2000 Gateways
Boats with NMEA 2000 need a gateway such as a YDNR or Actisense to convert PGNs to 0183 sentences.
Phones
Android exposes NMEA to apps through the location API, and logging apps can save it to a file.
Drones and Robots
Flight controllers and ROS drivers often record NMEA alongside their own logs for debugging.
When to Decode NMEA
Whenever a GPS or instrument hands you a stream of text and you need to know what it says.
Testing a GPS Module
Check fix quality, satellite count and DOP while bringing up a new board.
Debugging a Boat Network
See which talker sends which sentence when instruments disagree.
Checking a Log
Map a passage or test drive and spot gaps, jumps or bad checksums.
Converting to GeoJSON
Turn a raw log into a track for QGIS, Leaflet or a report.
Learning NMEA
Compare raw fields with their meaning sentence by sentence.
NMEA Pitfalls
Mistakes that trip up parsers and people reading logs.
Minutes, Not Decimals
4807.038 is 48° 7.038′, which is 48.1173°, not 48.07038°. Reading it as a decimal puts you kilometres away.
Status V
An RMC with status V has no valid fix, even if a stale position is still in the fields.
Ignoring the Checksum
Serial noise flips characters. Without the check, a corrupted position goes straight into the track.
Two-Digit Years
RMC dates have two-digit years, so software has to guess the century.
Height Above Ellipsoid
GGA altitude is above mean sea level. Add the geoid separation for height above the WGS 84 ellipsoid.
Talker Changes
A receiver switching between GP and GN talkers can break parsers that match the full sentence name.