GPX Track Analyzer

GPX Track Analyzer

Open a GPX or FIT track and inspect segment distance plus time/elevation issues at the original records.

Up to 5 MB, 40 tracks, 200 segments and 20,000 points. Supports GPX 1.1 trkpt and FIT record. All calculations stay in this browser tab; no external map is requested.

1. Load track and set jump threshold

1–1000 km/h. If calculated speed between adjacent points with positive time exceeds this value, that step is a possible jump.

Comments & questions

GPX Track Analyzer

Inspect position, time and elevation continuity in GPX 1.1 tracks or FIT activity records locally. Distance never bridges GPX segment boundaries, and each issue includes its original record and coordinates. The SVG route uses no external map tiles and is not a road-distance or survey-grade measurement.

Key features

  • Read GPX 1.1 multiple tracks/segments and FIT activity records in the browser
  • Compute per-segment WGS84 great-circle horizontal distance, positive elapsed time, ascent and descent
  • Detect reversed/equal times, missing elevation/time and GPS jumps above a chosen speed threshold
  • Draw local SVG route and distance-based elevation/speed profiles without external map requests
  • Locate issues by track, segment, point, original record, coordinate and timestamp
  • Choose display distance units and export formula-safe CSV plus versioned JSON report

How to use

  1. Choose a GPX 1.1 or FIT file up to 5 MB, or load the example GPX.
  2. Set a GPS-jump speed threshold in km/h and rerun the analysis.
  3. Review total and per-segment horizontal distance, positive elapsed time, ascent and descent.
  4. Compare the route and elevation/speed charts with the located issue table.
  5. Save per-point CSV or a JSON report containing the threshold and calculation units locally.

Use cases

  • Check whether an abrupt GPS spike inflated a running route's total distance
  • Find missing elevation samples in a hiking GPX file
  • Inspect reversed timestamps in a FIT activity record
  • Compare lengths and elevation change across multiple GPX tracks and segments

Frequently asked questions

How is distance calculated?

Adjacent WGS84 coordinates are joined with haversine great-circle horizontal distance using mean Earth radius 6,371,008.8 m. Segment boundaries are not joined. Elevation, road bends and GPS error are not corrected, and the raw total still includes steps marked as GPS-jump candidates.

What counts as a GPS jump?

When adjacent timestamps have a positive interval, calculated mean speed from horizontal distance must exceed your km/h threshold. Missing or reversed time prevents speed and jump classification for that step. Choose a threshold appropriate to your activity.

Which FIT data is used?

Position, time and elevation from CRC-valid FIT Activity record messages are used. Records without position are counted and skipped. FIT lap/pause events are not split into new segments; device speed is ignored in favor of speed recomputed from coordinates and time.

Are GPX routes and extensions analyzed?

Only GPX 1.1 trk/trkseg/trkpt are analyzed. Independent rte routes, wpt waypoints and manufacturer extensions are not merged into the track. Standard trkpt latitude/longitude and optional ele/time are used.

How are ascent, descent and missing elevation handled?

Elevation change is counted only when both consecutive points in the same segment have elevation. Missing values are flagged and never interpolated. No elevation noise filter is applied.

Is the file uploaded?

No. The file is read and analyzed in the current browser tab. No external map tiles or conversion API are used. CSV and JSON are created only when you click a download button.

Privacy

Location and movement times can be sensitive. The source file and report remain in the current browser tab; there is no automatic upload or persistent storage. Review who receives an exported file before sharing it.

References

Related Tools

Timestamp ConverterTime Series Gap AuditorMy IP AddressWasm Module InspectorHreflang Matrix CheckerAST Query PlaygroundContainer Build GraphDependency Graph ExplorerSemver Range LabCron Schedule AuditorPatch Review WorkbenchSource Map ExplorerLocalization Catalog AuditorStructured Data ReviewerHTTP Archive AnalyzerWebhook Signature LabProtobuf Schema WorkbenchGraphQL Schema LabAvro Schema EvolutionLocal SQL WorkbenchSchema Form BuilderMesh Repair WorkbenchPipe Network LabRobot Arm Kinematics LabThermal Network LabBeam Response LabGear Train DesignerTolerance Stackup LabSensor Calibration FitPCB Stackup PlannerDigital Filter DesignerNetwork Reachability MapSun Shadow MapGPS Error SimulatorDigital Logic SimulatorAnalog Circuit LabMechanism Linkage LabAnalysis Mesh GeneratorOpenAPI Contract InspectorDatabase Migration PlannerDimensional Equation CheckerTruss Force LabBoolean Minimization LabControl Response LabQueueing Simulation LabGeofence Event SimulatorCoordinate Reference LabSurvey Traverse LabRaster Classification LabChoropleth Design LabMap Print ComposerRaster Reprojection LabElevation Contour MakerTerrain Viewshed LabWatershed DelineatorMap Tile PackagerText File Encoding WorkbenchFilesystem Portability AuditorSBOM License ExplorerFile Signature Auditornpm Lockfile Conflict ResolverSource Secret AuditorOffline Web Package BuilderCertificate Chain InspectorTorrent Metainfo InspectorChunked File PackagerEncrypted File VaultDuplicate File FinderArchive WorkbenchDesign Token ManagerSpacing Token DesignerResponsive Type SystemPackaging Dieline DesignerSVG Icon Sprite PackerFlex Layout PlaygroundCSS Grid PlaygroundRegex Equivalence LabMarkdown Repository AuditorLog Template MinerResponsive Layout AuditorEmail Template PreviewInternal Link GraphState Machine TesterPetri Net SimulatorGit History VisualizerCurl Request WorkbenchBinary Protocol DesignerHex File EditorBinary Patch WorkbenchFile Signature WorkbenchAPI Mock SandboxSchema Column MapperEvent Log SessionizerER Diagram DesignerStratified Data SplitterData Lineage DesignerDecision Tree LabData Anonymization WorkbenchData Expectation RunnerJSON Schema ValidatorBasket Pattern AnalyzerRobots Policy TesterSEO HTML AuditorAccessibility Structure AuditorSyndication Feed WorkbenchIndexNow Payload BuilderCrawl Log AnalyzerCSP Policy WorkbenchSearch Performance AnalyzerCSV Formula Risk AuditorCORS Response SimulatorCache Header LabCookie Policy InspectorWeb Vitals Trace LabSitemap Health AuditorBatch File RenamerFile Manifest VerifierFolder Space MapFolder Difference ReviewerRoute Order OptimizerGeoJSON Map EditorPolygon Overlay LabCartographic Label PlacerSpatial Table JoinGeoJSON Topology AuditorTrack Privacy RedactorCSV Table JoinCSV Pivot WorkbenchScientific Data ProfilerTabular Cleaning WorkbenchRecord ReconciliationData Dictionary BuilderCanonical Graph AuditorRedirect Plan TesterHTTP response and ping reference testBrowser and System InformationJSON ↔ YAML ConverterXML ↔ JSON ConverterHTML FormatterJavaScript MinifierMock Data Generator.gitignore GeneratorLicense GeneratorUser-Agent ParserPassword Strength CheckerCode to ImageXML FormatterHTTP Status Code LookupMIME Type LookupJS & SQL String EscapeCSS Box Shadow GeneratorCSS Gradient GeneratorIndent ConverterNumber Base ConverterUnicode Escape ConverterUnicode InspectorJSON Structure DiffMarkdown Table GeneratorBase64 EncoderJSON FormatterURL EncoderSQL FormatterCron Expression GeneratorRegex TesterUUID GeneratorHash GeneratorJWT DecoderHTML Entity ConverterMarkdown PreviewCSS MinifierMeta Tag GeneratorJSON ↔ CSVCase ConverterImage to Base64
Explore all Dev Tools tools →Image/Media →Text/Convert →Life/Fun →