Virtual Activity Warning:
Strava has made some changes to how they handle Virtual Activities. If you are uploading a virtual activity to Strava, please be informed that you should also select a Virtual Activity "compatible" GPS type. For example, you can choose Zwift, FulGaz, Rouvy, Elite Trainer, Wattbike, Bkool, Kinomap, or PELOTON as your GPS type. If you do that, Strava will show the "Virtual Ride" option on your activity. If you select a GPS type such as "Garmin 830" (for example) Strava may not show your activity as a virtual ride.
Making a Fake GPS Track
There are two basic types of activities that you can upload to Strava: Indoor and Outdoor workouts.
Strava knows if an activity was indoors or outdoors based on the simple fact of whether or not it has a map. If your activity does not have position points (latitude / longitude), Strava automatically deems it as an indoor activity. If you do an indoor workout such as a treadmill or on a trainer bike, Strava will NOT show the elevation. The reason for this is because Strava believes that elevation computed by indoor machines cannot be trusted. Whether or not that is true is up for debate... but that is just how Strava processes the data.
Therefore, in order to "trick" Strava into accepting the elevation that you type into the "override elevation" box, you will need to add in some type of map. If you have ever used Zwift, you may notice that this application generates a fake map (sometimes in the South Pacific over a random island). This fake map "tricks" Strava into thinking that this is an outdoor workout. Then, the user can override the elevation if needed using my tools.
You will only see the "Make a Fake Track" checkbox if the files you uploaded have some distance data. GOTOES uses your distance data to "superimpose" over the fake track.
Option 1 (circle):
If you check this box, my tool will create a track which is a 1 kilometer circle out in the South Pacific. You will continually go around and around the circle, depending on how much distance you accumulated in your activity. The elevation plot will be flat if the elevation is missing from your file, but you can now enter a number in the "override elevation" checkbox to get a total ascent value in your final file.
Option 2 (custom - new):
This feature requires that you are logged into your GOTOES account. GOTOES will allow you to upload a GPX "reference" file, and then will compute your distance moved along that track. Note that if you supply a low resolution reference track, your map/speed might be a little choppy when it gets to Strava. If your actual distance exceeds the distance in the reference file, GOTOES will loop back to the start of your reference file and continue back at the beginning. Because it is difficult to get the distance of your real track to precisely match the reference track, this tool works best for loops.
Option 3 (custom - existing):
This feature requires that you are logged into your GOTOES account. If you have already uploaded a custom track (using option 2), GOTOES will save that track in your GOTOES account. It will always be there and by default will be automatically selected when your page loads. GOTOES will save the most recent reference track you have uploaded using option 2... so if you want to change the saved reference track, just use Option 2 (custom - new) to overwrite the saved file.
I have more help here with screenshots.
Showcase your Ride Stats on Strava:
Your Garmin device may record extra interesting stats that Strava cannot normally display. I'm working on translating those stats into a simple text-based list that can fit into your activity description. These activity stats can only be embedded in FIT files, so if this field is grayed out, that means you need to select "FIT" as your export type. Below, see an example of what an MTB ride with embedded stats looks like when sent to Strava:
MTB Dynamics
These are special Garmin Fields that describe the nature of your mountain bike ride. They quantify the difficulty of the terrain and how well you rode it. These can only be embedded in FIT files, so they will be grayed-out if you select GPX or TCX as your output type.
Total Grit
The grit score estimates how challenging a route could be for a cyclist in terms of time spent going over sharp turns or large grade slopes. Here's how to read your grit chart:
Easy: 0-20
Moderate: 20-40
Hard: 40+
Average Flow
The flow score estimates how long distance wise a cyclist deaccelerates over intervals where deacceleration is unnecessary such as smooth turns or small grade angle intervals. Here's how to read your flow chart:
Smooth: 0-1
Moderate: 1-20
Rough: 20+
Jump Count
If there are jumps in a file, they are all automatically selected to be included in the final output file. On a phone, you can get a pop-up to manually de-select jumps if you don't want them included. On a web browser, you can scroll with the keyboard arrow keys and then command+click (or control+click on a PC) to de-select jumps if you don't want them included.
Cycles, FTP, and Threshold Power:
These are special Garmin Fields that help quantify how hard your workout was for you. These can only be embedded in FIT files, so they will be grayed-out if you select GPX or TCX as your output type. They will ONLY get pre-populated if you select the "Parse Rarely Used FIT Fields" on the upload page.
Total Cycles
This field has a flexible meaning, depending on your sport. In cycling, swimming, rowing, and stand up paddleboarding, it represents how many strokes you made. In running and walking, it it the number of strides you took. The overall definition of this field is "total cycles", so you can think of it that way based on your sport.
FTP Target Range
Garmin has a field in FIT activity files where you can embed a user's TARGET FTP range. If any of the FIT files you upload to the tool have information in the FTP Target field, this box will be pre-populated with the highest FTP value from your files. Note that you can override the values if you see fit. Also note that this is the TARGET FTP. If you want to insert your Threshold Power for a particular SESSION, that field is in this column, several lines below.
Threshold Power
Setting your Threshold Power in this box sets your Threshold Power for the SESSION. This might be different than your FTP (which you can set above; 2nd field from the top). I'm not sure if either of these fields change anything on Garmin Connect - I've tried manipulating the values, and no change seems to happen on Garmin Connect.
Downloading Data
Both of the options below will download a CSV file containing the desired data to your computer. Make sure you have allowed downloads from GOTOES.ORG in order for this feature to work.
Download Raw Data
If you click the download raw data link, you will get a Tab-Delimited text file that can open in a spreadsheet program. This file contains all the points from your merged files, and all of the points are in order by time stamp. Order of headers is as follows:
time,lat,lon,elevation,cadence,heart rate,power,distance,temperature,lap
Download Dev Data
This option only appears if you have checked the "ConnectIQ" stream checkbox(es) above and if Developer data was found in your file(s). This allows you to download a separate CSV file with the relevant developer data sorted by timestamp.
Add Connect IQ Fields to your Merged Export
What is Connect IQ?
Connect IQ fields are extra data fields that you can record on a Garmin Device. They ONLY show up in Garmin Connect, and cannot be seen in Strava. If you are only using Strava, please don't check this box.
Why is this box grayed out?
It is only possible to export ConnectIQ data inside of FIT files. Therefore, you need to select FIT as your Output File Format before this checkbox can be selected. If you don't know what ConnectIQ fields are, you should leave this box unchecked. Checking it will slow down processing of your file.
I cannot see the Connect IQ Data on Garmin Connect even though I checked the box!
This is generally an issue with how you recorded the file (i.e. Garmin vs Non-Garmin Device)... or an issue with the GPS type you specified at output (again, must be a Garmin Device to display on Garmin Connect). Here is a detailed discussion on how you can fix this. (opens new window)
I have an issue with my Stryd File
Files from Garmin Devices with Connect IQ fields enabled seem to work well. This is because the "developer data" fields seem to be filled out correctly. Unfortunately, I have received a couple of Stryd files that do not correctly follow the specified format, and therefore cannot be read by my tool. I'm thinking of writing a "workaround," but that workaround might be ugly. At this time, I think it would be better for you to contact Stryd and ask them if they can export their files with the proper information. (opens new window)
Add Pool Length Data
This option only appears if you have a swimming file that includes pool "lengths." It only works for FIT exports, so it will be grayed out if you have selected GPX, TCX, or KML as your export option.
If you check this box, the tool will transfer the "length" information from your original FIT file to the resulting FIT export. This includes information about the distance of each pool length, the stroke you were doing on that lap, and the time it took you to complete each lap (pool length).
In addition to inserting the lengths, GOTOES will also refactor your distance within laps. A lot of GPS devices will record zero distance until you get to the end of the pool. Then, the GPS will record a sudden increment in distance equal to the length of the pool. This results in a stair-step distance graph and a speed graph that is zero-speed, with a sudden rapid burst at the end of each lap. With GOTOES refactoring the distance, it should smooth out the speed and distance graphs to look nice and pretty.
Calculated Speed
A Note about speed on Strava/Training Peaks vs Garmin
This is complex, so I have a detailed FAQ that you should read here (opens a new window)
Use Distance or Use Speed
Because this tool is merging separate files, it needs to rebulid the index of accumulated distance. Historically, speed has simply been calculated by taking the distance divided by the amount of time to cover that distance. That calculation happens between each individual trackpoint. This works very well for almost all files - but certain devices such as rowing machines or pool swims do not record distance with fine granularity. Often, these devices will only increment the distance traveled every 100 meters. This produces a step-like graph for distance, and a staccato-like graph for speed. Fortunately, some of these devices DO record speed accurately. The default setting for this tool is "Use Distance" and I suggest you use that setting unless you are having issues with your speed graph. Otherwise, please try selecting "Use Speed." When you change the processing option, the page will reload. Also, remember that only TCX and FIT input files can have distance/speed embedded - so do not expect any changes to distance and speed if you are using GPX, CSV, or files directly transferred from Strava as your input files. If you are having trouble with smoothness of speed, maybe try the speed smothing option and/or "Interpolate Points" option in the next option field.
Speed Smoothing
This selection applies to your OUTPUT file. Historically, I have implemented a 10 trackpoint smoothing for speed. This means that the speed in the output file is actually the estimated average of the 10 seconds flanking that timestamp. This helps prevent staccato-like speeds in the final output file. Now you have control of how many points to smooth. If you move the slider all the way to the left, there is no smoothing, because the "rolling speed" only looks at one individual point. On the far right, the speed smoothing algorithm will look at the 20 flanking points. The default setting is in the middle, which is 10 flanking points for smoothing.
Editing Points
A practical use for this feature is a situation where your GPS recorded a spurious point. With Strava, you can do elevation corrections to fix all the elevation points, but what if you have one heart rate value that is too high? Now you can find it and change it. Also, if you have a latitude / longitude that is out in Timbuktu, now you can delete it or drag it into the proper position. I have written a Quick Tutorial to help you repair your corrupted GPS Tracks. (opens in a new window).
Inserting Missing GPS Tracks
Right now, this tool does NOT add new points - you can only move existing points. If you need to fill in a missing chunk of a ride, I have prepared a very detailed tutorial here. (opens in new window).
Please note that this window may take some time to load!
What is happening is that the tool is loading EVERY SINGLE data point so you can find any bad ones.
Normally, browser based apps like Strava and Garmin Connect will smooth your data by only including every tenth point or so. This saves a lot of page load time because you are only transferring one tenth of the information. Because my tool is letting you have very granular control of your tracks, a longer page load time is necessary.
Smoothing Elevation
This field only applies when you interpolate your tracks.
A user approached me about files that he was uploading to the Rouvy Virtual Cycling App. This app connects to a trainer and resistance is based on the grade in the GPX file. The problem was that there were spurious points in the source GPX file (from a Garmin Edge 830), which caused the trainer to nearly lock up when the pitch of the climb suddenly increased momentarily. This should help you repair your GPS tracks so that they work better with Rouvy and other virtual ride apps.
There is a slider that controls how many points are used to average the elevation. If you leave the slider in the middle, it averages 10 GPS trackpoints. If you slide it all the way to the right, it averages 20 points. All the way to the left, it averages 1 point, which technically is no averaging at all! The slider will remember your last-used setting.
Why reduce points?
Merged Files can sometimes become huge files - sometimes they are even too big for Strava to process. I have found that ~30,000 track points is a safe limit when uploading FIT files to Strava. If the tool detects that you're trying to export as a FIT file, AND your file has more than 30,000 points, it will automatically select to reduce the number of points in the export. You can override this simply by changing the drop-down to not discard points (or discard fewer points)... but the tool may time-out during the merge process. This auto-reduction setting will help you avoid the time-out frustration.
Aerobic and Anaerobic Training Effect
These fields are only available for FIT exports; they will be grayed out if you selected GPX or TCX in the "Output File Format" field. They only show if you select a Garmin as your GPS Type and also insert a Garmin Serial Number! (learn more)
How It Works:
Aerobic and Anaerobic training effect are both measures provided by Garmin to estimate how "impacting" a workout was for you. The scale is from 0 to 5 where a score of 5 is "Highly Impacting" and a score of 0 is "Not Impacting." It is only possible to embed this information in a FIT file - so if you choose GPX or TCX as your Output File Format at the top, these fields will be grayed out. If any of the FIT files you upload to the tool have information in these fields, these boxes will be pre-populated with the highest value from your files. Note that you can override the values if you see fit.
Exercise Load
This field will ONLY get pre-populated if you select the "Parse Rarely Used FIT Fields" on the upload page. The number in this box shows up under the "Training Effect" category on Garmin Connect. It will only show up on Garmin Connect if you have also completed the "Aerobic Training Effect" and "Anaerobic Training Effect" fields. Finally, to get the Aerobic/Anaerobic Balance to show correctly in Garmin Connect, you will need to provide a Serial Number from a Garmin Device. Pretty picky that Garmin Connect!
The load of an exercise session is a numeric score indicating the degree of its impact on your body. It’s based on estimated EPOC. Garmin measures load for individual exercise sessions and also compiles load measurements for calculating weekly Training Load and Training Status. After you complete a workout, your body continues to use oxygen at a higher rate than it would at rest (the “afterburn” effect). This phenomenon is known as excess post-exercise oxygen consumption, or EPOC. Since the oxygen your body consumes relates directly to the amount of energy it uses, EPOC is an excellent measure of exercise load. It quantifies how much work your body has to do to get back to normal.
Primary Benefit
This field will ONLY get pre-populated if you select the "Parse Rarely Used FIT Fields" on the upload page. This allows you to adjust one of the seven possible benefits of your workout. There can only be one benefit, so when merging, the tool automatically prepopulates with the highest level from your FIT file(s). 1=Recovery, 2=Base, 3=Tempo, 4=Threshold, 5=VO2 Max, 6=Anaerobic, 7=Sprint
Normalized Power, Training Stress Score, and Intensity Factor
This field is only abailable for FIT exports; it will be grayed out if you selected GPX or TCX in the "Output File Format" field.
How It Works:
Normalized Power® (NP), Training Stress Score® (TSS), and Intensity Factor® (IF) are registered trademarks of Peaksware, LLC. (Training Peaks). These numbers have become the de-facto way to measure the intensity of cycling workouts with a power meter. If you are using the Training Peaks software and a power meter, you may want these values in your output file. Garmin Connect has also adopted using these values. If so, you will need to export from the tool in the FIT File format. If any of the FIT files you upload to the tool have data in these fields, these boxes will be pre-populated with the highest value from your files. Note that you can override the values if you see fit.
Calories Consumed, Estimated Sweat Loss, and Fluid Consumption
These fields are only abailable for FIT exports; they will be grayed out if you selected GPX or TCX in the "Output File Format" field.
Certain Garmin Devices allow you to track your nutrition and hydration. If you have that stored in your GPS file, the values will be displayed here. GOTOES will add the values together if you have loaded more than one file with these numbers set. You are able to override the numbers if desired. Range is from 0 to 65,535 for all 3 fields.
Inserting Distance
A number of people doing treadmill or indoor workouts have asked me if it is possible to add in distance after-the-fact using GOTOES. You will be prompted to enter the distance seen on your treadmill dashboard, and GOTOES will insert accumulate the distance in a linear fashion. This means that your speed on Strava will be a flat line... but that is the best we can do without having position or speed information. If your file has speed embedded, it may be better to click the "Use Speed" option down in the calculating speed field. This will calculate your distance based on the speed, which will be much more accurate. Brief Tutorial (opens a new window)
Time in Future:
You have a time stamp that is too far into the future. Sites like Strava will reject this file citing Corrupt Time Data.
How To Fix Option 1:
Try clicking on the "EDIT POINTS" button on this page. When you do that, you will see a map and a table with all of your points. Look for a bad point on the map and then use the trash can to delete it. If the map looks OK, check the time stamp for the first and last points of the activity. Trash any points that look wrong.
How To Fix Option 2:
Try exporting as GPX. GPX is more lenient than FIT or TCX when it comes to corrution. This is because some of the data is naturally omitted.
How To Fix Option 3:
If all of the time stamps are bad, you may want to use my Add Timestamps Tool and select the "Time Shift" to fix this file. You can just shift all of the points to the correct date and time by specifying the correct start time, and then checking the "Time Shift" box. This should repair your file. If you still have trouble, please contact me.
Invalid Time Stamps:
Your activity had one or fewer time stamps. Do you think that maybe you tried to upload a route file? You should NOT include this file as part of your merge. Instead, you should either leave it out, or add timestamps using the GOTOES timestamp tool (opens a new window).
Excessive Duration:
Your activity was more than a year long. Sites like Strava MIGHT reject this file citing Corrupt Time Data.
How To Fix Option 1:
Try clicking on the "EDIT POINTS" button on this page. When you do that, you will see a map and a table with all of your points. Suspicious time points will be highlighted in Orange and Red. Click the trash can icon to delete any problem points. Be sure to look at the time stamp for the first and last points of the activity. Trash any points that look wrong.
How To Fix Option 2:
Try exporting as GPX. GPX is more lenient than FIT or TCX when it comes to corrution. This is because some of the data is naturally omitted.
How To Fix Option 3:
If all of the time stamps are bad, you may want to use my Add Timestamps Tool and select the "Time Shift" to fix this file. You can just shift all of the points to the correct date and time by specifying the correct start time, and then checking the "Time Shift" box. This should repair your file. If you still have trouble, please contact me.
Inserting Serial Number:
This field is only available for TCX and FIT exports; it will be grayed out if you selected GPX in the "Output File Format" field. It allows you to insert the serial number of your device into the final file. Why would you want to do that? If you are uploading to Garmin Connect, in order for some devices and data fields to be properly detected, there needs to be a Garmin serial number in the file. This is also important to get "credit" for participating in Garmin Challenges. Having the serial number in the file does not matter for Strava. Here is an illustration of how GPS detection will look without (left) and with (right) the Serial Number embedded.
Here is an illustration of how some data fields (training load in this case) will show with and without a serial number:
Inserting Software Version:
This field is only abailable for TCX and FIT exports; it will be grayed out if you selected GPX in the "Output File Format" field. It allows you to insert the Software Version of your device into the final file. It really only shows on Garmin Connect, and does not apply to Strava. Here is an illustration of how things will look without (left) and with (right) the Software version embedded. This is for the true recordkeepers.
Total Ascent:
This field will be grayed out unless you select FIT export. This early-access feature is only available to my Donation Supporters.
How it Works:
If you check this box, the total ascent from this Stream will be added to the total ascent from any other checked streams that you have checked. The total ascent in your final Strava upload will be the sum of all the Ascent Streams that you have checked. If you do not check any of the boxes, my tool will use the elevation profile to calculate a total ascent for your FIT files (GPX and TCX files, Strava will do the calculation). It is difficult to say what is most accurate - my tool's calc, Strava's calc, or the number reported by your device. The tool's calc and Strava's calc tend to be higher than the number reported by the device. To avoid surprises, you will probably want to check the ascent boxes. Another way to avoid surprises is to use the "Override Total Ascent" option down in the "Editing Data" field. Anything you enter in that field will take precedence over any other option.
Why is the Distance Stream Grayed Out?
Distance can only be embedded in TCX and FIT files, so if you have checked GPX export, that may be why. Also, if you have selected "Do Not Embed Distance" or "Calculate Distance" in the "Embedding Distance" options down below, this field will be grayed out. If this box is checked, you're using the distance that was embedded by your device. If you select the calculate distance option below, my tool ignores the distance stream in your file, and it re-calculates the distance by adding up the distance between every trackpoint.
Corrupt Time Stamps
If your file has corrupted time stamps, the merge might not work. It is OK to give it a try, but keep in mind, that your input file (and not my tool) may be the source of any downstream problems. My tool tries to rectify any time stamp issues by ignoring time stamps that are obviously not correct. Sometimes, that can effectively repair your FIT / TCX / GPX file and rescue it for upload. Sometimes, though, if the timestamps are very corrupted, my tool can't fix it. If you want, you can always use the contact form and ask me for help repairing your files. I have repaired many, but cannot guarantee that your files will be repairable.
How To Fix:
Try clicking on the "EDIT POINTS" button on this page. When you do that, you will see a map and a table with all of your points. Look for a bad point on the map and then use the trash can to delete it. If the map looks OK, check the time stamp for the first and last points of the activity. Trash any points that look wrong.
Double Distance
When you check the distance stream boxes above, each distance stream is included in the output file. If you're merging files end-to-end, that's what you want. But, if you're merging files that overlap (for example, if you're trying to merge heart rate data from a Wahoo with trainer data from a Garmin), then you're going to only want to include ONE of the distance streams... preferably the one that is most reliable.
Laps
Inserting Laps is a little tricky when you merge files. There are a couple of reasons why you might not get what you expect. One reason is if you are removing trackpoints (either if you choose to discard every X trackpoints, or if you select Remove Duplicates or Only With Position). If you select these options AND you select to include laps, you MIGHT lose some of your laps.
The number in parentheses is the number of laps in this particular stream.
Laps are going to work best when you are concatenating files (merging end-to-end). Laps may be problematic if you're trying to merge overlapping files (such as overlaying / interlacing heart rate data with position data). Give it a try and see if it works! Finally, I recommend that you only select laps from ONE stream if you have overlapping files. If you select laps from multiple streams, the distance / time of each lap may appear incorrect in your final file.
Recalc Laps
If you click this link, the tool will re-calculate your laps based on the distance stream of the currently loaded file. This may help if you have laps but they are missing the time or distance. Note that your embedded distance may change, depending on the settings you have selected. For example, if you've selected the "Use Speed" option in the "Calculating Speed" box, this will affect the lap distance recalculation. Also, if this is a swimming activity with empty distance, you will want to select a pool length BEFORE you re-calculate the laps. Finally, if you select "Calculate Distance" in the "Embedding Distance" field, the tool is going to re-calculate the laps anyway (unless you check the box that says, "Don't Recalc Lap Distances"). If you don't know what I'm talking about here, you can probably ignore this featue!
IMPORTANT
Laps can only be stored inside of TCX and FIT files. GPX files do not have anywhere to store that information, so this box will be grayed out if you have selected GPX export.
Insert Heart Rate into GPS File
A person using Strava did not want to buy a GPS tracker, and owns a "dumb" heart rate monitor. They do an activity in real life and know their average heart rate for an activity from the heart rate monitor. They will draw a route using Strava's Route Builder, then use my Add Timestamps to GPS Tracks Tool to add timestamps, making it as accurate as possible. They then will use this option here to insert the single heart rate value into the GPX track. The result will be a flat line heart rate, but it will help them keep track of effort. It is a rare use-case, so you will probably leave this field blank unless you're in a similar situation.
Insert Cadence into GPS File
You can insert an average cadence from 1 to 255 rpm into the final file. If you enter a number in this field, currently it will override ANY cadence values in the real file. I'm considering having the tool insert this value only when zeros are encountered... Contact me with feedback on what might work best for you...
Insert Power into GPS File
You can insert an average power from 1 to 999 watts into the final file. If you enter a number in this field, currently it will override ANY power values in the real file. I'm considering having the tool insert this value only when zeros are encountered... Contact me with feedback on what might work best for you...
Override Total Distance
This field is only abailable for FIT exports; it will be grayed out if you selected GPX or TCX in the "Output File Format" field.
How It Works:
In order for this feature to work, you must select either "Calculate Distance" or "Use Existing Embedded Distance" in the "Embedding Distance" options above. If you select "Do Not Embed Distance", this will make Strava re-calculate your distance from the distance between points. The reason I cannot override un-embedded distance is because Strava ignores any total distance value I send them, and instead, they look at the distance specified between each and every point. Therefore, I cannot send just one single value, but instead I need to refactor the distance between every single point in your final file! The M and K buttons tell the tool if your entry is in miles (M) or kilometers (K). **Important Note: If not all of your files have a distance stream, I recommend that you use the "Calculate Distance" option instead of the "Use Embedded Distance." You may need to try both options to get what you want.
Best Practices:
If you decide to override the total distance, Select "Calculate Distance" ONLY if your file has trackpoints. The distance between each point will be calculated, but then my tool will apply an adjustment factor to each point to achieve your desired total distance. If none of your files have trackpoints (like if they were from an indoor workout), then you MUST select "Use Existing Embedded Distance". Without one of these two distances to key off of, the override feature will not work.
What is the gray number in this box?:
If you have uploaded a FIT file with an embedded total distance, my tool will read that number and put it in the streams at the top of the page. Then, the tool will sum up the values for all of the distance streams you have checked and put the result as a placeholder in this box. The purpose of the placeholder is to help you get an idea of the total distance that was in your original files; that is a starting place in case you need to massage the final output. Please do not use this feature to cheat. Remember: Cheaters only cheat themselves..
Why Can't I Override Distance in TCX or GPX?:
In a GPX file, there is nowhere to store a distance tag; that is simply not part of the GPX specification. TCX files do allow us to insert a "Total Distance" entry... however if the entry comes from a TCX file, Strava now ignores the value in that field (I think because it would be too easy to manipulate). Strava will instead calculate your distance based on the GPS points in the file. Luckily, we are still able to override total disance in FIT files.
Keeping All Trackpoints
In general, it is a BAD PRACTICE to include all trackpoints for overlapping files. If you select this option, and your overlapping files both have the exact same time-stamp, BOTH timestamps will be included in the file along with their associated values. This can cause a few problems:
Problem 1 - Big File Size:
Because you are including ALL of the track points, there is going to be a lot of redundant information that isn't needed. Your files can potentially be twice as big. This may not matter much if you're exporting as FIT, but if you are choosing TCX as your output type, the files can get pretty big.
Problem 2 - Lack of compatability with "Rarely Used FIT file Fields":
If you eleved to "Parse Rarely Used FIT file fields" (at the upload file stage), the data from these fields gets stored in a table. The problem is that these data fields are usually only associated with one of the files you uploaded. So, if you include ALL of the track points, you're going to get a data value in one second, and a zero value in the same second. This will confuse software (such as Garmin Connect), and you likely won't see any data for the "extra data" fields in the graphs.
Problem 3 - Distance and Speed may be incorrect:
Remember: The tool generally uses your distance covered to calculate your speed. This is in-line with how Strava calculates speed (i.e. Strava *usually* ignores your speed and uses your distance to calcuate speed - depends on your devices). The problem with including every single point occurs because of the way the GOTOES tool adds up distance. It looks at the distance field as it parses through the files. If you include a file that doesn't have distance embedded, the tool will reset the distance to zero. This will affect the speed sent to the output file. Strava will probably override these bad speed values, but Garmin Connect usually shows the incorrect (lower) speed.
Override Total Ascent
This field is only abailable for FIT exports; it will be grayed out if you selected GPX or TCX in the "Output File Format" field.
How It Works:
If you enter a number in this field, that is what will show on your Strava feed for the activity. Don't cheat! Cheaters only cheat themselves.. The M and F buttons tell the tool if your entry is in meters (M) or feet (F).
The light gray number in this field is just a placeholder; it shows the added up values of the Ascent streams that you have checked (basically, it does the math for you). If you don't enter anything, the tool will send Strava the total ascent from the boxes you have checked at the top in "Streams". If you enter any value in this field, then that will override any Ascent boxes you have checked in "Streams". Your elevation profile (graph) will not be affected - just the total ascent number.
Why isn't my overriden elevation exactly the same on Strava as what I typed on GOTOES?:
In FIT Files, elevation is stored in meters. If you typed in a total ascent in feet, it needs to be mathematically converted to meters for the FIT file. Next, if your Strava is set to display in feet, the meters need to be converted back to feet. It seems that there are a certain number of significant digits that are being dropped by the Strava conversion, so your final output may be off (lower) by a foot or two.
Why Can't I Override Ascent in TCX or GPX?:
In a GPX file, there is nowhere to store the total ascent; that is simply not part of the GPX specification. TCX files do allow us to insert a "Total Ascent" entry... however if the entry comes from a TCX file, Strava now ignores the value in that field (I think because it would be too easy to manipulate). Strava will instead calculate your ascent based on the elevation points in your file (if it is a "trusted" barometric GPX)... or it will use the DEM to calculate your ascent. Luckily, we are still able to override total ascent in FIT files.
Don't Recalculate Lap Distances
A user came to me with a problem: They had a stationary bike file that didn't record distance - but it did record laps. (Thus the laps had time stamps, but the distances were empty)... They also had position data in a 2nd FIT file from the FulGaz App. I decided that we could calculate the distances from the 2nd FIT file (the FulGaz File). As such, I made it so the default option when calculating distance is to also recalculate the lap distance. If you trust your laps - and they already have embedded distance, check this box and the distances in your laps will not be changed when recalculating the total distance in the file. This checkbox only applies if you have selected "Calculate Distance" (otherwise it will be grayed out).
Override Total Calories
This field is only abailable for FIT exports; it will be grayed out if you selected GPX or TCX in the "Output File Format" field.
How It Works:
If your device didn't calculate the correct number of calories, you can enter a number in this field, and that is the number of calories burned that will show on your Strava feed.
Uploading CSV File Rules
Delimeter
I have tried to make the CSV file upload as flexible as possible. Your CSV File can be either comma or tab delimted.
Column Headers
The first line of your file MUST have the column headers. They can be in any order. You MUST have one and only one header named "Timestamp". This is case-insensitive. The tool looks for partial matches, so "ele" or "elevation" or "alt" or "altitude" will all count for your elevation profile. Accepted types are Latitude, Longitude, Power, Cadence, Heart Rate, Temperature, Distance.
Table
Any Empty Values will be converted to zero.
Example of a valid CSV File:
Download A Sample:
Click Here to Download a Simple CSV Template... or Click Here to Download an Advanced CSV Template
**Note that not all of the fields that you see implemented in the Advanced Template can be parsed into FIT files yet. I'm still working on that!
If you are going to upload this as an activiy to Garmin or Strava, you should check the 'Interpolate Track' checkbox for this merge. This is because the tool has detected that your track-points are too far apart to create a smooth map/activity. This can happen if you are trying to add time-stamps to a route file... but the point density was not high enough. If this is a Course or Route that you plan to use for navigation, you should NOT check the interpolate points box.
I have more discussion on this topic on The Help Forum
If you leave this box checked, you give permission for my tool to put a link in your activity description back to this page. Also, as a bonus, if you leave this checked, you won't get a constant reminder to donate!
I find that many people are not aware that they can repair their tracks. Even some people in my feed will post two truncated activities with a title like "Garmin Fail!#$@%$!" By getting the word out that this tool exists, more people can repair their tracks and we can have cleaner, less cluttered Strava feeds. If you uncheck the box, the tool will remember your preference in that browser. This is what the link will look like in your feed:
Interpolating Tracks
To interpolate means you will be adding in points between the existing points. I do not recommend you select this option unless Strava is mis-reporting your average speed or elapsed time. The reason I do not recommend this option for all files is because it will make the file much larger - it will create a file with one trackpoint every second. The most common use for this option is if you were using the Add Timestamp tool and the source track you were using did not have a high enough trackpoint density. Most devices record a trackpoint every second up to one trackpoint every 5 seconds. If there is a large gap in time between trackpoints, Strava will consider that to be stopped time - and it will mess up your average speed as well as the graphs related to pace. Another application could be for a swimming activity - if you are trying to achieve a swim moving time that equals your swim elapsed time. Otherwise, if you're using a real device in a real world situation, then this option isn't necessary.
When you check the box, the screen will display a progress bar as it interpolates your track points. After it is done, you should get a message showing how many points you have now. If interpolation is successful, then the checkbox will be grayed out. This is because the tool cannot un-interpolate your files. If you need to reset the interpolation, please refresh the entire page.
Position
This is the Latitude / Longitude in your file. This stream is necessary to draw a map, though you can leave it out if you want, and then select one of the virtual activity types. Also, please note that if you select "Calculate Distance" in the "Embedding Distance" field, you need to have position in order for GOTOES to calculate your distance (and speed).
Elevation
This is a stream that contains your elevation data. This is what is responsible for the graph of your elevation. Depending on the file you uploaded, you may also have an "Ascent" (purple color) field. The Ascent checkbox sets your TOTAL ASCENT in the output file. You will want to check both boxes (if they are both present) in order to get the most accurate elevation data in your final file. If you are a donor, you can override the total ascent down in the "Overriding Data" box near the bottom of this page.
Just leave this optional field blank if you do not want to make any changes.
Discarding Heart Rate
Sometimes your heart rate monitor can record bad values. This can happen at the beginning of a ride (because the interface between your chest and the heart rate strap is dry and not moistened with sweat). It also happens more often on downhills because the wind can cause your jersey to flap quickly creating static electricity that interferes with the strap. Another cause can be wearing a jacket or vest over a jersey that causes static electricity. It happens more often on dry days than on humid days. Occasionally, some types of heart rate straps can also be influenced by nearby high voltage power lines. Knowing this may help you prevent bad data in the future. Using this tool, you can set a maximum value - and anything above that value will be discarded. In its place, the last known "good" value will be substituted. For example, if your max heart rate is 180, enter that value and if you are flying downhill and your monitor records a heart rate of 255, then the tool will eliminate all of those bad values. Your browser will remember your previous settings so you do not need to enter this every time.
Just leave this optional field blank if you do not want to make any changes.
Discarding Power
Power meters can sometimes spike and ruin your power curve. Use this feature to eliminate bad data that you know is impossible for you. Spiked data will either be converted to last known good value or to zero. Your browser will remember your previous settings so you do not need to enter this every time.
Pool Length
If the tool detects that you have a swim with no position data, you are given the option to enter a pool length. Note that this will only change the calculations if your source file is missing pool length and interval speed. Otherwise, the embedded speed and length values will be used no matter what you enter in this box. If you edit this value, the page will refresh and your preference will be stored for future use.
POIs (Points of Interest)
This option is only available for TCX export, so it will be grayed out unless you select TCX. It creates a course file that you can upload to your GPS and it will include any Points of Interest along your route. This feature will produce a course file with turn-by-turn directions as well as custom cue entries.
WARNING
If you check this box, GOTOES will export a COURSE/ROUTE file. This is different from an ACTIVITY file. An Activity file is what you use to upload an activity you did to Strava or Garmin Connect. A COURSE/ROUTE file will NOT work on either of these platforms. Instead, a COURSE/ROUTE file can be uploaded to your modern GPS and it will display your route along with custom cues.
How it works
If you check just one POI stream, that will force the tool to spit out a COURSE/ROUTE file. The tool will also search for any tracks that you select to export (i.e. if you check the "Position" stream). The tool will iterate through all of the position streams you have elected to include. If the tool finds a waypoint (POI) that is near your route, the waypoint (POI) will be added to the export. If the waypoint is not close enough to the tracks that you have decided to export, the waypoints (POIs) will be filtered out from your exported file.
This is what it will look like on a Garmin;
You should be able to get turn-by-turn navigation
Minimum Speed to Consider Moving
When your average speed is calculated, it takes into account the speed throughout your entire file. Unfortunately, for GPS devices, there can be "GPS Drift" that makes it look like you're moving a little bit - even when you're stationary. This artifical movement factors into your average speed. If you're having issues with the correct speed, try setting this value. The default setting is that there is NO minimum speed to consider moving. This means that if your GPS drifts at a rate of 0.1mph, that will factor into your average speed. For most people, that's not a problem... but for certain activities that include a lot of slow movement (such as hikes up very steep hills or open water swimming), you may find that your average pace is too slow. If the average pace is too slow, try using this feature to increase the minimum speed to consider moving so that only the faster moving portions of your activity are included in your average speed.
Try and Insert Stopped Time
**This checkbox only applies to FIT File Exports!
With this box checked, GOTOES will try and insert stopped time into your file. The tool looks for gaps > 30 seconds and inserts a stop/start any time there is a gap in timestamps that exceeds this timeframe. I have a much more detailed discussion on the forum here. Unchecking this box can fix problems with your stopped time or your speed graph looking wonky.
Adjusting Power
This number is entered as either a percent or number of watts. Range is from negative 100 percent to positive 100 percent (+100% will double your power). Alternatively, if you select the "Watts" button instead of percent, it will add or subtract the number of watts you type into the box. There are four use-cases that I can think of:
Double The Power
If you have a left-only power meter and for some reason it is not doubling your power, enter 100% in this box to double your power.
Left only power meter
This can come in handy if you are using a left only power meter and you know that your left side is x% stronger (or weaker) than your right side.
Switching Power Meter Pedals between bikes with different crank lengths
If you have one pair of power pedals, and do not want to constantly change the crank length in your Garmin (and re-calibrate), you can just enter a fixed number in your Device. Let's say your MTB has 175mm cranks and your road bike has 170mm cranks. Tell your device that your cranks are 170mm. For the road bike, your numbers will be correct. For the mountain bike, use this tool to increase the reported power by "1.029%" (I got that number because 175mm cranks are 1.029% longer than 170mm cranks). Do not use this to cheat; Cheaters only cheat themselves.
Your Power Meter is off by x watts
A user contacted me saying his power meter reads 20 watts too high all the time. Therefore, I added the option to modify the number of watts by a consistent value as opposed to a percentage. In this case, you would type "-20" into the box and select the "Watts" option instead of "Percentage."
Your browser will remember your previous settings so you do not need to enter this every time. Acceptable values for this field range from -200 to +100
**NOTE** This is only for trimming. If you are trying to ADJUST the timestamps in your GPS file, you probably want to use my timestamp tool (link). That tool lets you shift the time in your file - or create new timestamps from scratch with a designated speed. The options you see here are only from TRIMMING/CROPPING your files.
Smart Trim
The Smart Trim Buttons will only appear if you upload two or more activities. How This Works (opens a new window)
Trim Start / End Time
This will be grayed out unless you check the "Trim" box. An example of when you might need to use this feature is when your GPS died after you completed 90 percent of the ride - and you just want to add in the last 10 percent of the ride from your friend's GPS. In this example, you would upload your ride and your friend's ride to the tool. You would leave your start and end time as-is. Then, on your friend's GPS track, you would copy your end time to your friend's start time. This means that the tool is going to ignore everything in your friend's file until it gets to the timestamp where your file ends.
Use Old Format
The Date Picker I am using only works on Chrome and Opera Browsers at this time. It works on Mobile Safari, but not Desktop Safari. The date picker helps you choose an appropriate Date-time range. If you cannot see the date picker, you can check this box to change to a more readable date-time format. Accepted Format could be like this May 05, 2020 13:01:06 or I can accept a format like this: 2020-05-09T13:01:06 Where 2020 is the 4 digit year, 05 is the month with leading zeros, 09 is the day with leading zeros, "T" is there to say that Time comes next. 13 is the hour in 24 hour format, 01 is the minutes with a leading zeros, and 06 is the seconds with leading zeros. The box can accept other date / time formats, but the ones I have outlined are going to be the most reliable.
IF YOU SET THE START TIME AFTER YOUR FILE ENDS (OR THE END TIME BEFORE YOUR FILE BEGINS), YOU WILL GET AN EMPTY FILE BECAUSE YOU EFFECTIVELY HAVE CROPPED THE ENTIRE FILE.
Streams
Time: Every GPS file should have at least one stream: time. If there isn't a time stamp in your file, it will not work with this tool. Everything you import into this tool is ordered by the UTC time stamp. If the time in your device is settable (and doesn't rely on GPS), you need to make sure that the time is set correctly. If it is not set correctly, your files may not overlap properly. If the time in your file is wrong, you can use my Timestamp Tool to perform a time-shift on your GPS file. If you don't have any timestamps at all (such as in the case of uploading a route our course file instead of an activity file), you can use my Timestamp Tool to create artifical timestamps from scratch.
The remaining streams can be added to the final file by checking the boxes for each desired stream. By default, I include all available streams for the selected export type (FIT/TCX/GPS) - but this is not always a good idea. For example, if you are trying to merge two files that occurred at the same time (often people will record heart rate on one device and position on another), then you need to choose just one stream from each file. If you try to select position from two overlapping files, you may get wonky results!
Grayed out Streams? Certain features are only available in TCX or GPX. For example, only GPX can take temperature readings (and only Strava can interpret these - not Garmin Connect). Likewise, Distance, Calories, and Laps are only available in TCX exports. You can make choices about the distance stream down below. We offer 3 options: Leave it out, Recalculate, and Use Embedded. The only time the existing distance stream will be included is if you decide to use the embedded distance tags. See the help on those options to learn about caveats of including distance and when you want to include it. Note that this only applies to TCX and FIT file export.
Calories: Calorie export is available for TCX and FIT exports only. This is because the GPX file schema doesn't have a place to store calorie values. If you are stringing together rides end-to-end, you may want to check all of the calorie boxes. If you are merging overlapping files (such as adding heart rate from a Polar to trainer data from a Garmin), you should only select one calorie value - the one from the more reliable device. If you leave calories unchecked, Strava will recalculate calories for you based on your weight, ride speed and total elevation.
TCX vs GPX vs FIT vs KML
GPX files: Strava accepts a special type of GPX file format that allows us to embed power, cadence, heart rate, and temperature info. GPX is a great output format if you are uploading the combined file to Strava and it was an outdoor activity. Other websites may not accept this special format - so if you are having trouble with our GPX files on another website, please try TCX or FIT. Note that Strava may NOT recognize your GPS type in GPX files (they no longer maintain the GPX database). Also note that Strava will be forced to calculate your total ascent based on the DEM. This is because GPX files do not have a total ascent field.
TCX files: Unlike GPX files which are strictly position based (they were invented for tracking location), the TCX file format was designed more for workouts, allowing for Heart Rate, Cadence, Power WITHOUT position being required. As such, I recommend that you use TCX format if you will be uploading a position-less file to Strava. Examples of position-less files are turbo rides, trainer rides, treadmill runs, pool swims, and indoor activities. The drawbacks to TCX are that the file size is bigger, and TCX doesn't allow temperature data. If those two items don't affect you, please go with TCX. If GPX and TCX do not work for some reason, give FIT a try. Note that Strava may NOT recognize your GPS type in TCX files (they no longer maintain the TCX database - and there are some errors in their database where the wrong GPS is identified). Also note that Strava may decide to calculate your total ascent based on the DEM. I think this is because TCX files can be easily manipulated, so Strava no longer considers the TCX elevation to be "trusted".
FIT files: These can contain all sorts of data - including data that cannot be represented in GPX or TCX files. I have spent several months developing this option, and am now making it available early-access to my STANDARD tier Donation Supporters. Exporting as FIT will address the bug in Strava where a few GPS types aren't displayed properly. Also, it opens up the possibility of you overriding the total calories when you export to Strava, total climbing, total distance, etc... Exporting from GOTOES as FIT gives you the maximum amount of control over your file exports.
KML files: These files are similar to GPX files in that they are mostly intended to show position data; they are designed to be used with Google Mapping and other shape-file applications. They aren't designed around sporting activities, and are therefore NOT compatible with Strava. The "Send to Strava" field will be grayed out if you select this option. This choice is NOT recommended unless you know what you plan to do with the KML files
What is "Randomize ID Tag?".
This option tries to allow you to upload a DUPLICATE ACTIVITY to Strava
How it works:
In a TCX file, Strava will read the time stamp between the <id></id> tags. If the time stamp is within a minute or two of an activity that you have already uploaded to Strava, the activity will be considered duplicate. This is the only method that Strava currently uses to determine duplicity. So, if we just move the time stamp back in time somewhere between 2 and 15 minutes, it will appear as a new activity. If you check this box, we will randomly move the time stamp back in time. If you don't check this box, the time stamp will be the same one from the first file you uploaded. When I say "First File" I mean the activity with the earliest time; presumably your first GPS track of the day.
For GPX files, the time stamp is not in the <id></id> tags - it is in the <metadata><time></time></metadata> tags. The concept is the same; I just change that time stamp instead. In FIT files, time is stored a bit differently, but Strava's detection methods are different as well. Sometimes, you will have to try more than once to "trick" Strava into accepting a duplicate file - EVEN IF YOU HAVE THIS BOX CHECKED. It's not a perfect solution, but my goal is to make your activity as accurate as possible, but different enough so that Strava sees it as a unique activity.
Imported GPS File Types:
My tool attempts to auto-detect your GPS type. There are two relevant numbers: The MFR ID and the Product ID. If you upload a FIT file, it should have both of these numbers, and it will match up the GPS name with the numbers/names that I have entered in my growing database (see next paragraph for discussion on this). If you upload a TCX file, it only has the Product ID - not the MFR ID. This means that if Garmin gives their device an ID of '2002' and Suunto gives their product an ID of '2002', then my tool cannot tell them apart with just a TCX file. The FIT file is the only one that has the extra information to differentiate between the two. GPX files don't have anywhere to officially store the GPS name information, however, my tool does try to search the file for clues to auto-detect GPS names. Sometimes it succeeds.
Getting a device added to the list:
There is no public list of the IDs, so I'm building it as we go along. If your device is not listed, Contact Me and I will add it. I'll need for you to email me your TCX or FIT file (GPX files are of no use). I will also need for you to tell me which Make and Model GPS you have.
Strava Special Format
Strava has given us a non-standard way to transmit the GPS name information. Note that this is only promised to work with Strava, not other websites. I can embed the name in a TCX, GPX, or FIT file. The problem, though, with GPX and TCX is that Strava has been truncating the names. For example, if I tell Strava that the user has a 'Garmin Fenix 6X Sapphire', Strava is simplifying their database and only showing 'Garmin Fenix'. I have been in contact with Strava to ask them to fix it, but only recieved automated replies so far. Fortunately, if I send to Strava as a FIT file, I can embed the MFR ID and the Product ID as discussed above. If you export using the FIT format from my tool, the device name on Strava should look the same as if you uploaded it directly from the device itself; that is one of the advantages of exporting in the FIT format. I have recently added FIT file export for my Donation Supporters.
Activity Type and TCX/GPX
Garmin only embeds the Activity Type in the TCX and FIT files, however Garmin Connect will ONLY Accept Running, Biking, or Other as an activity type in a TCX file. If you select one of the Strava activity types and send to Garmin Connect, it will cause a TCX upload to Garmin Connect to Fail!. If you don't want to be limited to Run/Bike/Other, you need to export as FIT; Garmin accepts more activity types in FIT Files. **If you embed an activity type in GPX or TCX and send to Strava, please know that Strava MAY NOT detect it correctly. In TCX and GPX files, I just insert a textual name. So for example, if you select "Running" the tool actually puts "Running" in the header of the file. This system isn't guaranteed to work because it relies on Strava interpreting text.
Activity Type and FIT
If you export from the GOTOES tool as FIT using one of the activity type options, the tool will translate your selection to the Garmin "code" for this activity. For example, Cycling is "2". Inline Skating is "30". Some activities, such as "Gravel Riding" get 2 codes; a sport code ("2" just like cycling) and a sub-sport code ("46" for gravel). This is a sure-fire way to get your activity type properly encoded. Please let me know if I got any of the codes wrong. There are many, and I had to type them all in by hand!
Strava
If you upload to Strava without distance, Strava will recalculate your distance for outdoor workouts. For indoor workouts, it is impossible to calcuate distance, so the only way you will see distance and speed is if you choose to Embed Existing Distance.
Sites other than Strava
If you upload to sites like Garmin connect without distance, Garmin will NOT recalcuate your distance or speed. This means that if you leave the distance out, you will get a distance and speed of zero on sites like Garmin Connect.
Calculating Distance
If any of these are grayed out, it means your source files do not have either distance or position. The tool uses position to calculate disance, so if there is no position (like an indoor workout), then it is impossible to calculate distance. If none of your files have embedded distance, it will be impossbile to use embedded distance and thus it will be grayed out. Strava will calculate your distance if you choose "Do Not Embed Distance" - but Garmin Connect and other websites will not - meaning you will get a ZERO distance and ZERO speed if you leave out distance.
Do Not Embed Distance
A good choice for outdoor workouts uploaded to Strava (only Strava). If you select this option, distance will be left out of the TCX/GPX files. That is not a problem if you have GPS points because Strava will just re-calculate the distance anyway. Websites like Garmin Connect require distance, so don't choose this if you upload to a website other than Strava.
Calculate Distance
The tool will calculate the distance between every single point in your GPS file. Remember that this ONLY WORKS if you have at least one position stream selected above! If there is no position data (such as an indoor workout) it is not possible to calculate distance. An example of a file with no position data could be an indoor workout or turbo/trainer file. Now you can also Ignore Big Gaps. Let's say you want to combine two rides with a ferry ride in the middle - but do not want the ferry ride distance to show on Strava. Using the default settings, if the time between points is more than 10 minutes AND the distance between points is more than five miles, when you check this box, the accumulated distance will be removed from the TCX file. This only applies to TCX and FIT because GPX does not support accumulated distance.
**If you choose to ignore gaps of as little as 2 seconds or 10 seconds, you can effectively add fine granularity of stopped time to your activity. 2 seconds works if you have 1 second recording turned on... and 10 seconds should be perfect for "smart recording". The only issue with using these options is that if you have a lot of gaps greater than these thresholds (such as in a longer activity), the tool may run very slowly - perhaps crashing and giving you a 500 error. If you get a 500 error with this feature enabled, try going up to the next highest value.
Use Existing Embedded Distance
The best choice for indoor workouts. If you are trying to merge Heart Rate file with a turbo/trainer/treadmill workout file.... and the files overlap (i.e. they happened at the same time as opposed to end-to-end), you will want to select this option. This will use the distance data already present in your file so you get credit on Strava. If you choose this option, make sure that you choose ONLY ONE distance stream in the table. If you check multiple distance streams, you will get very strange results! **If there are not any distance streams in any of your files, this option will be grayed out. **Important Note: If you are merging end-to-end files (as opposed to overlapping files), and not all of your end-to-end files have a distance stream, I recommend that you use the "Calculate Distance" option instead of "Use Embedded Distance." You may need to try both options to get the result you want.
Overlapping Tracks
Some files may overlap. This may be intentional if you're using two devices on a trainer (for example). Maybe you're recording speed with a Garmin and heart rate with a Polar. In other instances, the overlap may be less intentional. For example, maybe you see that your Garmin is on 1% battery, so you decide to start recording on your iPhone before the Garmin dies. Either way, we need to decide how to deal with the overlap.
The first option is to Remove Duplicate Trackpoints. This will prioritize the streams from the first file (that would be the uppermost file in the graph). You will be losing some data. I tried this with two Garmin GPS units running at the same time, and I found that the losses did not affect the final recording in a big way. Removing duplicates should also result in a smaller file, and choosing this option may fix problems encountered when uploading to certain 3rd party websites.
The second option is to Keep All Trackpoints. I only recommend trying this if something isn't working right for you. The output file will have duplicate series of timestamps, which can confuse some third party apps. If you have trouble uploading the resulting file to a 3rd party site, try the "Remove Duplicate Trackpoints" option (first option) instead. I have tested on Strava and Garmin Connect, and the "Keep All Trackpoints" option works - but "intervals.icu" and "trainingpeaks" might have problems with this option. This option takes all of your selected streams from both devices, and if they both have recorded a point at the same second, a duplicate entry goes into the final file. More details about issues with this selection.
The third option is to Only Include Trackpoints that have Position. I found that some platforms have trouble with "missing data." Let's say that your heart rate device records a point every second, but your GPS device is on Smart Recording, and only records every few seconds. If I try to include all of the data, there will be trackpoints that only have heart rate data - but no position data. Each platform handles this differently. Strava and Garmin Connect do not seem to have an issue with this. Other platforms may give you exceedingly high distance. If that is the case, give this option a try.
Discard Trackpoints
Did you do an activity that was so big that Strava rejected it? This can happen with very long activities - especially when you have 1 second recording turned on. Use this dropdown to select how often the tool should discard track points until the file is small enough to be accepted by Strava. I recommend that you always use Smart Recording instead of 1 second Recording unless you're doing a very short activity.
Send To Strava
The tool can upload directly to Strava on your behalf. To do this, please go to the Log In Page. If you don't already have a GOTOES account, you can make one and then connect GOTOES to your Strava. Strava will ask you if you want to give us permission to make uploads on your behalf. If you agree, in the future, you can just check this box (it will remain checked and saved in your cookies as a preference), and the file will go directly from our website to Strava's. This will save you from having to download the file and then uploading it again.
Supported File Types:
You can send GPX, TCX, or FIT files to Strava. Strava DOES NOT support KML, so the "Send to Strava" checkbox will be grayed out if you have selected "KML" above.
Cannot Time Shift
It looks like the original file did not have any time stamps in it, but you tried to do a time-shift. Time Shift looks at the original time stamps, and adjusts them by a certain amount. If there aren't any time stamps in your file, it is impossible to shift them all differentially. You will end up with all the points at exactly the same time, which is going to be a corrupted file.
Important - Garmin Connect BUG:
I have identified a bug in displaying multisport activities in Garmin. It has to do with having more than one activity loaded for any given moment in time... you need to delete any extra copies of your file, otherwise Garmin will not display multisport correctly. Learn More Here
Add Multisport Data.
Strava will split your Multisport file into separate activities for each sport. Garmin currently shows your activity as a single file, with buttons at the top allowing you to cycle through each sport.. This can become a little tedious when merging files because the Multisport information is relative to the original activity - and MIGHT become wonky when you're merging files end-to-end. It should be fine for fully overlapping merges.
How it works.
GOTOES is rebuilding FIT files from scratch, so this makes handling Multisport even more tedious. Instead of just having one header that describes all of the activity totals such as total distance, total ascent, etc.. there is a header for each activity. Because of this situation, GOTOES will gray-out all of the pertinent override features if you check the box to add Multisport data to your output file. The Multisport checkbox only appears for files that are classified as "Other/Multisport" inside the source FIT file. Once you have added Multisport data to your settings, you cannot uncheck the box. This is by design, because you have effectively overriden the override options. If you change your mind about adding in Multisport data, just refresh the page and settings will go back to what they were when the page originally loaded.
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
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?)
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)
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.
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.
This works by the tool taking each and every point and analyzing the distance between them. If you do not select to use the elevation when calculating speed, the tool just takes a simple distance over time calcuation to produce a speed. 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:
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. As the grade increases, the tool will slow down the speed of the track. There are two different ways to calculate the speed - one for bike, and one for run. They are not perfect, but I have attempted to make them as realistic as possible. 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).
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.
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!