Open-source project
tumic0/GPXSee avatar
tumic0/GPXSee

GPXSee: a desktop viewer for every GPS log format your devices produce

GPS log file viewer and analyzer with support for GPX, TCX, KML, FIT, IGC, NMEA, SLF, SML, LOC, GPI, GeoJSON and OziExplorer files.

1,253 stars165 forksC++GPL-3.0

At a glance

What is it?
GPXSee is a Qt-based GPS log file viewer and analyser that opens GPX, TCX, FIT, KML, NMEA, IGC, OziExplorer, GeoJSON and a long list of device-specific formats, draws them on user-definable online or offline maps, and graphs elevation, speed, heart rate, cadence and power. It is GPL-3.0 licensed and the current release is 16.17 from 2026-10-10.
Who is it for?
GPXSee fits a person who has accumulated logs from several devices in several vendor formats and wants one application that opens all of them, and it fits a reader who works offline with a chart collection rather than a tile server.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly C++, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

One application for a shelf of incompatible device formats

GPXSee is a Qt-based GPS log file viewer and analyzer that supports all common GPS log file formats, and the format list is the clearest statement of what problem it solves.

It opens GPX, TCX, FIT, KML, NMEA, IGC, CUP, SIGMA SLF, Suunto SML, LOC, GeoJSON, OziExplorer formats in PLT, RTE and WPT, Garmin GPI and CSV, TomTom OV2 and ITN, ONmove OMD and GHP, TwoNav in TRK, RTE and WPT, GPSDump WPT, Velocitek VTK, and Vakaros VKX.

Then the video formats, which is the surprising part. GoPro GPMF videos, DJI videos, Sony RTMD videos, Google CAMM videos, and the Novatek, VIOFO, Blackvue, Vantrue and 70mai dashcam videos, plus geotagged JPEG and MP4 files. So a dashcam or an action camera file can be opened as a track, which means the geotagging in the video metadata becomes a route on the map.

It also opens geo URIs as described in RFC 5870, which is the standard for a link that points at a location on the map, so a URL from a web page or a message can be opened in the viewer.

The reason a single application needs this list is that GPS logging is a consumer market with almost no standardisation beyond GPX. Every vendor writes its own format, and the formats accumulate as devices are replaced. A tool that opens all of them is not being thorough for its own sake, it is being thorough because otherwise the user has to convert files before looking at them, and the conversion is where the coordinates quietly get mangled.

It is GPL-3.0 licensed, the default branch is `master`, the last push was on 2026-10-15, and the release history shows 16.17 from 2026-10-10, 16.16 from 2026-09-26 and 16.15 from 2026-09-12, which is a steady release cadence of roughly every two weeks.

Maps, online and offline, from a long list of formats

The map support is the other half of the application, and it is split between what you can stream and what you can carry on disk.

For online maps there are user-definable sources: OpenStreetMap and Google tiles, WMTS, WMS, TMS and QuadTiles. A user-definable map means you can point the application at your own tile server rather than being limited to a fixed set.

For offline maps the list is even longer. MBTiles and PMTiles, OziExplorer maps, TrekBuddy maps and atlases, Garmin IMG and GMAP and JNX maps, TwoNav RMaps, GeoTIFF images, BSB charts, ENC charts, KMZ maps, AlpineQuest maps, Locus, OsmAnd and RMaps SQLite maps, Mapsforge vector maps, QCT maps, GEMF maps, Osmdroid SQLite maps, Orux maps, COROS maps, and ESRI World-File georeferenced images.

That list is a catalogue of the formats that exist in the wild because each tool and each device ecosystem invented its own. The BSB and ENC entries are nautical charts, which tells you the application is not only for hiking, and the COROS entry is for a specific sports watch brand.

There is a companion repository for maps, GPXSee-maps, which is where the tile sets live separately from the application.

The application also has support for DEM files in SRTM HGT format, which is the elevation model, and it graphs elevation, speed, heart rate, cadence, power, temperature and gear ratio or shifts. The last two are cycling specific, and the heart rate and cadence ones come from fitness devices, which is what makes the TCX and FIT support matter.

The rest of the feature list is the ordinary desktop application furniture: support for multiple tracks in one view, POI file support, print and export to PDF and PNG, full-screen mode, HiDPI and Retina display and map support, and real-time GPS position.

Building it is three commands against a qmake project

The build section is short, and the requirements are worth reading because the Qt version constraint is the thing that will stop you.

The prerequisites are Qt5 at 5.15 or newer or Qt6 at 6.2 or newer, with Android builds requiring Qt6, and Zlib, where the Qt-provided one is used where the platform does not provide its own.

The build itself is three commands:

shell
lrelease gpxsee.pro
qmake gpxsee.pro
make # nmake on Windows

`lrelease` compiles the translation files, `qmake` generates the makefiles from the `gpxsee.pro` project file, and `make` builds. The `nmake` note for Windows is the older equivalent, and the presence of `gpxsee.qrc` at the root is the Qt resource file for the icons and themes, with `theme-color.qrc` and `theme-grayscale.qrc` for the two colour schemes.

The repository layout is a classic Qt application. There is a `src/` directory with the C++ source, `icons/` with several icon sets, `lang/` for the translations, `data/` for the map styles, the CRS parameter CSV files and the third-party map styles, `cert/` for the certificate authority bundle used for the online map connections, `pkg/` for the packaging, and a root-level `licence.txt` that lists the third-party components.

The `data/style/` directory holds the OpenMapTiles and Protomaps MVT styles, which is what makes the vector maps look like maps rather than like coloured polygons, and the `data/CRS` directory holds the projection parameter CSV files.

Translations are handled through Weblate, and the project links the hosted translation project, which is the same approach a lot of desktop applications use to get languages without maintaining a dozen forks of the source tree.

A Flathub build that the project says is broken

There is a warning in the readme that is unusual to see and worth quoting, because it is the kind of thing a user would otherwise discover the hard way.

Never use the Flatpak version from flathub.org which is crippled by design. Several fundamental features like file browsing and many file formats are broken in the Flatpak package.

That is a blunt statement from the maintainer about his own project's distribution, and it has an obvious cause. A Flatpak is a sandbox, and a sandboxed application cannot reach the user's home directory or their mounted drives without permissions. For an application whose entire job is opening files from arbitrary locations and writing maps and tracks wherever the user wants, that is a fatal design conflict rather than a packaging bug.

The distributions the project points you at instead are Sourceforge for the Windows and OS X builds, the openSUSE software repository for Linux packages, and the Google Play Store for the Android APKs, with the package name `org.gpxsee.gpxsee`. The openSUSE build is built by the maintainer himself, since the package is under the `home:tumic:GPXSee` project.

That last point matters for a Linux distribution. The Linux packages are not a community rebuild, they are the maintainer's own, built on openSUSE infrastructure with the changelog published there too. The changelog link goes to the openSUSE package view for the gpxsee changes file, which is an unusual arrangement and a sign that the maintainer runs his own build and packaging infrastructure rather than relying on distributions to package for him.

The Android build being on the Play Store is also notable, since it means the desktop application's format list and the mobile one are the same codebase.

The licence file lists the third-party exceptions, which is unusual detail

The licence section is worth reading on its own, because it is far more specific than a typical open source project makes it.

GPXSee is licensed under GPL-3.0, only. However, some third party parts use different but GPL-compatible licences, and the list is long and precise. The Icons8 Flat Color Icons are MIT. The Papirus icons are GPLv3. The Mapbox Maki icons are CC0. The Map Icons Collection are CC BY SA 3.0. An RTree implementation in `src/common/rtree.h` is public domain.

Then the projections, which is where most projects stop listing. The Albers, Geocentric, LCC, Mercator, Polar Stereographic, Polyconic and Transverse Mercator projections in `src/map/proj/` are under the NIMA Source Code Disclaimer, and the projection parameters CSV files in `data/CRS` are BSD, EPSG and public domain. The OSM Liberty and Protomaps MVT styles are BSD.

Two things stand out. First, the file paths are given, so a reader who wants to know exactly what is under which licence can look. Second, the NIMA disclaimer is a US government term that permits use and redistribution with attribution and no warranty, and it is a licence most contributors would not think to apply to their own code, which is presumably why the projections were taken from a public source rather than written from scratch.

For a project that ships icons, map styles, projection code and chart formats, this level of attribution is what a GPL project with third-party assets owes its users, and the fact that it is in the readme rather than buried in a file makes it usable.

The project is also GPL-3.0 only, with no MIT alternative offered, which for an application is the normal choice and for a library would be a limitation, since a GPL-only library cannot be linked into proprietary software.

Editorial conclusion

GPXSee fits a person who has accumulated logs from several devices in several vendor formats and wants one application that opens all of them, and it fits a reader who works offline with a chart collection rather than a tile server. It does not fit a workflow that needs to process logs in bulk programmatically, since it is a desktop viewer rather than a library, and it does not fit a Linux user who installs the Flathub build, which the project explicitly warns is crippled with broken file browsing and missing file formats. Before you install it, read that warning and take the package from the project's own channels instead.

Frequently asked questions

What file formats can GPXSee open?

GPX, TCX, FIT, KML, NMEA, IGC, CUP, SIGMA SLF, Suunto SML, LOC, GeoJSON, OziExplorer PLT, RTE and WPT, Garmin GPI and CSV, TomTom OV2 and ITN, TwoNav TRK, RTE and WPT, and more, plus geotagged videos from GoPro, DJI, Sony, Google CAMM and several dashcam brands, and geo URIs as described in RFC 5870.

Which offline map formats does GPXSee support?

MBTiles, PMTiles, OziExplorer, TrekBuddy, Garmin IMG, GMAP and JNX, TwoNav RMaps, GeoTIFF, BSB and ENC nautical charts, KMZ, AlpineQuest, Locus, OsmAnd and RMaps SQLite maps, Mapsforge vector maps, QCT, GEMF, Osmdroid SQLite, Orux, COROS and ESRI World-File georeferenced images.

How do I build GPXSee from source?

You need Qt5 at 5.15 or newer or Qt6 at 6.2 or newer, with Qt6 required for Android builds, plus Zlib. Then run `lrelease gpxsee.pro`, `qmake gpxsee.pro` and `make`, using nmake on Windows.

Is the Flathub version of GPXSee usable?

No. The project warns never to use the Flatpak version from flathub.org, because it is crippled by design and several fundamental features such as file browsing and many file formats are broken. Use the Sourceforge builds for Windows and macOS, the openSUSE packages for Linux, or the Play Store build for Android.

Official sources

  1. License: GPL-3.0
  2. Project website
  3. README
  4. Releases
  5. tumic0/GPXSee on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/tumic0-gpxsee.svg)](https://hysenlabs.com/projects/tumic0-gpxsee)

Was this useful?