Home › Developer Tools › GPX Viewer

GPX Viewer

Open a GPX file from your watch, phone or bike computer to see the route on a map with its distance, moving and elapsed time, pace, speed, elevation gain and an interactive elevation profile. Hover the chart or the track to see the values at any point. Everything stays in your browser.

Last updated:

Splits

Details

Advertisement
Advertisement

How to use the GPX Viewer

  1. Open your GPX file: press Open GPX file or drop it on the map. A sample trail run is loaded so you can explore first.
  2. Read the summary: the cards show distance, moving and elapsed time, pace, speed and elevation gain.
  3. Explore the profile: hover or tap the elevation chart to see the distance, height, time and speed at that point; the orange marker shows where it is on the map.
  4. Change the view: switch to the Speed or Heart rate chart, color the track by speed or elevation, and pick metric or imperial units.
  5. Check your splits per kilometer or mile, then download the points as CSV or the track as GeoJSON if you need them elsewhere.

How the GPX statistics are calculated

StatisticMethod
DistanceSum of haversine distances between consecutive points: d = 2R·asin(√(sin²(Δφ/2) + cos φ₁·cos φ₂·sin²(Δλ/2))) with R = 6,371,008.8 m
Elapsed timeLast timestamp minus first timestamp
Moving timeSum of intervals where distance ÷ time ≥ 0.28 m/s (about 1 km/h or 0.6 mph)
Average pace / speedMoving time ÷ moving distance, and its inverse
Max speedHighest speed averaged over a window of at least 10 seconds, which filters single-point GPS spikes
Elevation gain / lossElevation smoothed with a 5-point moving average; climbs and descents are counted once they exceed 2 m (hysteresis). The raw sum of all positive and negative steps is shown too
SplitsThe track is cut exactly at every full kilometer or mile by interpolating between points; time is moving time within each split

What is inside a GPX file

A GPX file has three kinds of data. Waypoints (<wpt>) are single named places such as a trailhead or a campsite. Routes (<rte>) are planned paths made of turn points, usually without times. Tracks (<trk>) are what your device recorded: one or more segments (<trkseg>) of track points (<trkpt lat="…" lon="…">) with optional <ele> in metres and <time> in UTC. Fitness devices add sensor data inside <extensions>, most commonly Garmin's TrackPointExtension with hr, cad and atemp.

  • A new segment starts when recording was paused and resumed or the GPS signal was lost; the distance across the gap is not counted.
  • Recording interval matters: watches in smart or 1-second recording mode give smoother profiles than phones that log every few seconds.
  • Planned routes exported from route planners have no timestamps, so only distance and elevation can be shown.

Frequently asked questions

What is a GPX file?

GPX (GPS Exchange Format) is an XML format for GPS data. It stores waypoints, routes (planned paths) and tracks (recorded paths), where each track point has a latitude and longitude and usually an elevation and a timestamp. Garmin, Strava, Komoot, AllTrails, Suunto, Wahoo and most fitness and mapping apps can export GPX.

How is the distance calculated?

Each step between consecutive track points is measured with the haversine great-circle formula on a sphere with the mean Earth radius of 6,371 km, and the steps are added up. Gaps between separate track segments are not counted. Results can differ slightly from your device, which may use barometric data, filtered points or a different point density.

Why is my elevation gain different from Strava or Garmin?

Elevation gain depends heavily on noise filtering. Raw GPS altitude jitters up and down by a few metres, and adding every tiny climb inflates the total. This viewer smooths elevation with a 5-point moving average and only counts changes of at least 2 m, and it also shows the raw sum. Apps that use barometric altimeters or terrain models will report different totals.

What is the difference between moving time and elapsed time?

Elapsed time runs from the first to the last timestamp, including stops. Moving time only counts the intervals where you moved faster than about 1 km/h (0.28 m/s), so waiting at traffic lights or taking a break is excluded. Average pace and speed use moving time; the overall speed below it uses elapsed time.

Is my GPX file uploaded?

No. The file is parsed in your browser and never sent anywhere, which keeps your home address and routines private. The only network requests are for the OpenStreetMap background tiles of the area you are viewing; untick Basemap to stop them.

Can it open FIT, TCX or KML files?

TCX files from Garmin open directly. FIT files are binary and need to be exported as GPX from Garmin Connect, Strava or your app first. KML is Google Earth's format and should be converted to GPX.

Are all the tools on FreeToolCabin tested for quality and accuracy?

Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.

Related tools

GeoJSON ViewerView GeoJSON on a map, inspect and edit properties, validate against RFC 7946 and export.Running Pace CalculatorCalculate pace and predict race times.Speed Distance Time CalculatorSolve for speed, distance or travel time and get your arrival time.What Are My GPS CoordinatesSee your latitude and longitude in decimal and DMS, with accuracy and maps.GPS Route TrackerRecord a walk, run or ride on a map: distance, time, pace, elevation, GPX and KML export.Map Distance CalculatorClick points on a map to measure a path in km, miles or nautical miles, with GPX export.Running Route Distance CalculatorClick on a map to draw a running, walking or cycling route and get distance, laps and finish time.JSON to Excel ConverterTurn JSON into a styled .xlsx spreadsheet; nested arrays become their own linked sheets.JSON to CSVConvert JSON data to CSV for spreadsheets.CSV to JSONConvert CSV data to JSON with live preview.Excel to CSVConvert XLSX spreadsheets to CSV.CSV ViewerOpen a CSV or TSV file as a sortable, filterable table.Excel Viewer (XLSX / XLS)Open XLSX, XLS and ODS spreadsheets in your browser without Excel.Line Ending ConverterConvert text and files between CRLF, LF and CR line endings.Markdown to HTMLConvert Markdown to clean HTML with a live editor.XML to JSONConvert XML to JSON with validation.Text Encoding ConverterDetect and convert text file encodings like UTF-8, UTF-16 and Latin-1.JSON ViewerExplore JSON as a collapsible tree, search keys and values and copy any node's path.TTF to WOFF2 ConverterConvert TTF and OTF fonts to WOFF2 or WOFF and get a ready @font-face CSS snippet.Chmod CalculatorConvert Linux file permissions between checkboxes, octal (755) and symbolic (rwxr-xr-x) notation.JSON to TypeScriptGenerate TypeScript interfaces or types from JSON, with nested types and optional fields.Morse Code TranslatorTranslate text to Morse code and back, then play it as sound or a blinking light, or save a WAV.HTML Table GeneratorBuild HTML tables in an editable grid with styles, header rows, CSV import and live preview.Hex to Text ConverterConvert hex to text and text to hex with UTF-8 support and space, 0x, \x or comma formats.JSON to XML ConverterConvert JSON to well-formed XML with attributes, arrays and pretty print.JSON to YAML ConverterConvert JSON to clean YAML as you type, with indent, quoting and sort options.YAML to JSON ConverterConvert YAML to pretty or minified JSON, with errors pinned to the exact line.HTML to Markdown ConverterTurn HTML or pasted rich text into clean Markdown with tables and live preview.Markdown Table GeneratorBuild Markdown tables in a grid or paste from Excel/CSV, with alignment and preview.JSON ValidatorCheck JSON with the exact line and column of each error, fix tips and one-click auto-fix.Image to Base64Convert images to Base64 data URIs, CSS backgrounds and HTML img tags in your browser.Base64 to ImagePaste a Base64 string or data URI to preview, identify and download the image.JSON CompareCompare two JSON documents and see every added, removed and changed path.Hex to DecimalConvert hex to decimal instantly with steps and signed mode.Decimal to HexConvert decimal to hex instantly with steps and signed mode.Binary to DecimalConvert binary to decimal instantly with steps and signed mode.Decimal to BinaryConvert decimal to binary instantly with steps and signed mode.Two's Complement CalculatorDecimal to two's complement binary and back for 4-64 bits, with invert-and-add-1 steps.XML ValidatorCheck if XML is well-formed, see the exact line and column of each error and pretty-print it.Wildcard Mask CalculatorConvert a subnet mask or CIDR to a wildcard mask for ACLs and OSPF, with range and binary.CSV to VCF ConverterConvert a contacts CSV into a vCard (.vcf) file, mapping columns to name, phone, email and more.CSV to YAML ConverterConvert CSV rows to a YAML list of mappings with type inference and delimiter detection.Endianness ConverterSwap byte order of 16, 32 and 64-bit hex values and see big- and little-endian integers and floats.Excel to SQL ConverterTurn an Excel sheet into CREATE TABLE and INSERT statements for MySQL, PostgreSQL, SQLite or SQL Server.Excel to VCF ConverterTurn an Excel contact list into a vCard .vcf file for iPhone, Android, Google or Outlook.File to C ArrayConvert any file into a C or C++ byte array header, like xxd -i, with const and PROGMEM options.Image to C ArrayConvert images to monochrome, RGB565 or RGB888 C arrays for OLED, LCD and TFT displays.JSON Merge ToolDeep-merge two or more JSON objects with array concat, replace or union and a conflict rule.JSONL to CSV ConverterConvert JSON Lines / NDJSON to CSV with flattened columns; streams large files locally.PHP Unserialize OnlineDecode PHP serialize() strings to JSON, a tree or print_r, and serialize JSON back to PHP.SQL Dialect ConverterTranslate SQL between MySQL, PostgreSQL, SQLite, SQL Server, Oracle, BigQuery and more.TSV to JSON ConverterTurn tab-separated data pasted from Excel or Sheets into a JSON array or keyed object.XLS to XLSX ConverterConvert old Excel 97-2003 .xls workbooks to modern .xlsx files in your browser, several at once.XML to Excel ConverterTurn repeating XML elements into an .xlsx spreadsheet with attributes and nested data as columns.XSD to XML Sample GeneratorGenerate a sample XML document from an XSD schema, with types, attributes and namespaces.YAML to CSV ConverterTurn a YAML list of objects into CSV with dot-notation columns, custom column order and download.DOCX to Markdown ConverterConvert Word .docx to clean Markdown with headings, lists, tables, links and images in a ZIP.ES6 to ES5 ConverterTranspile modern JavaScript (ES2015+) to ES5 with Babel: targets, module format and loose mode.JavaScript Object to JSONTurn JS object literals and Python dicts into valid JSON: quotes keys, fixes commas and values.JSON Graph VisualizerSee JSON as an interactive node graph with zoom, collapse and search; export PNG or SVG.KML ViewerOpen KML and KMZ files on an interactive map: placemarks, paths, polygons, folders, export.MySQL to PostgreSQL ConverterConvert MySQL dumps and CREATE TABLE statements to PostgreSQL: types, AUTO_INCREMENT, ENUMs, quotes.Text to CSV ConverterTurn space-aligned, fixed-width, pipe or tab separated text into clean CSV with a live preview.VCF File ViewerOpen vCard .vcf files as contact cards with photos, search and duplicate check, export CSV.XML ViewerBrowse XML as a collapsible tree with search, XPath of any node, attributes and big-file support.XML to CSV ConverterConvert XML to CSV: detects repeating records, flattens nested data, pick your columns.CSV to XML ConverterConvert CSV to well-formed XML with custom root and row names, escaping and pretty print.TOML to JSON ConverterConvert TOML to JSON and JSON to TOML with a full v1.0 parser and clear error lines.
See all 129 Data & File Format Converters →