GOTOES.ORG also makes great software for Mac OSX!

Utilities for Strava and Garmin Connect

Tools to Merge Strava Activities, Manipulate GPS files, Add Timestamps to Route Files, Fix Heart Rate data and Repair incorrect Power Data, strip data fields, adjust GPS Times, shrink GPS file sizes and more!

Free Apps for Garmin and Strava:

At this time, I have five free utilities to help you with your GPS activities.

The first app helps you combine separated GPS tracks. This is useful in situations where you accidentally reset your GPS mid-activity, or if you have an activity that lasts longer than your batteries (and you need to use two different GPS units). This utility will allow you to upload all of the individual files, and it will combine them into one single activity. Currently there are existing tools and methods (like the Excel spreadsheet method) that allow you to combine files. The benefit of our program is that it is much easier, AND it combines the meta-data. The metadata in your TCX files, for example, is recorded by Garmin devices, and it contains the number of calories burned, the distance traveled, the maximum speed, the total time, the activity type, the type of device you used, and the Maximum Speed. Most of the other combine utilities do not properly aggregate that data, and they only let you combine two files at a time. I have recently merged this first tool with the other app that helps you merge heart rate data with GPS files. If you have a tracking device like an iPhone or a Garmin 200 that does not record heart rate data... and a heart rate monitor that produces TCX or FIT files, this tool can merge the two files so the heart rate data is included in your GPS track. Another great feature of this tool is that it can Repair Corrupted FIT files. It also has some logic to repair corrupted GPX and TCX files as well.

The second app helps you add timestamps to GPX files. Sometimes you need to create a course for uploading to your GPS. If you draw a course using Strava's route builder, you will get a GPX file, but it will not have time stamps. This is fine for GPS units where you simply need to move any kind of GPX file into the Garmin/NewFiles folder... (for example, Edge 500, Edge 510, Edge 800, Edge 810, Edge 1000, Edge Touring). However, if you have an ANT+ device, you are going to need to upload the GPX file using both Garmin Connect (the website), and Garmin Express (the application on your computer). Garmin Connect will only accept GPX files with time stamps - hence the need for this app. Once you upload a time-stamped GPX file to Garmin Connect, you can convert it to a course, and then use the "send to device" button to send it to your Forerunner 910XT, Forerunner 310XT, Forerunner 610, Forerunner 210, FR70, Fenix, Forerunner 920XT, etc. People also use this tool to re-create a missing portion of their ride to upload to Strava. Simply draw a track of the missing piece, then add time stamps with this tool so the missing piece fits in with your truncated Strava Track. Finally, merge the created piece with your real ride using the merger tool above.

The third app brings back the ability to upload tracks to Strava via email. Strava deprecated this feature in August 2015, so I decided to bring it back using the Strava API. The tool requires that you create an account with my website. Your account is password protected. Once you create the account, you email your rides to a special email address on my server - and the rides/runs get processed and uploaded to Strava via the API. A unique feature of this tool is that you can actually connect TWO Strava accounts to your one GOTOES Account. This means that you can email one track, and have it go to two Strava accounts. This is useful for tandem teams and/or people with restricted bandwidth or availability of battery to charge an iOS device (Garmin Units tend to use less battery while tracking than a phone).

The fourth app allows you to Convert FIT files to CSV files. This tool is currently in Beta. All it can do at this time is read your FIT file and export the "Record Data" as a CSV file. The "Record Data" is just the data with time-stamps. So, your cadence or power counts as record data.. but the GPS serial number is not record data. I do have future development planned for this tool.

The fifth app allows you to Synchronize Individual Garmin Activities with Strava. You probably already know that it is possible to connect your Garmin Account to your Strava account. That way, you can get wireless uploads from your GPS hassle free. The only problem with this method is that it syncs everything, and it also synchronizes the last 30 days of activity. So, if you do a short activity that you don't want on Strava - and you forget to delete it immediately, this unnamed activity will show up on Strava without you noticing. This tool puts the control back in your hands. Your device will still sync with Garmin Connect - but after the sync you can visit this site (or bookmark the mobile version of the site) - and then select just the activity that you want to transfer. This allows you to keep doing wireless transfers while still retaining control over which activities make it over to Strava. This tool also lets you name the activity before copying to Strava.

What Can I Do With This Tool!

Merge GPS Files:
This tool will allow you to take GPX, TCX, or FIT files and combine them into one single file for upload to Strava. There are two ways that people commonly combine files. The first is if their GPS dies during a ride, and they start another activity (on their phone, for example). In this scenario, the user uploads both ride files, and then combines them into one, single GPS file. This is a concatenation of files. The other thing this tool can do is combine overlapping files. For example, a user has a Wahoo device that records heart rate, and TCX output from their indoor trainer. Both devices record at the same time, but the user wants to merge the heart rate data with the ride data. This tool can do that too! Just select the stream you want from each file.

Repair Corrupted FIT Files:
This tool can read corrupted FIT files that some other tools cannot open. Once you have uploaded a corrupted FIT file, you have the option to repair the file manually. Usually the best choice is to click on the blue "Edit Points" button (you will see this on the next page after you upload). In that window, you can delete any offending points using the trash-can icon.

Accepted File Types:
The tool accepts FIT, GPX, CSV and TCX files. It also accepts ZIP files containing any of these file types. Click for more information about supported file types.

What if my files are too big?
FIT Files can contain A LOT of data. If you are trying to merge all of your files from a one month long trip, please don't use 1-second recording; it is just too much for the tool (or Strava) to handle. If you do have such high-precision files, try uploading them to this tool one at a time and select the option to "Use every xxx Trackpoint" (this option is under the "Do Not Discard Trackpoints" dropdown). Also, export as GPX, which produces the fastest-reading file size. Once you have discarded trackpoints and exported as GPX, re-import all of these files en-mass to merge. If it was a 30 day trip, you don't need to record every single second. Discarding every 5th trackpoint will be FINE.

Instant Access
When you donate via PayPal or Patreon, GOTOES is automatically notified about your donation with the email address you give PayPal or Patreon. GOTOES either creates a new account for you, or if you already have an account (with matching email address), your access will be instantly updated. Learn More Here

Unlimited Access
Patreon allows a monthly subscription. If you cancel your subscription with Patreon, the GOTOES features will continue to be active until the expiration of the term (approximately one month after you cancel). Learn More Here

One Year Term
If you donate the minimum amount, your GOTOES account will have extra features for a year. For every US dollar you donate above the minimum, you gain an additinal 36 days (1/10 of a year). So, if you donate $15 USD, your features will be enabled for one year + 180 additional days (36 * 5).

What does this tool do?

Sometimes, you need to add timestamps to GPS files. This need may arise if you're trying to import a course into your GPS or re-create and activity that you did in real life, but lost the GPS track for. In order to be accepted as a course, some GPS models need to have time stamps as part of the GPX file. Another possible reason is that if you want to use our Combine Tracks Tool; time stamps are required for that tool to work. We use the time stamps to put the files in order (the order in which they occurred). Another use for this tool is to time-shift an activity. This happens if the time of an activity is not recorded correctly and you want to shift the GPS time while keeping all the other values the same. Finally, you can use this tool to "recreate" an activity that was lost by your GPS. You enter the start date/time, and then the average speed, and a moving track will be created for you. Even though the speed won't be exactly accurate, you will at least get credit for the distance you rode. I do not recommend using this tool to cheat. The tool intentionaly creates speed artifacts and signatures that will reveal cheating. The purpose of this tool is to repair rides so you can get the map and the mileage that you did when your GPS bugged out. If you try to take KOMs with this tool, it can be detected easily.

What Can I Do With This Tool?

Convert FIT to CSV:
This tool is the first step in my long-term plan. The idea is to allow the user to download a CSV file from a FIT file so they can modify the CSV file in a spreadsheet program such as Excel, Open Office or Google Sheets. After they modify their CSV file, they can upload it back to my tool and convert the CSV into a FIT file.

This tool is Beta:
At this time, this tool can only read the existing fields that Garmin puts into FIT files. The maximum number of fields in the FIT format is only 256, but there are still a lot of empty fields left. This tool ONLY puts "Record Data" into the CSV. "Record Data" contains all the "stream" information... in other words, measurements that are recorded along with timestamps. For example, your speed is "Record Data," but your GPS Serial Number is not. That is because the Serial Number is a one-time item.

Future Plan:
The first step is for me to read ALL of the data in the FIT file. This means that you will get "Record Data" as well as "Developer Data." Developer Data consists of special fields that can be added into a FIT file - for example using a ConnectIQ app. An Example of this is the Stryd Power meter for running. This device can record your running power - even though that isn't really a native Garmin field. In addition to the "Developer Data" I'd like to reveal much of the other data - such as the device ID, Serial Number, Session Information, Laps, etc. I'm still trying to figure out how to dump all that data into one CSV file in a readable format. The "Record Data" tabulates nicely in a spreadsheet because it is like a long list... but some of the other data is just key-value pairs... so I still need to determine the format for the CSV file. I'd like for the user to be able to make edits to esoteric CSV fields, and then re-upload it to my tool and export a corresponding FIT File.

Further in the Future:
Once I standardize my CSV files, I plan to build up the CSV uploader so you can start importing more data fields. Already, you can upload a CSV file to the Merge Tool and the Time Stamp Tool. Both of these tools will allow you to convert a CSV file to GPX, TCX, or FIT.. so you can upload them to Strava. However, while these tools insert popular fields like heart rate, power, speed, etc... they do not yet insert some of the more esoteric data fields like left/right power balance from power pedals. That is what I aim to improve in the upcoming months.

Accepted File Types:
The tool accepts FIT files only. There is no size-reduction benefit to zipping a FIT file, so this tool ONLY accepts FIT files and nothing else. Click for more information about supported file types.

Why does this tool exist?
Strava provides an automatic sync with Garmin Connect. The problem I was having is that activities would appear on Strava before I got a chance to name them. Furthermore, fragmented (accidental or test activities) would clutter up my feed. I'd have to go back and delete these items later. It was embarassing to get 50 kudos for measuring my heart rate variability and going zero miles. This tool still preserves the convenience of background bluetooth sync from Garmin Connect - but lets you control what appears on Strava.

To use the tool, connect your Garmin Account to your GOTOES account on the GOTOES login page. Once connected, this page will start receiving your Garmin Activities uploaded AFTER YOU MAKE THE CONNECTION. Garmin does not allow GOTOES to see activities you uploaded prior to connecting.

In the text field, you can supply a name for your activity. Click on one or more checkboxes to select which activity you want to transfer from Garmin Connect to Strava. If you select "Edit or Merge Checked Files.." then the Garmin activities will go to the GOTOES merge tool where you can combine them into a single activity.

Edit or Merge Checked Files before sending to Strava
If you check this option, you can essentially merge files directly from your Garmin Account. Select the activities that you want to merge and make sure this box is checked. Then click the "Process Checked Activities" button, and your files will be sent to the GOTOES tool where you can merge and adjust settings.

Also send to Account
GOTOES allows you to link TWO Strava accounts to one GOTOES account. This allows you to upload one activity to two accounts. A reason you might want to do this is if you ride a tandem bicycle and only use one GPS. This way, you can transfer the activity to the captain and stoker account in one step.

It looks like you are getting a lot of use out of this tool!

I am glad that this tool is helping you out, and I hope you keep using it. Please consider making a donation to help keep me motivated to continue making updates and to help pay for the server. Even if you cannot afford to donate, these apps will remain 100 percent free to produce Strava compatible files. (why should I donate?)

Option 1:
Donate Today

 

Option 2:
Help Others (FREE)



** I ALREADY DONATED: To make this message go away, log in with the EXACT SAME EMAIL address that you used to donate. Thanks so much for your donation! (help with this)

Why do you want me to donate?

I strongly believe in providing you with FREE tools to fix your Strava tracks. It provides me with great joy to be able to help people out.

As usage of this tool has grown exponentially, I started to notice that more and more people were getting "Out of Memory" errors due to the heavy usage. For a small website, processing over THREE MILLION files a year is a big ask (especially if you consider that some of the activities people are uploading have millions of data points in each file). I don't want anyone to get those error codes (500 Server error) caused by an overloaded server! I decided to make some of the heavy-hitting features available to a smaller group of users (i.e. Donors...) so that the tool has a lower risk of being overloaded. Every single Strava field (power, cadence, temperature, etc.) can be merged for FREE if you export as GPX. The donation-only features are mostly "convenience" features or features related to other tools such as Training Peaks or Garmin Connect.

If you really need help and cannot afford to donate, contact me and I can usually fix your GPS track for you. Also, if you just want to get rid of the nag screen you can do that for free too.

Accepted File Types:

GPX:
This used to be the old standard for GPS, but it only can include Latitude, Longitude, and Elevation. Strava has a special non-standard format that allows one to embed Heart Rate, Temperature, Power, and Cadence. If you export GPX from this tool, it will use the Strava non-standard format which may not be accepted by some programs

TCX:
This is Garmin's early attempt at embedding additional data in a position (GPX) file. These files will include Latitude, Longitude, Elevation, Heart Rate, Power, and Cadence - but NOT Temperature.

FIT:
These Files contain every bit of data you can imagine tracking. At this time, the tool ONLY reads in Latitude, Longitude, Elevation, Heart Rate, Calories, Power, Cadence and a few other supporting variables. Also, on the next page, you can choose to import "Developer Data", which are the Garmin ConnectIQ fields present in some files. The reason I don't import all of the data is that some people try to upload 20+ activities at a time, and if you import all of that data at once, the tool can crash.

CSV:
You can import CSV files - but they need to be carefully formatted! The first row must contain the column headers. There must be one and only one "Timestamp" header. Your CSV can be comma or tab delimited. For more info on proper CSV format, click here (opens new window).

ZIP:
Any of the above formats can be placed in a ZIP file to save yourself upload time. For more info on how to make your ZIP files, click here.

DIRECT FROM STRAVA:
This early-access feature is currently only for my Donation Supporters. Please let me know if you encounter any issues with uploads directly from Strava. You can mix-and-match meaning that you could select one file from your Strava by checking a box - and merge it with a file uploaded from your desktop computer. Because this feature is new, I need to know if you encounter any issues! If, instead, you want to Merge GPS files from your Garmin Connect Account, Click Here.

SAFARI ISSUES
How to work-around Safari 14.0.2 being broken. As of November, 2020, Apple has broke the "Choose File" button... for some people using Safari 14.0.1 browsers. I have rewritten the button code to try and work-around this bug, which I suspect they will fix soon. If you do decide to add more "Choose File" buttons by clicking the link for iOS buttons, please make sure that you at least select a file with the first (top) button. If no file is selected with that button, you will get an error

Time Zone
Setting the time zone is important for visualizing your files in my tool. Setting it correctly will make the time bars on the 2nd (upload) page have the correct start and stop times. If your file has GPS coordinates (longitude and latitude), then you can simply select "Let Tool Guess My Time Zone" (that option is at the top of this drop down). The tool will remember your previous time zone in a cookie so the next time you use the tool, it will automatically select the correct time zone for you. That works great - unless you do activities that start in different time zones. In that case, you will have to re-select the time zone, or tell the tool to select the time zone for you.

Indoor Workouts / Trainer / Turbo Rides / Pool Swims
These types of activities do not contain GPS information, so you MUST select the correct time zone - the tool cannot figure it out for you. When you upload an indoor workout to Strava, Strava will use the location set in your profile to determine the time zone. The GPS files all use a time called UTC - which is the time at the Prime Meridian (remember that from gradeschool?). If your indoor workout time is wrong, make sure you have selected the correct time zone here

*NOTE*
This box can only be checked if you plan to export as FIT from GOTOES. It will be grayed out unless you are a donor.

*WARNING*
This option slows the tool and may result in your file merge crashing if you have a lot of data/files. If GOTOES cannot handle your files because they are too large, unchecking this box can definitely help!

Rarely Used Fields
There are some rarely used fields in SOME FIT files. For the most part, you do NOT need these fields. None of these fields are displayed in Strava - and they are only pertinent on websites such as Garmin Connect or Training Peaks. Moreover, they only contain data if you have additional sensors connected such as power meter pedals (that can record left/right balance) or running devices that measure vertical oscillation. If you check this box, you're going to slow down the processing of your data. If your FIT files are big, you may even crash your session.

Which Fields will be included?
Here is a FAQ on the FIT fields that GOTOES can export (opens new window)

Example of some of the fields that will be added (as seen in in Garmin Connect) Example of some of the fields that will be added as seen in in Garmin Connect

Inserting Extra Fields in CSV Files

What are Extra Fields?
Garmin has many types of fields that can be stored in a FIT file. First, you need to know that there is more than one type of FIT file. You can have a FIT file that stores Device Settings... or Workouts... or Schedules... or Blood Pressure... or Weight... or an Activity. Each of these FIT files have different types of data, but this tool is only concerned with Activity Files. An activity FIT file contains all sorts of data about what was recorded while you were riding/running/swimming/etc. Some of that information is probably not very interesting to you... information like device_settings or field_capabilities. Other information, such as sport (they type of sport you did), or the file_id (tells which GPS model you used) can be more useful.

GOTOES CSV Format
I've developed a simple CSV format for FIT Files exported from GOTOES|Strava Tools. The idea is that in the future, you will be able to make edits to various fields in your favorite spreadsheet program, re-upload the CSV to my tools - and export a FIT file that is ready for Strava or Garmin Connect.

What a GOTOES CSV export looks like

All GOTOES CSV exports include the "Record" fields. Those are the streams of data that are recorded on a second-by-second basis. That is usually what people are most interested in. If you scroll to the right in the CSV output, you will see that I have column headers for all of the currently available Garmin "Record" fields. The maximum possible number of fields is 255, but as you can see, Garmin has only used some of them so far. You will also notice that there are some blank spaces in the headers. That is because I've had the column number match up with the Garmin-Assinged ID for each field.

Time Shift.
If you check the Time Shift box and your GPX file has time stamps in it, the tool will set the very first point in your ride to the time stamp you supply in "Activity Start Time." It will then calculate the difference in time between the time you supplied and the time provided in the track. It will apply that time-shift to every point in the track. This way, the exact speed you traveled is maintained; the only difference is the time that you did it. If you select this option, "Desired Average Speed" and "Use Elevation in Calculating Speed" will be ignored (and grayed out). The time zone you supply is important - if you supply the wrong time zone, your track may be time-shifted by more (or less) than you expect.

Time Shift Multiple Files
As of October 2022, I have changed how the tool works when trying to modify multiple files. I discuss this in detail here. (opens new tab)

Desired Average Speed.

No:
If you select "No" the average speed of your resulting file will be the number you specify here. There will not be any variations in your speed.

Bike:
The Average Speed you enter would be your average speed ON FLAT GROUND. GOTOES will speed you up for the downhills, and slow you down for the uphills. Your final track will likely have a different average speed than what you enter here, but it will be based on the number you enter.

Run:
The Average Speed you enter would be your average speed ON FLAT GROUND. GOTOES will adjust your pace as if you were running, so speed is increased, but capped for the downhills so you can't reach impossible speeds. It slows to walking pace on the steepest gradients. The average speed in your final file will likely not be exactly the same as what you enter here.

If you select the bike or run option, the tool uses a complicated formula that includes smoothing between points to try and produce an accurate speed between each individual point. The accuracy of this output relies heavily on your track. If your track has points that are very far apart, you're going to want to use the Interpolate / Add Trackpoints option (you will see this option on the next page). If your points are too close together, you could have some speed spikes that are impossibly fast, so you will want to reduce the number of trackpoints to increase the accuracy. If you leave this field blank, the tool will just assume 20 miles per hour.

Kilometers or Miles Per Hour.

Here you tell the tool if the number you entered in the Desired Average Speed field is in Miles per hour or Kilometers per hour. If you leave this field blank, the tool will just assume 20 miles per hour.

Credit Cards and Apple Pay

GOTOES can accept Apple Pay or most Major Credit Cards. GOTOES uses PayPal as the payment processor - but you do NOT need to have a PayPal account. Instead of using the "Log In" button on PayPal, look below for the option to pay with a Credit Card or (depending on your region), Apple Pay


Secure Connection to GOTOES (🛡️)
If you see the Shield icon, that means your connection to GOTOES is secure. It is OK to use the page.

Token: 0df791a04d63a07b05306c017fdb1608
Expires:

INSECURE Connection to GOTOES (🔓)
If you see the unlocked icon, that means your connection to GOTOES is NOT secure. You should not use this page. Also, please let me know using the contact form if/why you saw this icon.

What is "Use Elevation in Calculating Speed?".

If you check the "No" option, the tool will spit out a track that is nearly a flat line in terms of speed. If you enter 6mph here, you ought to see 6mph on your final Strava Track. If there are hills, and you specify 20mph, you will be climbing the hills at 20mph. That is not very realistic, which is why there is a Bike and Run option.

Bike / Run
If you select bike or run, as the grade increases, the tool will slow down the speed of the track. The number you enter for average speed will be your AVERAGE SPEED ON FLAT GROUND, and the final average speed of your track will likely NOT be the same as the number you enter here - because GOTOES is slowing / speeding your track based on the grade. If you find that your moving time is much less than your elapsed time, make sure that you select the "Interpolate Tracks (Add Points)" option, which appears on the next page. Note that this algorithm is tailored for moderate road cycling. Note that your downhill speeds might be higher than is realistic for windy roads or off road rides. Similarly, I tried to make the run calculations as realistic as possible - but terrain can really influence your actual speed on the trail.

Reverse Route

If you check this box, the tool will take the start time you selected and put it on the LAST track point as opposed to the first track point. From there, it will count backwards applying speed to every trackpoint. I realize that this means that the start time of your reversed track will actually be the end time. I am trying to think of an easy way to reverse the track and get the start time reversed, but for most applications, this should be good for now.

Welcome Donor!

By donating to my tools, you have helped me make these tools better for everyone. Thank you for your generosity! All features are unlocked for you.

Click Here if you are still getting the donation nag screen (this will make it go away).

Read this link for a discussion for uploading BIG files to the tool.

Other options:

To save yourself upload time - and to bypass the size limits, you can ZIP compress your files before uploading. **IF THIS DOESN'T WORK, PLEASE CONTACT ME AND I WILL HELP YOU - EVEN WITH EXTRA BIG FILES.

On a Mac:
Highlight all of the files that you want to upload (to highlight multiple files, use the shift key while selecting, or use the command key and click on individual files). Once the files are selected, click with your right mouse button and select the option that says "compress." A new file that looks like it has a zipper on it will appear in the same location, and you can upload that to my tool. This file can contain FIT, TCX, or GPX files.

On a PC:
Right-click the file you want to zip, and then select Send to > Compressed (zipped) folder

**Important:
Do not put the items in a folder, and then compress the folder. If you do that, my tool will not be able to see your files.

Messy Dump

If you check this box, the tool will download a TXT file (not CSV) to your computer. This text file will have all of the raw message data in it if you are trying to diagnose issues with your FIT file. Please do NOT upload this file to GOTOES. I have seen people taking this TXT file and renaming it to end with FIT and trying to re-upload to GOTOES. This is a DIAGNOSTICS file, and GOTOES will not read it.

Connect With Strava
Starting May 2, 2024, I began introducing a new and more secure method to send your activities from GOTOES to Strava. Previously, GOTOES would store your Strava tokens in your cookies which meant that someone with access to your device could potentially upload an activity to Strava on your behalf. Admittedly, this is unlikely, but it's 2024 and we need to focus on Security and Privacy. From here on out, if you want to send to Strava from GOTOES, you will need to create a GOTOES account and then link your Strava from within the account.

Added Benefits
There are many additional benefits to GOTOES accounts. I plan to store your Donor Status, Garmin Tokens and User Preferences in the account as well. Once that is complete, you should be able to log into any browser and have GOTOES be ready to use! No more clicking donor links and having to re-connect to Strava and Garmin when you change browsers!