ConnectStats is an activity viewer for Garmin Connect. It lets you review your activities, search, analysis, plot and see basic statistics on all your data collected in garmin connect from your iphone or ipad. You can read some of the motivation behind the app here or check the blog

This app is open source on github


  • Detailled report on your activities, with
    laps break down, map gradient, graphs and statistics
  • Use gradient color to visually see on the map your heart rate, speed, power or cadence
  • Calendar view of your activities
  • Activity search
  • Monthly/Weekly summary statistics of your activities
  • Year to date or Month to date statistics
  • Monthly/Weekly/Detailled Historical report and graphs on any collected data
  • Display scatter plots, trend lines for both historical and track data.
  • Best Rolling Plots, histograms.
  • Support multiple garmin connect account simultaneously with multiple profiles.
  • Support most activity types, including support for lap swimming activities from GarminSwim or Forerunner 910
  • Display the location name for your activities.
  • Derived metrics (stride length, Power kJ,…),
  • Calculated and auto laps for arbitrary distances or time. Let’s you see you split time or distance, fastest km, etc
  • Display time in zone for power and heart rate. Zones are downloaded from garmin connect.
  • Best Rolling plots and lap for HR, pace and power (Critical Power Plot)

Goal of the Program

  • Goal is to provide convenient and full access to all our data from your mobile device.
  • The app was tested with data from forerunner, garminswim, garmin edge, garmin fenix and garmin fit app.
  • It’s intended to handle large numbers of activities (tested with 2000 activities and with activities up to 6h long). For such large archives the initial download can be a bit long, especially if you have an older phone.
  • The app will not let you record any activities, but only display data uploaded from Garmin Connect.

Fist Use

  • when you start the program you will be prompted for your user name and password.
  • the app will then start downloading activities from garmin connect.
  • Note that this process can be quite slow if you have a lot of activities. For instance, 600 activities can take up to 3min on iphone 4, but much less than 1 minute on an iphone 5.
  • You can interrupt the process at any time and it will restart where it left it when you restart the app and start refreshing.
  • While it’s downloading you should be able to look at already downloaded activities but the performance will be slower than after full download completed. If any error occur during that process restart the app and it should restart the download where it left of.
  • If you have issue connecting check the trouble shooting section

How to use it

  • You can refresh by pulling down the activity list
  • You can navigate the different tabs and touching most data will let you drill down on that number.
  • You can touch a graph or the gear button to rotate through the different graphs options or bring in the graph full screen.
  • You can reload an activity to update changes in garmin connect by pulling down on the detail tab
  • You can see full history of any field by selecting the field name in the stats page
  • You can drag to the right the detail view to reveal the sharing page for Google earth or facebook/tweater sharing
  • You can tap the name of an activity to rename it. This will rename it also on Garmin Connect.
  • If an activity was deleted on garmin connect, select it in the app and pull down to refresh. It will then delete it from the app.
  • If you setup the withings service in the settings page, you should see in the details page the closest weight to that date and in the stats an extra scatter plot versus your weight. Currently to refresh you’ll have to go back to the settings page and press refresh. More graphs, auto refresh, etc will be added in later versions.
  • You can setup strava synchronization. In that case any activity you display in the detail pane will automatically be synchronized to strava

Disclaimer & Acknowledgements

  • This app is not associated in any way, shape or form to Garmin. I am just an independent hobbyist who built this mostly for myself and making it available to others. This is using internet services provided by garmin which display the following license.
  • Withings is a registered trademark and service mark of Withings, Inc. ConnectStats is designed for use with the Withings platform. This product is not put out by Withings, and Withings does not service or warrant the functionality of this product.
  • The icons were bought form shutterstock and glyphish
  • If I did something inappropriate please let me know and I’ll correct it.

Known Issues

  • Some users initial login fails despite correct name/pwd – investigating, work around seems to uninstall/reinstall the app
  • Rename an activity will failed if you use non standard characters
  • Speed and Pace graph in the details window are identifcal – fixing

If you have a crash or issues with some activities you can send a bug report from the settings tab

  • Latest version crashes ★★★★★
    Latest version crashes with iOS 11.2.6. It crashes when “analyzing Feb 2018”
    By d_lerd_ler for Version 4.1
  • Straight up excellent ★★★★★
    I don’t write many reviews but ConneftStats deserves one. I use Garmin connect and strava but to compare volume and count connect stats is superior. It takes Garmin data direct and although it’s displays appear basic, they are highly detailed. It will give you detail and more insightful information about your exercise than the other app but it isn’t a replacement to them. It’s not replacing strava or Garmin Connect. I love this app and would suffer less understanding about my workouts without it
    By Lives in Houston for Version 4.0.4
  • So much data & easily understood ★★★★★
    This app provides all the information I wish I could get from Garmin and Strava. I was just looking for something that would add up my monthly mileage, and I got so much more. The best part is that it's automatic and, if you choose, it pulls from more than one source. You can see maps and elevation and heart rate charts, and it digs deeply on those. IYou also get weather for each run, and if you have a Bluetooth scale like I do, you'll get your weight for the date listed right in your run log. ,Of course, you also get the monthly totals I was looking for. This app may be the most underpromkted running app worthy of trying.
    By Overnightwalker for Version 4.0.4
  • Love it. ★★★★★
    I’m not a racer, triathlete, or anything approaching competitive on my bike, but I do like to analyze my recreational and commuting rides, about 8,000 miles a year, and this app is my favorite for pulling it all in. This is what Garmin should have. If you want to go all geek on your cycling, this is the app to try, given that it pulls from Garmin and Strava, the latter making it computer agnostic.
    By Hodag_64 for Version 3.7
  • Great App. ★★★★★
    ConnectStats provides a traditional way to look at all of your running, biking, and swimming data. A great complement to Garmin Connect.
    By preutlin for Version 3.7
  • The Best ★★★★★
    Been using for yrs!
    By BTabor for Version 3.7
  • Very complete ★★★★★
    Very nice addition to the garmin app, which is much simpler but with way less options of reading the data. These is a nice app if you do some serious (or semi-serious) running and want to analyze your runs deeper than what garmin or other watch-related apps allow you to do
    By Gangelo for Version 3.6.2
  • Great App ! ★★★★★
    Very useful app. I use it to track my kayaking and hiking workouts. I especially like the satellite map and the elevation profile features.
    By DCOBD for Version 3.6.2
  • Love this app! ★★★★★
    Been using for years. All of my cycling statistics in one great app. Love it!
    By Patman63 for Version 3.6.2
  • Excellent App ★★★★★
    This little program lets you have quick access to your data and view either big picture (many years) or details with ease. It's not as glitzy as the main apps but a very nice addition to the standard Garmin or Strava visualizations.
    By UP Snowblower for Version 3.6.2

Recent Posts

Similar Summary Stats, Different effort…

While I still need to figure out how to use the new power field from Stryd, Running Power is already a useful other way to compare the type of effort of different activities. Since I got the new pod, I have been motivated to go out run more, and looking at the last few weeks, I realised that a few runs had interestingly some similar headline stats but very different feel. So I decided to see how ConnectStats displayed the differences.

In the summary, you can see the first two have very similar heart rate average, but very different pace, while the run in Shanghai has similar pace as the first one, but higher heart rate. The run in the new territories run (Hong Kong) is also interesting to compare to the Putney run (Richmond Park). Let’s dive in.

Comparing Activities in ConnectStats

You can easily compare two activities in ConnectStats by sliding the activities in the list and selecting mark. The activity will then shows in the background of the new one you look at.

A mark will be displayed to remind you which activity is the “compare” activity.

Same Heart Rate, Different Pace

The first two run to compare have an average of 176 and 175 HR respectively but a pace of 4:50 and 5:30. You can of course just look at the pace plot on top of each other, but it’s a bit messy

Note that the map will show you both activities, useful when they are on the same location, but less when they are quite different route, as here. The pace graph clearly shows that for large part of the run the pace was faster, but not very insightful. A much better way to compare the effort is to look at the best rolling plots.

You can see that it was definitely a higher power effort, but the pace shows that the slower run had more constant pace, flatter curve. The heart rate plot shows that the max effort (left part of the curve) was similar, but the tail was lower (steeper curve on the right for the faster curve). Overall a less consistent effort, but where I pushed more at time and resulted in the same average heart rate but very different pace. The power curve interestingly shows quite a higher effort. These were two different runs, the slower one was a commute run, with a backpack and on city streets with more stop and go at light. It was also early morning, so typically not when I do my best performances…

Same Pace, Different Heart Rate

We can also compare that same activity to another run a week ago with same pace (4:49 and 4:50) but higher heart rate (181 and 176 respectively).

You can see the activity being compared to (lighter colour) has clearly higher heart rate effort through out. One interesting observation is that the lower heart rate run has steeper start, which means there were a few period where I pushed rather than a continuous effort .The pace on the other hand has a quite a different profile between the two runs

The lower heart rate run has a much steeper shape, while the other one has a quite flat profile, meaning a more constant effort.

Now for the new measure of power, again interestingly the raw graph comparison is quite useless. Hard to really see much in the difference of the effort.

 But the best rolling graph again shows a very interesting story, if somewhat consistent with the other. While the effort was about the same, the higher graph shows a much more varied effort: more power on shorter time period, but converge at the end for the overall time.

The higher heart rate was just a run where I tried to push much more through out and consistently. Quite interesting that it resulted in the higher heart rate…

If you wonder why the little bump around 5min, me too! this is an annoying little bug or quirk which I haven’t yet figured out!

Time ahead

A last graph that maybe of interest, even though in this specific case, maybe less interesting in this specific case, but it shows you the time ahead (or behind) from the compared activity. The big straight drop are pauses. So you can see that I took quite a few pauses in the lower heart rate run, and it had period where I was catching up (upward slopping) and period where I was getting behind (downward slopping). On the map, the area where I am ahead are blue, and then goes to red when I am behind. Which makes it easy to see where you are behind or ahead, especially when the run is at the same place (not the case here).

Hope you found this interesting. Happy Training.


  1. ConnectStats now supports #RunningWithPower for @Strydrunning! 9 Replies
  2. Another turning point for ConnectStats? 21 Replies
  3. ConnectStats is now open source 1 Reply
  4. Garmin API Change: Good News Bad News 5 Replies
  5. ConnectStats development continues… 18 Replies
  6. Fixed and new version 3.6.1 on the way to the app store 24 Replies
  7. Garmin connection issue again 19 Replies
  8. 2016 year review and double counted activities 2 Replies
  9. Update on development and new API issues 21 Replies