Choosing cuts
Cut 1 starts halfway through your activity as a proposed cut. Drag its slider below the map or chart to adjust it; both sliders control the same proposal. Click Add cut here to confirm it. The next numbered proposal then appears automatically. Proposed cuts use a dashed line on the chart; only confirmed cuts affect the segments and exported files.
Click the chart or route, or enter elapsed seconds, to move the proposal. You can also drag proposed or confirmed cut lines on the chart. Cuts snap to recorded points, and the map follows your position while you slide. At a repeated location, the map selects the recorded point closest in time to your current position. Undo and Redo restore changes; Reset cuts removes confirmed cuts and returns to the first proposal.
Choosing segments and graph data
Matching colors and segment numbers identify each chunk on the map, chart and table. The map uses darker route colors to match the pastel backgrounds in the chart and table. Name your segments and uncheck Keep for any parts you do not want. Remove a cut to join its neighboring segments. Graph switches only change the display; exports retain the supported source data. Adjacent files share the boundary point so no interval is lost.
Preview distance uses the recorded distance stream. Final files use the shared distance calculations. Large activities use a simplified map and chart preview; sliders and exports use all recorded points.
Laps, pauses and totals
Laps are trimmed at each cut. Recorded pauses and original timestamps are retained. Distance starts at zero in each output. Available heart rate, power, speed and elevation summaries are recalculated from the retained points. Calories from source summaries are estimated in proportion to retained active time. When pause locations are missing, native timer totals are apportioned by duration; pause locations are not invented.
Device-only summaries such as training effect, training load, normalized power and time in zones cannot be reliably split and are omitted from the segment summaries. Your original upload is preserved.
Downloading or opening in Merge / Repair
Click Export selected segments to download a ZIP containing a separate file for each selected segment. Open selected segments in Merge / Repair to continue editing them together in a new tab. That handoff requires timestamps. Learn about output formats.
For more help, visit the FAQs and Help Forum. (opens a new tab)
GPX
Requires GPS positions and supports fewer fields than TCX or FIT. Tracks with missing timestamps can be split by recorded point order and exported without adding timestamps.
TCX
Requires timestamps and supports indoor activities without GPS positions.
FIT
Requires timestamps and Full Features donor access. Exporting as FIT is restricted to donors because of the load it places on the server.
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 Trainer Road, 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.
This is for donors only.
I want to encourage you to stick with the new site because I will be sunsetting the legacy site very soon. Therefore, if you are having any issue, please use the contact form to help me fix bugs while rolling out the new system. I'm temporarily leaving the legacy site up as a fallback for donors only in case you have some critical workflow that is not addressed by the new system.
GOTOES Full Features
When starting this project, I wanted all of the GOTOES tools to be free. But having spent thousands of hours (and thousands of dollars) to keep the site alive, I've been forced into putting some of the "heavy stuff" behind a paywall. This keeps the bots out of sensitive areas and also helps pay for the server. I also like to think that my time has some value, though I partly do this out of passion and perfectionism...
Here is what donors get:
The nag screen is a brief reminder asking frequent users to support GOTOES. It does not limit the free tools.
You can remove it by making a donation of $3 USD or more. If you cannot afford to donate, you can remove it for free when sending an activity to Strava by selecting Help Others Repair Their Tracks.
Learn more about removing the nag screen. (opens new window)
Double File Upload Size for Donors
Storing and processing large GPS files increases GOTOES server costs. To help cover those costs, Full Features donors may upload files up to twice the standard per-file and total upload limits.
Each successfully accepted file that exceeds the standard per-file limit counts as one oversized file. Donors may upload up to 5 oversized files during any rolling 24-hour period. Files that stay within the standard per-file limit do not use this allowance.
Instead of resetting the allowance at midnight, each use becomes available again 24 hours after that oversized file was uploaded. Donors can view their current usage and remaining allowance on the User Dashboard at the bottom of the "Usage" section.
Garmin Import Limit
To protect GOTOES access to Garmin, this site limits activity import requests to one every --. This is a safety throttle to ensure we do not bombard Garmin with Requests.
Time remaining: --
Garmin imports cover one -- date range at a time and may take a minute or two to arrive. After requesting an import, wait a minute and refresh your browser.
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 is 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
These options download the processed (“raw”) results of your upload. If nothing downloads, allow downloads/popups from GOTOES.ORG.
Raw Data (XLSX)
An Excel-compatible workbook. We map all uploads (FIT/GPX/TCX/CSV/JSON, etc.) into the Garmin FIT-style field schema, with separate sheets by field/message.
Original Database (DB)
A SQLite database containing the processed tables. Use the “.DB” link to open it in a viewer.
Reset & Rebuild Processed Data
Some of the changes you make in this page mutate the original values. To get a "fresh start" cick this link and the database will be rebuilt from your original files.
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.
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.
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.
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
I get a lot of empty indoor workout files because people try to export indoor workouts as GPX. GPX is a position-based file format, and indoor workouts do not include GPS coordinates (unless you're doing Zwift, which "fakes" coordinates). Therefore, best practice is to upload the ORIGINAL FILE to GOTOES - not the GPX or TCX version.
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. If GOTOES detects no real distnace (and no way to calculate distance from speed or position), you will be prompted to enter the distance seen on your treadmill dashboard.
Total Distance
Your original file may (or may not) provide a total distance in the "Session" header. Total distance is a single number, and GOTOES will attempt to write this number to your output file for TCX and FIT files (these are the only two types that support total distance). You have the option of NOT doing the "add miles" / "add kilometers" link - but you risk that some platforms (Strava/Garmin) may not respect the total distance provided for your workout - they may show 0 unless you add a stream.
Stream Distance
In addition to total distance, GOTOES can insert "Stream" distance; this is what GOTOES will add if you choose one of the "Please click Miles or Kilometers" ooptions. A distance stream is an accumulation of distance traveled on a point-by-point basis. You will only see this option if GOTOES sees no better way to supplant distance. This also 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)
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.
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.
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.
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.
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!
Autolap
This allows you to insert laps based on Distance/Time/Power - I have a FAQ on the autolap feature here
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 distance 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/Descent
The box on the left is ascent; the box on the right is descent. 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.
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/Garmin as what I typed on GOTOES?:
First, you will want to check this FAQ for Garmin and this FAQ for Strava and this FAQ for Indoor Workouts.
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.
Distance Warning
There is not a distance value in your selected stream(s). Your final file may have a zero distance if you choose these settings.
If you have a position stream, try selecting "Calculate Distance" in the "Embedding Distance" field.
Distance Warning
Please select at least one distance stream if you want to embed distance.
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... or Click Here to Download a Simple TSV 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
GOTOES found a possible problem in your trackpoints.
This warning can appear when a timestamp looks invalid, coordinates fall outside the valid latitude/longitude range, an isolated GPS point appears to jump far away and return, or movement between two GPS points appears impossibly fast.
Click the blue Edit Points + View Map/Charts button to inspect the activity. Orange coordinate cells and yellow map points are likely outliers that can be included in Delete All. Purple coordinate cells and map segments identify suspicious transitions where GOTOES cannot safely determine which side should be deleted. The separate Resolve All Review Jumps link calculates and removes the adjacent points that would otherwise become new review jumps after the first points are deleted. Its confirmation shows the complete deletion count before making changes.
The Previous Point and Next Point links visit both types of suggestion. Clicking a line number or timestamp zooms the map to that row.

This is only a suggestion. Review the highlighted points before deleting anything because unusual or low-density activities can sometimes contain legitimate large gaps.
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:
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.
New Merge Engine
Starting Monday, February 9, I am making a new merge engine available. The purpose is to try and resolve some edge-case issues that users see when trying to merge files with heart rate dropouts, or developer data ( ConnectIQ ) anomalies. This is beta and I WANT YOUR FEEDBACK! Both postive and negative feedback will help me refine the tools. Don't be shy to write; if you have an issue, it is likely that another person does too.
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
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 or course file instead of an activity file), you can use my Timestamp Tool to create artificial 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/GPX) - 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.
Show Unpublished: It is a bit of a surprise, but Garmin actually does not publish the definitions for many of their FIT file field! These will show as m_* (message number) and f_* (field number) in your Advanced Fit Fileds. You can check these boxes to include them in your output, but GOTOES will not be able to validate the output. That means you may end up with a corrupted file. Use at your own risk.
Unpublished Streams
Garmin provides me with an SDK that identifies what all the fields mean. However, they do NOT publish all the fields! That means that some fields have unknown meanings and formats. My advice (to avoid corruption) is to NOT include unpublished fields in your export. You're welcome to do so - but with the caveat that Garmin Connect may not accept your export. Please contact me if you want to "make these fields work" - I can do it with your help, but it takes time to reverse engineer the field.
Any named field with an asterisk (*) is not defined by Garmin and may cause corruption if you include it in your output. If you need to include these fields (or you know the definitions) please contact me so I can update my database.
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.
My GPS's:
You need a GOTOES account to remember GPS units. If you have not saved a GPS device, this option will be grayed-out. After you successfully combine or export a file, GOTOES remembers the selected GPS type, serial number, and software version in your account. Selecting that saved device later can fill all three fields for you. If you need to delete a remembered device, you can do that by clicking the trash can icon for the remembered device in your dashboard (look in the Stored Data Section)
All GPS's:
This shows the complete GOTOES GPS catalog. If you use a different serial number with a device and successfully combine a file, GOTOES saves it as another device in My GPS's. If you have already selected the "My GPS's" radio button and you have a new GPS you want remembered, an easy way to do that is to click on the new GPS's image in the "streams" area - then GOTOES will pre-populate the fields with this new GPS. Once you process an export with the new GPS selected, it will get "remembered" in your GOTOES account.
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 received 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!
MULTISPORT
GOTOES Allows you to load separate activities and combine them into one Multisport file for Garmin Connect. Garmin will show these separate files as a single multisport activity. Strava does not support this. (Learn More)
Strava
If you upload to Strava without distance, Strava will recalculate your distance for outdoor workouts. For indoor workouts, it is impossible to calculate 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 recalculate 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 distance, 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 impossible to use embedded distance and thus it will be grayed out.
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.
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".
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). ONLY UNCHECK THIS BOX IF THIS SITUATION APPLIES TO YOU. If you trust your laps - and they already have embedded distance, leave this box checked 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).
Use Existing Embedded Distance
The best choice for indoor workouts. If you are trying to merge a 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
If your files overlap, you'll see 3 options. Overlap can be intentional (two devices for different metrics) or accidental (starting phone recording when Garmin battery is dying).
Interpolating Tracks
Adds points between existing points, creating one trackpoint per second. Only use if Strava mis-reports average speed or elapsed time, as it greatly increases file size. Commonly needed after using the Add Timestamp tool with low-density source tracks. Large gaps between trackpoints can be treated as stopped time by Strava, skewing pace/speed graphs. Also useful for swimming activities to match moving time with elapsed time. Otherwise, if you're using a real device in a real world situation, this usually isn't necessary. You'll see a progress bar, then a message with the new point count. Once complete, the checkbox is disabled (the tool can't un-interpolate). To reset, refresh the page.
Smoothing Elevation
Only applies when interpolating. Apps like Rouvy use GPX grade for trainer resistance, so spurious elevation points cause sudden resistance spikes. This averages elevation over trackpoints: middle = 10, right = 20, left = 1 (no averaging). Remembers your last setting.
Making Fake Track
Strava treats activities as outdoor with a map, indoor without. Activities without latitude/longitude are indoor and won't show elevation. To make Strava accept your "override elevation" value, add a fake map (like Zwift does).
Only visible if files have distance data. GOTOES superimposes your distance over the fake track.
Add Multisport Data
Strava splits multisport files into separate activities per sport. Garmin shows one activity with buttons to switch sports. This only appears for files classified as "Other/Multisport" in the source FIT file.
Only With Position
For any given timestamp, only include the data in the output if there is an associated position element. This is good for overlapping merges where one file has "sparse" position data - GOTOES will retrieve the data from the more densely populated file, but just insert it once in the output alongside the corresponding position stream. This helps the file display in certain viewers.
Editing Points
Fix spurious values: heart rate spikes or latitude/longitude points in the wrong location (delete or drag them). Tutorial for repairing corrupted GPS tracks.
This tool does NOT add new points - only moves existing ones. To fill missing sections, see this detailed tutorial. This page may load slowly because it loads every data point for precise editing. Normally, browser based apps like Strava and Garmin Connect will smooth your data by only including every tenth point or so, which saves load time by transferring less data. Because this tool gives you very granular control, a longer page load time is necessary.
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.
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.
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. That means there is no data to include in your export. If 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. To solve this, please try adding timestamps with the "Speed" or "End Time" options in the Time Stamp Tool
Garmin Workouts:
Garmin has added a new feature called "Garmin Coach" whereby a user can set a schedule of workouts and use certain devices to mark the workouts as complete. There are certain requirements - specifically that the workout must be completed on a Garmin Device with a Garmin Serial Number. I learned that users can sometimes forget to activate a workout on their device and want to add it back later so it shows as complete. GOTOES can now read the workout data and add a "training file" to the exported activity. Once it is added, you can click the link that says, "added" and fiddle with certain parameters. For example, you might need to change the timestamp so that it overlaps with your activity that you're trying to flag as a workout.
Please know that this new feature is entirely in beta. I do not use Garmin Coach, so I cannot easily test this feature that I have added. Any feedback (positive or negative) would be greatly appreciated. Sample files would even be better. I would like to develop this tool so that it is very helpful. If I were using Garmin Coach, I could easily see myself forgetting to flag the activities beforehand and wanting to retroactively repair them. That is the intent of this new GOTOES feature.
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; you can try the FIT file Shrinker if your FIT file is too big. For other file types, here is a list of best practices for large files. 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 GPX/TCX 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). Once you have discarded trackpoints and exported each smaller file, re-import all of these files en-mass to merge. If it was a multi-day trip, you don't need to record every single second! Discarding every 5th trackpoint will be FINE.
What does this tool do?
This tool maps wind data from a FIT activity against its GPS track and estimates the wind's effect on your ride. Use the map, charts, and CSV export to explore headwinds, tailwinds, apparent wind, and true wind.
What file do I need?
Upload a FIT file that has GPS track points and either apparent-wind (AWS/AWA) or true-wind (TWS/TWA) developer fields. A regular FIT file without recorded wind data cannot be analyzed.
How should I use the controls?
Enter your combined rider and bike mass, air density, and CdA to tune the estimated wind effect. You can choose the wind-vector source, GPS or FIT speed source, smoothing, arrow spacing, and chart view. Your selected controls are remembered as preferences.
How do I read the map?
Blue and violet sections indicate tailwind assistance, green is near neutral, and yellow through red indicate a headwind penalty. By default, an arrowhead sits on the track and the shaft points toward the direction the wind came from. Click an arrow or track segment to see its timestamp and recorded values.
Instant Access via PayPal or Stripe
This option includes payments made via the PayPal Button or the "All Major Credit Cards option". The All Major Credit Cards option is hosted by Stripe, and depending on your region, this includes Apple Pay, Google Pay, Amazon Pay, any credit card, Klarna, etc...
GOTOES is automatically notified about your donation with the email address you are logged into and/or your PayPal email address (if you use PayPal). 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 About PayPal Donation Here
or you can
Learn About Stripe (i.e. all credit cards / Google Pay / Apple Pay / Amazon Pay / etc.) Donations Here
Instant Access For Venmo
In order for Venmo access to be instant, you MUST be logged into a GOTOES account when making a donation. Either scanning the barcode or clicking the barcode will take you to a Venmo Donate window. You should see a comment pre-populated that looks like this:
DO_NOT_EDIT_THIS_Donation_will_credit_to_venmo@icloud.com_account_scan
DO NOT EDIT THIS COMMENT! If you edit the comment, GOTOES will not be able to auto-detect your account, and you will have to contact me to manually unlock your account. Learn More Here
Instant Access For Patreon
When you donate via Patreon, GOTOES is automatically notified about your donation with the email address you give Patreon. GOTOES either creates a new account for you, or if you already have an account (with matching email address), your access will be instantly updated. Learn More Here
Unlimited Access
Patreon allows a monthly subscription. If you cancel your subscription with Patreon, the GOTOES features will continue to be active until the expiration of the term (approximately one month after you cancel). Learn More Here
One Year Term
If you donate the minimum amount, your GOTOES account will have extra features for a year. For every US dollar you donate above the minimum, you gain an additional 36 days (1/10 of a year). So, if you donate $15 USD, your features will be enabled for one year + 180 additional days (36 * 5).
Initially, I wanted GOTOES to be 100% free - and it still is for all Strava related features. However it costs thousands per year to keep this site running Learn More Here.
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 really believe these tools should be FREE — helping people fix Strava tracks genuinely makes me happy. That’s why every Strava field (power, cadence, temperature, etc.) can be merged for FREE when exporting as GPX. Donation-only features are mostly “convenience” upgrades or integrations (like TrainingPeaks and Garmin Connect).
The site now processes over three million files a year, and some activities contain millions of data points. To prevent overload and errors, I do two things:
1. Upgrade the server
Reliable hosting with more CPU/RAM, NVMe storage, dedicated IPs, and security protections isn’t free.
I pay over $1,300 USD per year out of pocket — not counting the thousands of hours I spend building and supporting the tools.
2. Reduce server load
I limit the most resource-intensive features to a smaller group (i.e., donors) so the site stays fast and stable for everyone.
If you need help but can’t afford to donate, please contact me — I can often fix your GPS track manually. And if you only want to remove the donation reminder, you can do that for free too.
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 an 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; timestamps are required for that tool to work. We use the timestamps 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 intentionally 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 embarrassing 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 made the connection. To grab older activities, use the import buttons on the page; Garmin accepts date-range imports, and GOTOES limits how often you can request them so the Garmin connection stays healthy for everyone.
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.
Use this group to name activities from a multi-day trip. Check Prefill TripName and Date to enable the Trip Name and Start Date fields. GOTOES will prefill each editable Strava Name with the activity date, trip name, and number of days since the trip started.
This feature works with Pre Fill Date. Leave Use Garmin Name unchecked because the Garmin name takes priority. You can edit every suggested name before sending it, and this does not rename the original activity in Garmin Connect.
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.
Connect With Strava:
GOTOES partners with Strava, so you can import your Strava activities directly into the GOTOES tools. Not only that, but you can merge Strava activities with files on your hard drive. To be able to do this, log in and go to your dashboard - and click the "Connect With Strava" button.
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.
Speed
If you select "Speed", GOTOES will use the "Activity Start Time" you supply and generate timestamps so that the overall activity matches the average speed you enter. If you choose "No" for “Use Elevation in Calculating Speed,” the tool assumes a constant speed on all terrain.
If you select "Bike" or "Run", that speed represents your flat-ground pace — ascents will slow you down and descents will speed you up based on elevation changes.
End Time
If you select "End Time", GOTOES first estimates movement speeds (depending on whether you choose No, Run, or Bike for elevation handling). Then, it proportionally scales all timestamps so the total duration exactly matches your chosen start and end times.
Time Shift
If you select "Time Shift" and your file already contains timestamps, the tool sets the first point in your activity to the "Activity Start Time" you enter. It then calculates the difference between your supplied time and the file’s original time and applies that offset to every point.
This keeps your actual recorded speeds intact — only the overall time frame changes.
When using this option, "Desired Average Speed" and "Use Elevation in Calculating Speed" are ignored (and grayed out).
Make sure your time zone is correct, otherwise your activity may be shifted by more (or less) than you expect.
Multiple Files
Learn how GOTOES handles time-stamping of multiple files
(opens new tab)
Activity Duration
Shows the total elapsed time between your chosen Activity Start Time
and Activity Stop Time. This is automatically recalculated whenever
you change either time value.
Speed
If you select "Speed", GOTOES will take the Activity Start Time that you supply, and it will calculate timestamps so that the rest of your activity adheres to the speed you specify IF you select "NO" for Using Elevation in Calculating speed. If you select "Bike" or "Run", this will be the speed you travel on flat ground, but ascents/descents will be slower/faster than the supplied speed.
End Time
If you select "End Time", GOTOES will calculate your movement based on a probably speed (depends on whether you select No, Run, or Bike). Then, GOTOES will re-factor the movement to get it to fit proportionally into your time frame.
Time Shift
If you select "Time Shift" and your 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.
Multiple Files
Learn How GOTOES handles time-stamping of multiple files (opens new tab)
Desired Average Speed.
No:
If you select "No" the average speed of your resulting file will be the number you specify here. There will not be any variations in your speed.
Bike:
The Average Speed you enter would be your average speed ON FLAT GROUND. GOTOES will speed you up for the downhills, and slow you down for the uphills. Your final track will likely have a different average speed than what you enter here, but it will be based on the number you enter.
Run:
The Average Speed you enter would be your average speed ON FLAT GROUND. GOTOES will adjust your pace as if you were running, so speed is increased, but capped for the downhills so you can't reach impossible speeds. It slows to walking pace on the steepest gradients. The average speed in your final file will likely not be exactly the same as what you enter here.
If you select the bike or run option, the tool uses a complicated formula that includes smoothing between points to try and produce an accurate speed between each individual point. The accuracy of this output relies heavily on your track. If your track has points that are very far apart, you're going to want to use the Interpolate / Add Trackpoints option (you will see this option on the next page). If your points are too close together, you could have some speed spikes that are impossibly fast, so you will want to reduce the number of trackpoints to increase the accuracy. If you leave this field blank, the tool will just assume 20 miles per hour.
Kilometers or Miles Per Hour.
Here you tell the tool if the number you entered in the Desired Average Speed field is in Miles per hour or Kilometers per hour. If you leave this field blank, the tool will just assume 20 miles per hour.
Other Payment Types
GOTOES can accept many global payment forms using Stripe. Click this link and you will be presented with whichever payment options are available in your country. For example, where I live, I can use Apple Pay, Link, and Amazon Pay. (Learn More)
Apple Pay
If you use this link, GOTOES will accept Apple Pay Using PayPal as the payment processor; you do NOT need to have a PayPal account. But as of November 15, 2025, you can also use the button just to the left which will allow you to chose even more payment options (including Apple Pay if it is available in your country). If you still want to use this linke, 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. To see the Apple Pay Option, you MUST BE IN THE SAFARI BROWSER. 
Race Start / End Time
Enter your chip start time and chip finish time here. Please make sure the correct time zone is selected above.
If you are editing an activity from a different season, you may notice a one-hour offset. This can happen when the original activity occurred during standard time but you are editing it during daylight saving time (or vice versa). If something looks off by exactly one hour, adjust accordingly.
We use the date picker to ensure your times are stored in the required format and to reduce confusion from international date/time conventions.
📋 Paste helper
Click the clipboard icon to open a small paste box. You can paste a date/time from another source
(e.g., official race results) in almost any format.
The tool attempts to recognize what you mean, converts it to the required format, and will guide you
if you’ve provided only a date or only a time.
Race Duration
GOTOES will calculate the duration of your race once you have entered the start/stop time. Make sure that the start time is BEFORE the finish time. This is a good way for you to double check that you entered the correct start/stop time.
Speed Algorithm
GOTOES has 3 different algorithms for determining your pace for the missing sections of your GPS track. GOTOES will take your pace for the known ("real") portions of your activity. Then, GOTOES will mathematically determine your pace for the missing sections taking into account your previous pace, your start/stop time, and your activity type. Selecting "None" produces a flat-line pace that matches the average speed you traveled during your missing section(s). Selecting "Run" adjusts your pace and tries to eliminate any "impossible" speeds for a runner. "Bike" conservatively adjusts speed to represent road biking rates.
Course File
This can be a file in any format that GOTOES accepts (GPX, TCX, FIT, or CSV). It cannot be zipped, however. You can only upload ONE course file, so if you have pieces, use the GOTOES merger to make the course into a single file. GOTOES will accept GPX route files and any timestamps in your original file will be ignored; we're just looking for the map.
Fit File Repair
If GOTOES finds major errors with your FIT file, they will be reported here, and definitely should be repaired. If there are only minor errors, they might not be detected. GOTOES now offers multiple ways to try and repair FIT files, which are discussed here (READ THIS FIRST). The repair on THIS page will strip some of the non-essential data, making your file smaller. Luckily, it leaves anything you would see on Strava (Position, Heart Rate, Speed, Distance, Temperature, Cadence, Power, etc)... but it will remove some of the "junk" data in your activity - stuff that is mostly pertinent to Garmin Connect or other sites that show more advanced metrics. Currently this tool can only handle small-ish files.
What is "Use Elevation in Calculating Speed?".
If you check the "No" option, the tool will spit out a track that is nearly a flat line in terms of speed. If you enter 6mph here, you ought to see 6mph on your final Strava Track. If there are hills, and you specify 20mph, you will be climbing the hills at 20mph. That is not very realistic, which is why there is a Bike and Run option.
Bike / Run
If you select bike or run, as the grade increases, the tool will slow down the speed of the track. The number you enter for average speed will be your AVERAGE SPEED ON FLAT GROUND, and the final average speed of your track will likely NOT be the same as the number you enter here - because GOTOES is slowing / speeding your track based on the grade. If you find that your moving time is much less than your elapsed time, make sure that you select the "Interpolate Tracks (Add Points)" option, which appears on the next page. Note that this algorithm is tailored for moderate road cycling. Note that your downhill speeds might be higher than is realistic for windy roads or off road rides. Similarly, I tried to make the run calculations as realistic as possible - but terrain can really influence your actual speed on the trail.
Reverse Route
If you check this box, the tool will take the start time you selected and put it on the LAST track point as opposed to the first track point. From there, it will count backwards applying speed to every trackpoint. I realize that this means that the start time of your reversed track will actually be the end time. I am trying to think of an easy way to reverse the track and get the start time reversed, but for most applications, this should be good for now.
You can optionally attach one GPX, TCX, FIT, KML, or ZIP file, up to 5 MB, to your contact message.
Need to send multiple GPS files? Combine them into one ZIP and attach that. See how to ZIP files on Windows, Mac, or mobile (opens a new tab).
ZIPs may contain up to 20 GPX, TCX, FIT, or KML files, totaling no more than 50 MB before compression. Please do not use password protection or put ZIPs inside the ZIP.
The attachment is included in the email sent to GOTOES and in your email copy. Please include only files you intend to share. If the form needs to be resubmitted, select your file again.
Read this link for a discussion for uploading BIG files to the tool.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!
Last updated July 4, 2026
gotoes.org (“GOTOES,” “we,” “us,” or “our”) respects your privacy. This Privacy Policy explains what information may be collected when you use https://gotoes.org and the GOTOES tools, how that information is used, how long it is generally kept, and how you can contact us about privacy requests. If you do not agree with this Privacy Policy, please do not use the Site.
We may update this Privacy Policy from time to time. When we do, we will update the “Last updated” date above. Material changes may also be noted more prominently on the Site.
INFORMATION WE COLLECT
Information you provide. We may collect information that you voluntarily provide, such as your name, email address, telephone number, contact-form message, account login information, account preferences, donor or payment-related identifiers, support correspondence, and files you upload for processing.
GPS and activity files. GOTOES tools process files that you choose to upload, import, email, or send through connected services. GPS, FIT, GPX, TCX, CSV, and similar activity files may contain sensitive information, including location history, timestamps, route details, device information, heart rate, power, cadence, weight, health or fitness data, and other activity metadata. Please review files before uploading if you do not want that information processed.
Account and integration data. If you create a GOTOES account, we may store your email address, password hash, login/session records, user preferences, donor status, donation history needed to provide donor features, and connection data for services you authorize, such as Strava or Garmin. Connection data can include access tokens, refresh tokens, athlete or user IDs, activity summaries, and similar data needed to provide the requested feature.
Payment and donor data. Financial account and card details are handled by payment providers such as PayPal, Stripe, Venmo, Patreon, or other providers you choose. GOTOES may receive and store limited payment-related information such as donor email, provider, transaction ID, amount, date, status, and eligibility information so we can provide donor features, prevent duplicate records, handle disputes or refunds, and maintain accounting records.
Automatically collected data. Our servers and security tools may collect technical information such as IP address, browser type, device or operating-system information, access times, requested URLs, referrer information, session identifiers, error logs, throttle/abuse-prevention records, and similar data needed to run and protect the Site.
HOW WE USE INFORMATION
We use information to provide, secure, maintain, and improve the Site and tools; process GPS/activity files; create and manage accounts; remember user preferences; provide donor features; connect to services you authorize; respond to support requests; send account, contact-form, or transaction messages; prevent abuse, spam, fraud, and bot traffic; diagnose bugs; comply with legal obligations; and protect the rights, safety, and security of GOTOES and its users.
Uploaded activity files are used to provide the requested processing service. They are not sold. They are not used to build marketing profiles. If you contact GOTOES for help with a file or processing issue, a real person may inspect the files or output you provide, and that information may be used to troubleshoot, test, or improve the Site.
LEGAL BASES FOR USERS IN THE EEA, UK, OR SWITZERLAND
Where GDPR or similar law applies, we process personal data as needed to provide services you request, based on legitimate interests such as site security, fraud prevention, support, and service improvement, based on consent where required, and as needed to comply with legal obligations. You may withdraw consent where processing is based on consent, but that will not affect processing that occurred before withdrawal.
COOKIES, PREFERENCES, ADS, AND ANALYTICS
The Site uses cookies and similar technologies for sessions, login security, remember-me login, CSRF/security protections, throttling, and some feature or preference behavior. Many GOTOES tool preferences are now stored with your GOTOES account when you are logged in, rather than only in browser cookies. Clearing cookies, using a new browser, or logging out may affect sessions, remembered login, and device-local preferences.
The Site may display advertisements, including Google AdSense. Third-party vendors, including Google, may use cookies or similar technologies to serve ads based on your visits to this Site and/or other sites, measure ad performance, prevent fraud and abuse, and personalize ads depending on your settings and applicable consent rules. You can learn how Google uses information from partner sites at Google’s partner-site policy, manage Google ad personalization at Google Ads Settings, or opt out of some third-party personalized advertising through AboutAds.
The Site may use analytics tools to understand site reliability, usage patterns, and feature performance. If Google Analytics is used, Google provides a browser add-on that can help users opt out of Google Analytics collection at Google Analytics Opt-out.
Most web browsers include a Do Not Track (“DNT”) setting. Because there is no uniform standard for how websites should respond to DNT signals, the Site does not currently respond to DNT signals. Where legally required, we will honor applicable consent choices or opt-out mechanisms.
WHEN WE SHARE INFORMATION
We do not sell uploaded GPS/activity files, contact-form messages, or GOTOES account records. We may share or disclose information in the following limited situations:
Third-party services have their own privacy policies and control their own systems. If you use Strava, Garmin, PayPal, Google, or another third-party service, you should review that service’s privacy policy and account settings.
DATA RETENTION
GOTOES keeps information only as long as reasonably needed for the purposes described in this policy, unless a longer period is required or permitted by law, security needs, dispute handling, accounting, or abuse prevention. Cleanup jobs are automated but may not run at the exact moment a retention period expires.
YOUR PRIVACY CHOICES AND REQUESTS
If you have a GOTOES account, you can delete your account from the account area. You can also disconnect Strava or Garmin from your dashboard. Account deletion removes the active account record and revokes local remembered-login sessions, but some records may be retained briefly or longer as described above.
You may request access, correction, deletion, restriction, objection, portability, or other privacy rights available under applicable law. To make a privacy request, use the GOTOES contact form and include the email address associated with your account or request. We may need to verify your identity before acting on a request.
If GDPR applies to your request, we will respond without undue delay and generally within one month of receiving the request, unless a lawful extension applies. Erasure requests may be denied or limited where information must be retained for legal obligations, security, fraud prevention, accounting, establishment or defense of legal claims, or another lawful reason. Where required by applicable law, we will also take reasonable steps to notify service providers or connected services that process data on our behalf. Independent third-party platforms may require you to make separate requests directly to them.
California residents may have additional rights to know, access, correct, delete, and opt out of certain uses of personal information, depending on whether the applicable law covers GOTOES and the specific data processing at issue. GOTOES does not sell uploaded GPS/activity files, contact-form messages, or user account records. Advertising cookies and third-party ad technologies may involve third-party processing as described above.
INTERNATIONAL USERS
GOTOES is operated from the United States. If you access the Site from outside the United States, your information may be processed in the United States or other locations where service providers operate. Those locations may have data protection laws that differ from the laws where you live.
SECURITY
We use administrative, technical, and physical safeguards intended to protect personal information, including non-public storage locations for uploaded and processed files, access controls, password hashing, CSRF protections, and HTTPS where available. No security method is perfect, and no online transmission or storage system can be guaranteed to be completely secure.
CHILDREN
The Site is not directed to children under 13, and we do not knowingly solicit or collect personal information from children under 13. If you believe a child under 13 has provided personal information to GOTOES, please contact us so we can review and delete it where appropriate.
THIRD-PARTY WEBSITES
The Site may contain links to third-party websites, applications, forums, payment providers, advertisements, and external services that are not controlled by GOTOES. This Privacy Policy does not apply to those third parties. We are not responsible for their content, privacy, or security practices.
CONTACT
For privacy questions, deletion requests, GDPR requests, California privacy requests, or other data requests, please use the GOTOES contact form. Include enough information for us to identify the relevant account, upload, payment, or message, but please do not send sensitive files unless they are needed for the request.
Last updated July 4, 2026
These Terms of Use (“Terms”) apply to your access to and use of https://gotoes.org, GOTOES tools, GOTOES accounts, file-processing services, donation features, support forms, and related pages (collectively, the “Site”). “GOTOES,” “we,” “us,” and “our” refer to gotoes.org. By using the Site, you agree to these Terms. If you do not agree, do not use the Site.
We may update these Terms from time to time. When we do, we will update the “Last updated” date above. Continued use of the Site after updated Terms are posted means you accept the updated Terms.
The Site is operated from the United States. If you access the Site from another location, you are responsible for complying with laws that apply to you. The Site is not directed to children under 13. If you are under the age of majority where you live, use the Site only with permission from a parent or legal guardian, and do not make donations, connect third-party accounts, or upload files unless you have permission to do so.
GOTOES provides web-based tools that help users process, repair, convert, inspect, merge, timestamp, upload, and manage GPS, fitness, and activity files. Some features are free. Some resource-intensive or abuse-sensitive features may require a GOTOES account, donor status, or both.
The Site is provided for convenience and personal file-processing workflows. GOTOES is not a medical device, not a fitness coach, not a data backup service, and not an official service of Strava, Garmin, PayPal, Stripe, Venmo, Patreon, Google, or any other third-party platform.
You are responsible for the files you upload, import, email, or connect to the Site. You represent that you have the right to use those files and that your use of the Site will not violate another person’s privacy, intellectual property rights, contract rights, platform rules, or applicable law.
GPS and activity files may contain sensitive information, including location history, timestamps, health and fitness data, device information, and personally identifying details. You should review files before uploading them. If you do not want GOTOES to process information contained in a file, do not upload or import that file.
You should keep your own backup copies of all original files. GOTOES storage is temporary and is not intended as user file storage. Uploaded files, processed databases, exports, logs, contact archives, and account records are handled according to the .
GOTOES may delete uploaded files, processed files, temporary files, exports, logs, accounts, or other records as part of normal cleanup, security, abuse prevention, account deletion, legal compliance, or system maintenance.
GOTOES tries to produce useful output, but GPS and fitness files are complicated, device-specific, and sometimes corrupt. Output files, calculations, timestamps, distances, elevation, speed, laps, maps, metadata, and other results may be inaccurate, incomplete, incompatible, rejected by third-party platforms, or different from what another app would produce.
You are responsible for reviewing output before using it, sharing it, uploading it, relying on it, or deleting your original files. GOTOES is not responsible for lost activities, rejected uploads, inaccurate training data, account issues on third-party platforms, or consequences that result from your use of generated files.
You are responsible for keeping your account credentials secure and for all activity under your account. You must provide accurate account information and keep your email address current enough for account, donor, support, and security purposes.
We may suspend, limit, delete, or refuse service for accounts or activity that appear abusive, fraudulent, unlawful, automated, security-sensitive, resource-intensive, harmful to the Site, harmful to other users, or inconsistent with these Terms.
You may delete your GOTOES account from the account area. Some information may be retained briefly or longer as described in the Privacy Policy, including records needed for security, abuse prevention, support, payment, accounting, legal compliance, or dispute handling.
The Site may interact with third-party services such as Strava, Garmin, PayPal, Stripe, Venmo, Patreon, Google, hosting providers, email providers, advertising providers, and analytics providers. Those services are controlled by their own terms, policies, APIs, availability, rules, and account settings.
If you connect GOTOES to Strava, Garmin, or another third-party service, you authorize GOTOES to use that connection to provide the requested features. You can disconnect supported integrations from your dashboard or the third-party service’s account settings. Third-party services may change, limit, suspend, or revoke access at any time, and GOTOES cannot guarantee that an integration will remain available or behave the same way over time.
Names, marks, and logos of third-party services belong to their respective owners. Reference to a third-party service does not mean that GOTOES is endorsed by, sponsored by, or affiliated with that service unless expressly stated.
Donations help support GOTOES and may unlock donor features according to the donation page and your account eligibility. Donor features may include ad removal, nag-screen removal, larger upload limits, FIT export access, direct imports, Garmin transfer features, or other features shown on the Site. Donor features, limits, eligibility thresholds, processing methods, and availability may change over time.
Unless a specific offer says otherwise, one-time donor feature access is generally time-limited, commonly one year for qualifying one-time donations. Patreon or other subscription-based access depends on the active third-party subscription or term. Some payment methods are automatic and some require matching the payment email to your GOTOES account or contacting GOTOES for manual credit.
Payment information is processed by third-party payment providers. GOTOES may store limited donor and transaction records needed to provide donor features, prevent duplicates, handle support, and maintain accounting records. Do not make a donation if you do not agree to the payment provider’s terms or privacy practices.
Donations and digital feature access are generally not returnable after access is granted or services are used, except where required by law. Refund requests may be reviewed case-by-case. If you believe a payment was mistaken, duplicated, unauthorized, or not credited correctly, contact GOTOES promptly using the contact form.
If a third-party payment provider offers automatic renewal or subscription billing, the renewal terms, cancellation method, and billing controls are provided by that third party. If GOTOES later offers direct automatic renewal or subscription billing, the renewal terms and cancellation method will be shown before purchase as required by applicable law.
You agree not to:
The Site, code, design, text, images, tools, documentation, and other content provided by GOTOES are owned by GOTOES or its licensors and are protected by intellectual property laws. You may use the Site for your own lawful personal workflows, subject to these Terms. No other rights are granted except as expressly stated.
You keep whatever rights you have in files you upload. By uploading, importing, emailing, or otherwise submitting files or information to GOTOES, you grant GOTOES permission to process, store, transmit, inspect, modify, convert, export, and delete that material as needed to provide the requested service, troubleshoot problems, protect the Site, comply with law, and operate according to the Privacy Policy.
Your use of the Site is also governed by the , which explains what information is collected, how it is used, how long it is generally retained, and how to make privacy requests.
The Site is provided “as is” and “as available.” To the fullest extent allowed by law, GOTOES disclaims all warranties, express or implied, including warranties of accuracy, reliability, availability, merchantability, fitness for a particular purpose, non-infringement, and compatibility with any device, file format, or third-party platform.
We do not guarantee that the Site will be uninterrupted, secure, error-free, free of data loss, free of bugs, compatible with every file, accepted by any third-party platform, or available at all times.
To the fullest extent allowed by law, GOTOES will not be liable for indirect, incidental, special, consequential, exemplary, or punitive damages; loss of data; lost activities; lost profits; lost donor access; third-party account actions; rejected uploads; corrupted files; inaccurate results; downtime; security incidents; or inability to use the Site.
To the fullest extent allowed by law, GOTOES’s total liability for any claim related to the Site or these Terms will not exceed the greater of the amount you paid to GOTOES for the specific disputed service during the 12 months before the claim or $10 USD. Some jurisdictions do not allow certain limitations, so some limits may not apply to you.
You agree to defend, indemnify, and hold harmless GOTOES from claims, damages, losses, liabilities, costs, and expenses arising from your use of the Site, your uploaded files, your output files, your violation of these Terms, your violation of third-party rights, or your violation of applicable law.
GOTOES may modify, limit, suspend, retire, replace, or discontinue any tool, feature, storage behavior, donor benefit, integration, account feature, or access method at any time. We may also block or throttle requests, remove files, revoke sessions, require login, require donor status, or take other steps needed to protect the Site and legitimate users.
For questions about these Terms, account issues, donation issues, refund requests, or support requests, use the GOTOES contact form.
GOTOES has a set of free utilities to help you fix, convert, and manage GPS activities.
GOTOES Merge and Repair helps you combine separated GPS tracks. This is useful if you accidentally reset your GPS mid-activity, if your activity outlasted your batteries (and you used multiple devices), or if you want to merge a heart-rate-only track into your GPS track.
Unlike many methods that only combine two files at a time (and often lose or mishandle metadata), this tool is designed to merge files while preserving and aggregating metadata where possible. It also includes repair logic for corrupted FIT files, and can apply repairs to GPX/TCX in common failure cases.
GOTOES Add Timestamps helps you add timestamps to GPX files. This is commonly needed when you draw a course (like a Strava route export) and need timestamps for Garmin Connect / Garmin Express workflows, or when you’re recreating a missing portion of a ride so it fits correctly into your real activity timeline.
A common workflow is: create the missing piece → add timestamps → merge with your real ride using Merge and Repair.
GOTOES Race Repair helps you re-create a lost GPS track from a race. If your GPS died part way through a big event, you can rebuild the missing portion from a course file.
GOTOES Email Uploader brings back the ability to upload tracks to Strava via email. Strava deprecated email uploads in 2015; this tool restores the workflow via the Strava API.
This tool requires a GOTOES account. Once set up, you email rides to a special address and they’re processed and uploaded to Strava via the API. A unique feature is that you can connect two Strava accounts to one GOTOES account, so a single emailed track can be uploaded to both accounts (useful for tandem teams).
GOTOES FIT to CSV Converter allows you to convert FIT files to CSV files. It exports record data (timestamped streams like cadence/power/etc.). Additional development is planned over time.
GOTOES FIT File Viewer allows you to view, edit, and repair raw FIT data in a human-readable format. Drag-and-drop a FIT file to inspect fields, detect issues, and apply basic repairs. You can also edit individual values one at a time.
GOTOES Shrink FIT Files helps when you have a FIT file that is too big for Strava. It thins the largest message sets (usually record messages) according to your settings so you can upload large / multi-day activities.
GOTOES Garmin to Strava allows you to synchronize individual Garmin activities with Strava. While Garmin Connect ↔ Strava account linking syncs everything (often including the last 30 days), this tool lets you choose exactly which activity to transfer and lets you name the activity before copying to Strava.
GOTOES Spreadsheet Uploader allows you to upload old activities to Strava. If you tracked workouts in a spreadsheet before Strava, you can post historical activities quickly using this tool.
GOTOES Filter Waypoints Along a Route allows you to create a GPX with only the waypoints relevant to your course. Upload your course file and waypoint file, set a distance threshold, and export a GPX containing only nearby points of interest.