gpsd is a service daemon that acts as an intermediary between GPS, GNSS, AIS and other supported positioning sensors and applications that need their data. Rather than requiring each application to open and interpret a serial or USB receiver independently, gpsd reads the device once and exposes a common interface to multiple clients.
The daemon recognises a range of text and binary receiver protocols and converts their output into a consistent representation. Applications can therefore concentrate on location, velocity, time or marine data without implementing every manufacturer’s protocol themselves. gpsd is also widely used in embedded and specialist positioning systems.
This is free and open source software.
Key Features
- Monitors one or more supported GPS, GNSS, differential-GPS or AIS receivers.
- Allows several client applications to share the same receiver without competing for direct device access.
- Automatically detects the speed and protocol used by many connected receivers.
- Understands NMEA data together with a collection of vendor-specific binary GPS protocols.
- Decodes marine AIS traffic and exposes supported AIS messages to clients.
- Handles differential-correction data using supported RTCM formats.
- Provides a JSON-based network protocol for applications requesting position and sensor information.
- Includes libgps for C applications together with wrappers and bindings for other programming languages.
- Provides terminal and graphical diagnostic clients for checking satellite reception and receiver status.
- Includes tools for decoding recorded GPS, AIS and correction streams outside the running daemon.
- Can provide precise timing information from receivers that expose pulse-per-second output.
- Suitable for applications ranging from desktop navigation to embedded systems and network time servers.
Website: gpsd.gitlab.io/gpsd
Support:
Developer: Eric S. Raymond and many contributors
License: BSD 2-Clause ‘Simplified’ License

gpsd is written in C. Learn C with our recommended free books and free tutorials.
Related Software
| GPS Tools | |
|---|---|
| MOBAC | Create offline atlases for GPS handhelds and cell phone applications |
| GPXSee | GPS log file viewer and analyzer |
| Traccar | GPS Tracking Platform |
| gpsd | GPS service daemon |
| Viking | GPS data editor, analyzer and viewer |
| GPSBabel | GPS file conversion plus transfer to/from GPS units |
| GpsPrune | View, edit, and convert coordinate data from GPS systems |
| ZombieTrackerGPS | Fitness and GPS track manager designed for KDE |
| QMapShack | GPS mapping (GeoTiff and vector) and GPSr management |
| Navit | Car navigation system with routing engine |
| GPS Correlate | Correlates digital images with GPS data filling EXIF fields |
| Satellite | Displays GNSS information obtained from NMEA sources |
| PyGPSClient | Graphical tool for GNSS receiver testing, diagnostics and configuration |
| OpenCPN | Ship-borne GUI navigation |
| gpx.studio | GPX editor for creating, modifying and planning GPS routes |
| Geotagging | Photography geotagging tool |
| AAT Activity Tracker | Tracking sportive activities, with an emphasis on cycling |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.