NMEA to CSV
Paste raw NMEA 0183 GPS sentences and export a clean CSV track table with merged GGA/RMC/GLL/VTG/ZDA/GSA data.
Convert NMEA GPS logs to CSV
Paste raw NMEA 0183 GPS/GNSS sentences and convert them into a spreadsheet-ready CSV track. The
converter accepts common $GPGGA, $GNRMC, $GPGLL, $GPVTG, $GPZDA, and $GPGSA sentences
from any talker prefix, then merges sentences that share the same UTC time into one row.
The output includes time or ISO timestamp, latitude, longitude, altitude, fix quality, satellite
count, HDOP, speed, and course. Choose decimal degrees or DMS coordinates, metres or feet, knots,
km/h or mph, comma/semicolon/tab/pipe delimiters, and whether to keep a header row. Enable checksum
validation when you want lines with a bad *XX checksum dropped.
Worked example
Input:
$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
Default output:
timestamp,time,latitude,longitude,altitude_m,fix,satellites,hdop,speed_knots,course
1994-03-23T12:35:19Z,12:35:19,48.1173,11.516667,545.4,gps,8,0.9,22.4,84.4
Limits and edge cases
- This is a CSV converter, not a map viewer or GPX/KML generator.
- GSV satellite-in-view details are not emitted; only GGA satellite count and HDOP are included.
- Proprietary vendor sentences are ignored unless they use one of the supported NMEA sentence types.
- When checksum validation is enabled, sentences with an invalid checksum are skipped; lines without a checksum are still parsed.
- Rows require a latitude and longitude from GGA, RMC, or GLL. Speed-only VTG lines do not produce rows by themselves.
FAQ
Which NMEA sentences are supported?
The converter reads GGA, RMC, GLL, VTG, ZDA, and GSA sentences. It accepts common talker prefixes such
as GP, GN, GL, GA, and GB because the sentence type is the last three characters before the
first comma.
How are multiple sentences merged into one CSV row?
Sentences with the same UTC time-of-day are treated as one cycle. For example, GGA supplies altitude, fix quality, satellite count, and HDOP, while RMC supplies date, speed, and course for the same point.
What happens when a date is missing?
If RMC or ZDA provides a date, the CSV includes an ISO timestamp column. If the log only has time-only
sentences such as GGA, the timestamp column is omitted and the time column remains.
Should I enable checksum validation?
Enable it for recorded logs where the trailing *XX checksum is present and you want corrupt lines
dropped. Leave it off when pasting logs from devices or examples that omit checksums.
Developer & Automation Access
Run it from the terminal
Same engine as this page, headless — via the gizza CLI:
gizza tool nmea-to-csv '$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'New to the CLI? Get gizza →
Open it by URL
Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:
https://gizza.ai/tools/nmea-to-csv/?nmea=%24GPGGA%2C123519%2C4807.038%2CN%2C01131.000%2CE%2C1%2C08%2C0.9%2C545.4%2CM%2C46.9%2CM%2C%2C%2A47%0A%24GPRMC%2C123519%2CA%2C4807.038%2CN%2C01131.000%2CE%2C022.4%2C084.4%2C230394%2C003.1%2CW%2A6A&coordinates=decimal&altitude_unit=m&speed_unit=knots&delimiter=comma&header=true&validate_checksum=trueMachine-readable descriptor: tool.json — title + parameters JSON Schema for agents.
