Garmin Connect activities to dashboard

Garmin's activity export, minus the double dashes.

Export your activity list from Garmin Connect, drop the CSV here, and three problems disappear at once. The double dash Garmin writes for a missing value stops being treated as text, pace values in M:SS form are parsed as durations rather than left as strings, and numbers carrying thousands separators are read as numbers so distance and calories can actually be summed.

Prefer the full explorer? Open the app, or start from the generic dashboard builder.

Double dashes read as null
The Garmin missing-value marker is recognized so numeric columns stay numeric.
M:SS pace parsed
Avg Pace and Best Pace become real durations you can average and compare.
Thousands separators stripped
Calories, distance and stress score are read as numbers, not text.
Entirely local
No account, no Garmin connection, no upload. The file is read in this tab.

Three columns, three different ways to not be a number

Open a Garmin activity export in a spreadsheet and almost every column you care about arrives left-aligned. There are three separate reasons for that and they need three separate fixes. Missing values are written as a double dash, so a single strapless run turns the entire Avg HR column into text. Pace is written as 5:42, which looks like a time but is minutes and seconds per kilometer, and no spreadsheet interprets it that way without help. And larger numbers carry thousands separators, so a 1,250 calorie ride is a string.

The frustrating part is how consistent the file otherwise is. Garmin gives you a genuinely rich set of columns: aerobic training effect, run cadence, stride length, training stress score, best pace against average pace. It is one of the most detailed activity exports available. All of it is unusable until the three formatting problems above are dealt with, which is why so many people conclude the file is broken and go back to scrolling the web interface.

How to export from Garmin Connect

  1. Open Garmin Connect on the web Sign in at connect.garmin.com. The export lives in the web interface only; the phone app has no equivalent, which is the first thing that catches people out.
  2. Go to Activities, then All Activities Use the left sidebar. This gives you the full paginated list rather than the recent summary on the dashboard home.
  3. Filter to the type and date range you want The filters at the top narrow the list, and the export follows whatever is displayed. Filtering to Running before exporting saves you from a file mixed with every walk your watch auto-detected.
  4. Scroll to load everything you need This is the important one. The list loads more rows as you scroll, and the export only contains what has loaded. Export after ten rows visible and you get ten rows, silently.
  5. Click the export icon and drop the file here The export control is at the top right of the activity list. The CSV downloads directly, and dropping it here fixes the dashes, the pace strings and the comma numbers on load.

Garmin also offers a full account data request under Account Management, which returns a much larger archive of JSON and FIT files. The activity list export is the practical one for a training review.

Try with sample Garmin Connect data (the same columns, 84 rows, no upload needed).

What the dashboard shows

Every panel below is built from a column that is actually in the export, named the way Garmin Connect names it.

  • Distance by week. Summed properly once the thousands separators are gone, split by activity type so cycling volume does not drown out running.
  • Pace trend. Avg Pace parsed as a duration and plotted over time, with Best Pace as a second series so you can see whether the top end is moving too.
  • Heart rate zones by proxy. Avg HR and Max HR distributions, with the double-dash rows excluded rather than counted as zero.
  • Aerobic training effect. Aerobic TE grouped by activity, which is the closest thing in the file to an honest measure of whether a session did anything.
  • Cadence and stride length. Avg Run Cadence against Avg Stride Length, the pair that explains most pace changes for runners.
  • Training stress accumulation. Training Stress Score summed by week, which is the load figure most structured plans are built around.
Sample header row
Activity Type,Date,Favorite,Title,Distance,Calories,Time,Avg HR,Max HR,Aerobic TE,Avg Run Cadence,Avg Pace,Best Pace,Total Ascent,Avg Stride Length,Training Stress Score,Moving Time,Elapsed Time

Garmin export quirks that make the file look broken

  • Missing values are a double dash. Not blank, not zero, not NA. Two hyphen characters sitting in a numeric column, which forces the whole column to text in every spreadsheet.
  • Pace is an M:SS string. A value like 5:42 means five minutes forty two seconds per kilometer. Spreadsheets either leave it as text or, worse, guess it is a clock time and store 05:42 AM.
  • Numbers carry thousands separators. Calories of 1,250 and distances over a thousand units arrive with commas inside them, which makes them strings and, in an unquoted file, sometimes breaks the column count too.
  • The export only includes loaded rows. Garmin paginates by scrolling. Whatever has not loaded is not in the file, so a short scroll gives you a short export with no warning that anything is missing.
  • Time and Moving Time and Elapsed Time all exist. Three duration columns with overlapping meanings. Pick one convention and stick to it, because averaging across them produces numbers that answer no question.
  • Activity Type reflects the device. Auto-detected walks, indoor cycling, and manually created entries all name themselves differently depending on which Garmin recorded them and which firmware it was running.

Handle the dashes, parse the pace, strip the commas. Garmin's export is the most detailed of the four on this hub once those three things are true, and it is the only one that gives you training stress and aerobic effect without a subscription.

Frequently asked questions

What does the double dash in my Garmin export mean?

It is Garmin's marker for a value that does not exist for that activity, such as heart rate on a session recorded without a sensor, or run cadence on a bike ride. It is not zero and should never be read as zero. Because it is text sitting in a numeric column, spreadsheets convert the entire column to text and every formula over it fails. This page reads it as missing and moves on.

How do I make Avg Pace usable?

It has to be parsed as minutes and seconds, not as a clock time. A value of 5:42 is five minutes and forty two seconds per kilometer, so the numeric equivalent is 342 seconds. Excel frequently interprets it as 5:42 in the morning instead, which silently makes every pace comparison nonsense. The dashboard converts pace to seconds internally and displays it back in M:SS.

Why is my activity export missing older activities?

Because Garmin Connect loads the activity list as you scroll and exports only what has been loaded into the page. If you clicked export after the first screen, you got the first screen. Scroll all the way down to the earliest activity you want before exporting. There is no progress indicator for this, and the resulting file gives no hint that it is incomplete.

Which duration column should I use?

Moving Time for pace calculations and Elapsed Time for how long the session took in real life. The plain Time column is generally the timer duration your watch recorded, which sits between the two depending on your auto-pause setting. The important thing is consistency: pick one and use it for every comparison, because mixing them makes a week of training look inconsistent when it was not.

Can I combine this with a Strava export?

Yes, though not automatically. If your watch syncs to both, the same session exists in both files with different column names and different units, since Strava writes meters and Garmin writes formatted distances. Load them separately here to compare, or normalize the columns first and merge. Deduplicate on date and duration afterwards, because activity ids will not match across the two services.

Is any of this sent to a server?

No. The file is parsed in your browser and the dashboard is rendered from memory. Garmin exports carry your training history, resting heart rate patterns and the times of day you exercise, all of which is health data. There is no upload path in this page, no account to create, and nothing persists once you close the tab.

Load a Garmin export with the dashes already handled

84 activities with real Garmin formatting: double dashes in the heart rate column, pace as M:SS, calories with thousands separators and three overlapping duration columns.

Open the sample Garmin Connect dashboard