Extract Distance, Pace, Elevation, and Heart Rate from a Garmin Connect Activity Screenshot
Typing Garmin activity metrics from a screenshot into a spreadsheet takes 2 minutes per image — this extracts six fields in 5 seconds.
5s per screenshot · Up to 99% accuracy on clear screenshots · No account login needed
What You Can Pull from a Garmin Connect Activity Screenshot
With Custom Column Extraction, you type the field names — and the AI locates each value regardless of activity type, unit preference, or layout density.
| Field | Run Example | Ride Example |
|---|---|---|
| Distance | 10.5 km | 42.3 km |
| Duration | 54:32 | 1:42:15 |
| Avg Pace / Speed | 5:12 /km | 24.8 km/h |
| Elevation Gain | 95 m | 312 m |
| Avg Heart Rate | 152 bpm | 128 bpm |
| Cadence | 82 spm | 76 rpm |
* Garmin Connect has supported full account data export for years — individual activity FIT/TCX/GPX files, per-split CSV, and a full account archive available via Settings > Account Information > Export Data. If your account is still active, that export is more complete and we recommend it. This page is for the scenarios where you do not have account access: a friend or coach shared a screenshot, your old account is deactivated, or you have switched platforms.
Garmin Packs More Metrics per Screen Than Any Fitness App — That Density Breaks Traditional OCR
A Garmin activity summary displays 10+ metrics plus a map and elevation profile. The problem is not finding data — it is extracting the right fields from a layout where half the text is intentionally muted.
Why the Garmin Layout Breaks Position-Based Extraction
Primary and secondary stats use dramatically different visual weight. Distance, Elevation, and Duration appear in large bold type. Cadence, Training Effect, and Recovery Time sit below in smaller, grey, muted text. Traditional OCR engines prioritise prominent text — the small secondary values are systematically missed or misread.
The map + elevation profile consumes the top half of the screenshot. On mobile, the elevation graph and map push the stat cards below the fold. A smartphone screenshot captures the entire scrollable page — but standard OCR treats the map labels (street names, elevation markers) as extractable data, polluting the output with irrelevant values that look like activity metrics.
Manual Garmin export workflows are fragmented. Garmin Connect offers per-activity FIT/TCX/GPX download, a 20-row-at-a-time CSV export, and an account archive — but as users on the Garmin forums describe it, "now, I guess we are back to circa 1990's and I must do things manually." None of these export methods work when the data exists only as a screenshot.
How Semantic Extraction Reads Every Metric by Label, Not Font Size
Name the columns — AI finds values by label, ignoring visual weight. Define "Distance, Duration, Avg Pace, Elevation Gain, Avg Heart Rate, Cadence." The AI locates each by its text label — "Cadence" paired with "spm" or "rpm" — regardless of whether it appears in 24px bold or 12px grey. Large-font primary stats and muted secondary stats are treated identically.
Handles mixed units across activities automatically. A run shows km and min/km; a ride shows km and km/h; a US-based account shows miles and ft. The AI reads the unit label alongside each value without pre-configuration. The map area is recognised as non-extractable and ignored.
Works from the shared image — no Garmin account required. A coach collects screenshots from five athletes training for a marathon. Each athlete uses different unit settings. Each screenshot shows a different activity type. Upload all at once, define the column set once, and the AI extracts each image independently — no account credentials, no API, no OAuth flow.
From a Garmin Activity Screenshot to a Structured Training Log in Three Steps
Upload the Activity Screenshot
You have a Garmin Connect activity screenshot — a friend shared their morning run, or a teammate posted their weekend ride. The image captures the full Garmin summary: a map with elevation profile at the top, stat cards below showing Distance, Duration, Avg Pace, Elevation Gain, and more. Drag it into the upload area — JPG, PNG, or WebP. Multiple screenshots from different athletes go in the same batch.
Name the Fields You Need
Type Distance, Duration, Avg Pace, Elevation Gain, Avg Heart Rate, Cadence. The AI scans the screenshot, identifies each metric by its text label, and reads the corresponding value. The map and elevation profile on the top half are recognised as non-extractable visual content and ignored. If the screenshot uses miles and feet, the AI reads the unit suffix and preserves it. If it uses km and m, it reads those too — no settings change required between activities.
Download a Clean Training Log
Processing takes 5 seconds per screenshot. The output is one XLSX file: each row is one screenshot, each column is one field you named. If you uploaded three screenshots — a 10K run, a 42 km ride, and a 5 km recovery jog — you get three rows with all six fields filled. No manual transcription, no per-activity formatting (~24x faster than looking up, typing, and verifying each metric by hand).
When It Works Best — and When to Be Cautious
Understanding these boundaries helps you get consistent results from Garmin activity screenshots.
When It Works Best
Clear, full-resolution Garmin activity screenshots. Machine-rendered metrics achieve up to 99% accuracy on primary fields. The model handles the standard summary layout reliably.
Standard label—value pairings with unit suffixes. Every metric is labelled — "Distance" with km/mi, "Elevation Gain" with m/ft — so the AI distinguishes fields by label, not position.
Mixed batch across activity types and unit preferences. Upload a run (metric) and a ride (imperial) in one batch. Same column set, same model, one spreadsheet.
When to Be Cautious
Screenshots compressed through messaging apps. Garmin screenshots shared through WhatsApp or SMS lose resolution. Small muted text like Cadence may become unreadable.
Colour-coded metrics without text labels are not readable. Garmin displays some metrics as colour rings without numeric labels — such as Training Load shown as a coloured ring without a percentage. The AI extracts visible text-labelled values only.
Not a replacement for Garmin's official export. If you have account access, Garmin's built-in export provides FIT/TCX/GPX files and a full historical archive — far more data than any screenshot. Screenshot extraction is for when account access is unavailable.
Frequently Asked Questions
Can I extract data from a Garmin Connect screenshot without logging into the account?
Yes. The tool reads whatever is visible in the image — no Garmin account login, no API key, and no OAuth required. If a teammate shares a screenshot of their morning run, you upload it, name your columns, and the AI extracts the visible metrics. However, if you have account access, the official export produces a more complete dataset with FIT/TCX/GPX files.
How does the AI distinguish Elevation Gain from Distance on the crowded Garmin activity screen?
The AI reads the label—value—unit triplet. Distance is labelled "Distance" with km or mi. Elevation Gain is labelled "Elevation Gain" with m or ft. Both appear in the same stats row, but the model identifies each by its textual label, not screen position. Numbers without a Distance or Elevation Gain label are not reported as either field — preventing map labels from polluting the output.
Can the tool extract Cadence and Avg Heart Rate when they appear in small grey text on the Garmin activity summary?
Yes. Unlike traditional OCR which prioritises large, bold text, semantic extraction finds fields by label. On a Garmin activity screenshot, Cadence is labelled "Avg Cadence" with spm or rpm — regardless of font size. Avg Heart Rate is labelled "Avg HR" with bpm. The model reads the label—value relationship, so muted secondary stats are captured alongside large-font primary metrics.
Does it work with screenshots in imperial (miles, feet) and metric (km, m) units mixed in the same batch?
Yes. The AI reads the unit label alongside each value. If one athlete's Garmin account uses miles and another uses kilometres, the model captures the number and preserves the unit as extracted. A screenshot showing "6.2 mi" for Distance is read identically to one showing "10.5 km" — the unit suffix determines what the number represents. You can normalise units in the output spreadsheet or keep them as-is. The same applies to Pace (min/mi vs /km) and Elevation (ft vs m).
Why would I use screenshot extraction instead of Garmin's official export?
You would not — if you have account access. Garmin Connect provides individual activity FIT/TCX/GPX downloads, a per-split CSV export, and a full account data archive that includes all historical data. These official methods are more complete than any screenshot. Screenshot extraction is for the scenarios where the official export is not available: a screenshot shared by a teammate or coach, an old account you can no longer access after switching platforms, or a device that is no longer paired. The two methods serve different access scenarios, and we recommend the official export whenever possible.
Read more: Batch processing health app screenshots including activity data into a single structured spreadsheet · General guide to extracting data from screenshots including app UIs, dashboards, and health summaries
Return to the health and fitness app overview — see all supported apps and their extraction capabilities.