GOTOES.ORG also makes great software for Mac OSX!

GOTOES | Strava Tools Update Logs

History of changes I have made to the Various Tools. Please use the contact link above to report bugs or feature requests.
System Stats Log:

Number of users in last 24 hours (rolling tally; updated 6x per day): 5,378
Percentage of files merged/timestamped by users who Donated: 0.92%
-  (Donation & User stats do not include Email Uploads or Garmin->Strava)

Total merged since Jan 1, 2021: 4,179,608
Total Time-Stamped since Jan 1, 2021: 940,053
Total Uploaded by Email since Oct 13, 2022: 5,564
Total FIT -> CSV since Oct 30, 2021: 48,925
Total Garmin -> Strava since Oct 13, 2022: 1,917
Total Spreadsheet Upload since Feb 19, 2024: 6,912

Average # of files merged per day: 3,449
Average # of files Time-Stamped per day: 776
Average # of files Uploaded by Email per day: 10
Average # of FIT files converted to CSV per day: 54
Average # of GarminConnect -> Strava per day: 3
Average # of Spreadsheet Upload per day: 100

GPS File Merger Change Log:

Version 25.7 (04/14/2024)
  • •   Added additional security measures to protect the site for how session cookies are handled. Also denied iframes of GOTOES, added more 443 requirements, and others.

Version 25.6 (04/13/2024)
  • •   I've had some trouble with bot submissions, and today I changed the scripts again to try and mitigate that. If you are getting an error or an unanticipated refresh, please use the contact form to let me know the steps to repeat.
  • •   Added a timer and a page refresh every 10 minutes to keep the session active. You can click on the shield icon to see how much time your token has remaining. I think a lot of people leave their GOTOES windows idle, which had been causing the tokens to expire.
  • •   Now the tool will insert the product name into the file_id field. Previously, this field would contain a reference to GOTOES. Now the GOTOES reference is in the file_creator field. Note that this is a non-standard field.
  • •   Added a reverse lookup for GPS units in FIT Files that may not have the correct MFR ID / Product ID. This happens in fledgling companies that haven't registered with ThisIsAnt yet.

Version 25.5 (04/05/2024)
  • •   Made improvements to how the polling feature works when a user uploads files. Sometimes, the script would not terminate, cauing excessive pings to the server. Now, the tool performs a secondary check to ensure termination of the script.
  • •   Added the ability to scroll to laps in the Edit Points tool. This can help users because sometimes it is difficult to find the laps in a big table.

Version 25.4 (04/04/2024)
  • •   Made further improvements to the auto-select of GPS units. Note that I also brought back some missing "duplicate" products.. seems like some manufacturers apply more than one ID to their product.

Version 25.3 (04/03/2024)
  • •   Added feedback field for future user-messages (planning for GOTOES log-in accounts so users can save their settings cross-browser).
  • •   Added messages to the new feedback field so user is aware of what happened when trying to link their GOTOES to Strava.
  • •   Added shield icon (🛡️) to let the user know if their connection to GOTOES is secure. Also added an unlocked icon (🔓) to let them know in case it is not secure.

Version 25.2 (03/30/2024)
  • •   Added some mitigation to protect against web-bot submissions. Please let me know if this causes you any trouble viewing the pages!
  • •   Added a loader icon to the iframe of each tool because it takes a second or so to load, depending on connection speeed.

Version 25.1 (03/27/2024)
  • •   Added a work-around for power not being displayed correctly in Training Peaks for files that were exported from Peloton to Strava. GOTOES had been exporting the true power, but I wrote a work-around that made Peloton compatible with Training Peaks.

Version 25.0 (03/26/2024)
  • •   Fixed a bug that I introduced on March 20th where Developer Data would not be inserted into the final output file.
  • •   Increased the maximum zoom level for the Edit Points Tool. Tested in Safari, Chrome, Opera, Firefox, MS Edge.
  • •   Added different map layers to the Edit Points Tool - Satellite, Map Box, and also World Topo. Note that different layers have different zoom abilities; certain layers will be grayed out, depending on your zoom level.

Version 24.9 (03/20/2024)
  • •   Took the feature I added yesterday, and applied it to ZIP files. In other words, if a user mistakenly labels a GPX or TCX file as FIT, and then zips it, the tool will figure it out and unpack the file correctly. The tool cannot unpack a ZIP within a ZIP, though - so hopefully users do not double-zip their files. Even if a user does this strange combination, the tool will at least let them know how to fix it - even though it cannot auto-correct this problem.
  • •   Improved autodetection of GPS type from TCX files.
  • •   Lots of code consolidation and cleanup to make it easier to add future features
  • •   Added a javascript to the Edit Points tool which allows users to scroll to errant points helping the user quickly find points that might be invalid. Currently, the tool only detects timestamps that are too far in the future or the past, but I hope to add detection for other spurious values.

Version 24.8 (03/19/2024)
  • •   I noticed that some people were uploading ZIP files that had a FIT extension. This would produce an error, so I decided to do a "pre-flight" check on FIT files and convert them to ZIP if necessary. This results in an easy transition for the user and fewer error logs for me.
  • •   The tool also now checks and renames files that are given a FIT extension... but are actually TCX or GPX files.
  • •   Sped up the tool by moving the clean-up script to a new trigger.

Version 24.7 (03/18/2024)
  • •   Made some changes to FIT exports to work-around some bugs in the Coros Training Hub software. Still trying to figure out how to work-around the bugs in their pace graph for swimming.
  • •   Added a new "stream" checkbox for swimmers called "Add Pool Length Data". GOTOES was mostly designed for cyclists and runners, and it had been ignoring information about the swimming pool. Now, if the original file contains pool information, you can add it into your FIT export. The tool will also refactor your distance. The reason for refactoring distance is because some GPS devices insert zeros for distance during a lap, and don't increment the distance until a lap is complete. This causes a stair-step speed and distance graph.
  • •   Improved how the "Try and Insert Stopped Time" checkbox works, and also fixed a small bug in how the "Minimum Speed to Consider Moving" drop-down works

Version 24.6 (03/17/2024)
  • •   Tinkered with the script that nags about donating. The feature which allowed you to remove the nag screen for free wasn't working for everyone. Now you can remove it freely.
  • •   Restructured and cleaned up the help messages to save page load time on the main pages

Version 24.5 (03/15/2024)
  • •   Released the v2 version of the GOTOES Bookmarklet to test files for timestamp use. This release BREAKS v1, so if you are having trouble, please delete your old bookmarklet and instal the new one.
  • •   Fixed an issue on the "fake distance" script where the user would see the distance in kilometers (even if they had specified miles).
  • •   Cleaned up code and updated to more recent version of jQuery. Let me know if something isn't working!
  • •   Updated some pages to more recent jQuery. Also, provided another CDN as a fallback

Version 24.4 (03/12/2024)
  • •   Found a scenario where a corrupted file had invalid timestamps that were stored out-of-order in the FIT file. My tool hadn't been detecting that type of corruption. Added a feature that detects the bad timestamps, and now warns a user if the duration of the activity is more than a year long.
  • •   Improved the "Randomize ID Tag" feature, which allows you to upload a duplicate activity to Strava.
  • •   Added one significant digit to the rounding of distance. A user notified me that 25m pools were being rounded up to 30m pools.

Version 24.3 (03/11/2024)
  • •   Fixed an issue where the software version inserted into FIT files would not be accurate if the selection was xx.00. (the tool would convert the 00 to 01). Now, the serial numbers are stored as strings instead of floats as to not lose the significant digits.
  • •   Added a 10 point "backfill" feature to the 'performance_condition','enhanced_respiration_rate','potential', and 'stamina' fields. Sometimes files have dropouts or do not start recording these values right away at the beginning of the file. The backfill feature will replace any empty values with the subsequent non-zero value (working backwards).

Version 24.2 (03/01/2024)
  • •   Added error checking for files uploaded with out-of-range GPS coordinates to the timestamp tool. The tool cannot fabricate speed if the coordinates are impossible, so those now get skipped and the user gets a notification.

Version 24.1 (02/22/2024)
  • •   Added Venu 3 GPS.
  • •   Added a micro-form to make it easier for users to submit GPS devices that are currently not in the GOTOES database.
  • •   Wrote some more code to help the user when they upload corrupted FIT Files. Also, the user is prompted to rename ZIP files that are erroneously given the FIT extension and try again

Version 24.0 (02/21/2024)
  • •   Fixed countable error: 1387 functions.

Version 23.9 (02/14/2024)
  • •   Added a feature where users can insert distance into indoor GPS activities that have neither distance nor latitude/longitude. That feature is discussed here.
  • •   Added the ability to export Calories Consumed, Estimated Sweat Loss, and Fluid Consumed.
  • •   Fixed an issue where the user would receive a dead link from Strava if they tried to upload a duplicate activity.

Version 23.8 (02/13/2024)
  • •   Fixed an issue where negative values for certain "esoteric" fields would be shown as "1" instead of the negative value.
  • •   Now, when a user clicks on a GPS type to insert that type as the GPS type in the final file, the serial number and software version will also be copied.
  • •   Added help pop-ups to ensure that users know that certain Garmin metrics will only appear if they specify a Garmin device with a Garmin Serial Number in the final file.

Version 23.7 (02/12/2024)
  • •   Fixed a bug in the recalculate laps feature that could occur if a user had two sequential (non overlapping) activities to recalculate. The laps in the 2nd activity would be erased; now that is fixed.
  • •   Don't Recalc Lap Distances Checkbox now auto-remembers your last setting.
  • •   Ignore Big Gaps now auto-remembers your last setting.
  • •   Fixed a bug where ignoring 2,3,4,5, and 7 seconds would actually always revert to ignoring 2 seconds.
  • •   Fixed a bug where it was possible to get a negative lap distance when inserting a lap right at the junction of two track uploads.

Version 23.6 (02/11/2024)
  • •   A user found the message number for the Primary Benefit Field. I was able to add that to the output of the FIT files from GOTOES. Note that this message number does NOT appear in the Garmin SDK, so if you know of a field that is not exported by GOTOES, try and hunt down the message number so I can add it for you.
  • •   Wrote a work-around for a bug in Edge browsers. The "Parse Rarely Used FIT fields" button might not appear if you select certain combinations of FIT and TCX/GPX/CSV files. Now, that is fixed
  • •   Added an auto-detection method for corrupted time stamps that highlights any problem times in red with a caution symbol. Also, the user is notified which rows have corrupted stamps when going to the "Edit Points" page

Version 23.5 (01/28/2024)
  • •   Fixed an issue where certain combinations of files with laps might lose the laps upon merge.

Version 23.4 (01/20/2024)
  • •   Fixed an issue where a user may not see Stamina, Performance Condition, etc. when merging certain types of FIT files.

Version 23.3 (10/28/2023)
  • •   Fixed an off-by-one bug in the recalc laps tool. This is the link-button that appears next to the lap stream (assuming you have laps).
  • •   Fixed an issue where imported CSV files might not have their laps detected - even if the CSV was properly formatted.

Version 23.2 (10/27/2023)
  • •   Fixed an issue where if a user tried to upload a FIT file and selected the option to process esoteric fields... but there were not any presnt.. the user would not be able to export a FIT file as a result. Now, if all of the extra fields are missing, the tool will ignore that and allow the user to create a FIT download anyway.

Version 23.1 (10/08/2023)
  • •   An issue existed with the add Timestamp tool where a corrupted export of a FIT file from Strava could result in an empty track from GOTOES when trying to add timestamps. I wrote a work-around for this rare scenario.

Version 23.0 (10/03/2023)
  • •   Changed the bookmarklet code to work with updated Firefox Browsers. If bookmarklet for testing for GOTOES timestamps does not work, please update your bookmarklet.
  • •   Changed the timeout behavior in the tool that checks for timestamps by GOTOES. This should allow users to check 2 files every 20 minutes. Previously some users were being locked out for longer durations.
  • •   Fixed a long lasting but with the Add Timestamp tool where the speed would not be calculated correctly depending if a user selected MPH vs KmPH. Surprised this bug lasted so long before anyone notified me!

Version 22.9 (09/10/2023)
  • •   Fixed a bug with Smart trim where it was possible to have a single GPS point at the equator if the user did a smart trim mixing indoor/outdoor workout files.
  • •   Fixed an null parameter error: 2043 functions.
  • •   Fixed a count error: 2005 phpFFA.

Version 22.8 (09/04/2023)
  • •   Improved MultiSport detection for corrupted FIT Files

Version 22.7 (08/21/2023)
  • •   Fixed an issue with BIVY->Mapout sending GPX files
  • •   Fixed an issue with significant digits causing a failure for BIVY uploads
  • •   Fixed an issue with swim FIT files that were missing distance entirely, causing the tool to crash

Version 22.6 (08/05/2023)
  • •   I found a corrupted FIT file with just one bad heart rate point that crashed the tool, so wrote a work-around for that type of corruption.

Version 22.5 (08/02/2023)
  • •   Added Suunto Ambit Peak 5 GPS.
  • •   Wrote a work-around for some versions of Safari where progress indicators would not be updated.
  • •   Added a help article for uploads that take more than the Max Upload Time of 180 seconds.
  • •   Just before the max upload time is reached, the browser will now attempt to direct the user to the aforementioned help page, and terminate the execution of the process.
  • •   I noticed people were uploading ZIP files where they had removed the ".ZIP" extension and replaced it with ".FIT". This was fooling the tool into trying to parse a ZIP file as if it were FIT (which isn't possible). I was spending all sorts of time trying to figure out how to fix corruption on these mysterious FIT files, until I finally discovered they were NOT FIT files!! Now the tool delivers a warning and tells the user to name the files as ZIP if they are trying to upload compressed ZIP files.

Version 22.4 (08/01/2023)
  • •   Fixed an issue where FIT files with non numeric entries in the lap field could cause the tool to crash (functions 1823).

Version 22.3 (07/28/2023)
  • •   Further improvements to auto-detection of GPS type.
  • •   People have been uploading GPX/TCX files with ".FIT" endings. Not sure why, but the tool now reports the error type and advises them to rename the file so it will be processed correctly. I was getting notifications about corrupt FIT files, only to find that they are GPX. I'm trying to collect corrupted FIT files because I want to build a tool that makes maximum attempts at repairing corrupted FIT files. You can currently upload a corrupted file to the merger, and it will repair basic corruption, but my aim is to extract everything possible from very corrupted files.
  • •   Added the ability to recalculate lap distance. This can be helpful for files like the Swim Goggles (see update 22.2) which were also missing lap distances.

Version 22.2 (07/27/2023)
  • •   Added FORM Swim Goggles to GPS list.
  • •   Added ability to enter a pool length if that value is absent from the source FIT file.

Version 22.1 (07/26/2023)
  • •   Improved GPS name detection for GPX, Strava X-fers and TCX files
  • •   Added several Polar GPS units.
  • •   Modified the swim error-correction feature. Previously, if a FIT file didn't have all of the swim data, I would calculate the distance based on the average speed. I periodically see swims that are missing distance, but have speed - so I can insert the distance. An individual contacted me about some "FORM Swim goggles." He was swimming in a 10 meter pool, and the goggles can only take a setting down to 15m. This is a VERY edge case, and I don't normally like hard coding settings into the tool for one person - but I don't think this will affect other users: If the tool detects the absense of these four items: distance traveled, GPS points, pool length, AND average speed... only in the case where ALL of that info is missing, the tool will assume that the pool length is 10m and it will back-fill distance information based on the time stamps for each pool length. My hope is that they fix their app - and when they do I will pull this code.

Version 22.0 (07/23/2023)
  • •   Fixed an issue with the TCX course tool where it might not read in all of the GPX waypoints.
  • •   Added links so users can download the source POI data in CSV format. (link is the number of detected waypoints).
  • •   Added ability to view the POIs on a map (if you click the blue Edit Points Button)

Version 21.9 (07/22/2023)
  • •   As promised, today I added the ability to also parse waypoints in TCX course files. This may be a little finicky because there is more than one way to embed waypoints in a file. Also, the tool has always been based around a linear time flow - and waypoints don't have time.. so things might look a little strange on the graph.
  • •   Added a Facebook messenger chatbox at the bottom so you can request help real-time. I can't always be there to reply, but if I'm available, I will try.
  • •   Created a Facebook page and linked to it on the website. Sometimes the GOTOES website can go down, and when it does, I get bombarded with messages. The idea here is to give people a place to see updates and feel comfortable that GOTOES isn't "shutting down forever"

Version 21.8 (07/21/2023)
  • •   Added the ability to read in waypoints from GPX files. If your GPX file has waypoints or route points or POIs, you will see a new checkbox in the streams area saying "POIs". If you check one of these streams, your exported TCX file will now be a COURSE file and not an activity file. This means that it won't work on Strava, but it will work if you upload it to your modern GPS device as a course.
  • •   The aforementioned feature is currently in Beta. The future plan is to also read in waypoints/coursepoints from TCX files. I do not plan to process FIT files in this way.

Version 21.7 (07/19/2023)
  • •   Added ability to see the speed graph when using the Edit Points tool - IF you have fewer than 10,000 points in your file. You cannot edit speed - only distance - because speed is based on the distance. Note that you can use this feature to see the difference between the two different speed options ("Use Distance" and "Use Speed" in the "Calculating Speed" box)
  • •   The tool now looks for the "enhanced_speed" field in the absense of "speed" in FIT files.
  • •   Added error checking so that a user is warned if they try to crop the start time of a track so that it is after the end time.

Version 21.6 (07/17/2023)
  • •   Fixed an operand error: 368 uploadPABHTML. This rounding error would cause a failure for some CSV imports that were missing certain fields.
  • •   Added ability to batch download original files from the upload page. Click the # symbol in the table header.
  • •   Added an option "Minimum Speed to Consider Moving". This selector can help some people correct their average speed if they are uploading naturally slow activities like hiking up steep mountains or swimming

Version 21.5 (07/16/2023)
  • •   Added user feedback and error catching for corrupted GPX and TCX files.
  • •   Fixed a bug where the user would be warned about overlapping files and double distance - even if the files were not overlapping.
  • •   Improved error reporting on corrupted FIT files and also added more user help for speed and speed smoothing.

Version 21.4 (07/15/2023)
  • •   Added a javascript that checks the total size of the file uploads BEFORE the user sends them off to the server. This will hopefully eliminate some confusion for people who are trying to upload large files because uploading too much information would cause the app to crash with no feedback. Note that you can ZIP your files for upload if you want to get past the size limitations.

Version 21.3 (07/14/2023)
  • •   As mentioned, BIG changes (improvments once we muddle through the bugs) made yesterday... Keep me informed of the issues! SEND ME YOUR FILES FOR TESTING! So Far I've fixed the following:
  • •   Fixed rounding error: 1079 functions. This bug was causing failures in TCX uploads.
  • •   Fixed array multi-sort error: 52 upload. This bug was causing failures when trying to copy files from Strava to GOTOES.
  • •   Fixed absolute value error: 1665 functions. This bug was causing failures when.. Actually, I forgot!
  • •   Fixed absolute value error: 1161 uploadExportFinalFile. This bug was causing failures when exporting as KML.
  • •   Fixed "final/private" error: 449 (Zend_reader) and error 287 (Zend_writer).
  • •   Fixed a bug where the timestamp tool would reverse the route even when the user selected to have the route be in the forward direction
  • •   Fixed array_sum error: 1430 functions. This bug would cause failure for files (such as yoga) that did not have any distance values.
  • •   Added a work-around for Bosch GPS only. Bosch records FIT files incorrectly with missing points. For cadence, the tool now smooths the cadence (3 points).. and if it finds that the power is zero, the tool will drop the cadence to zero. The cadence for overlapping merges won't be exactly what you see if you upload the file by itself, but it will be very close.
  • •   Fixed issue where files with empty laps were showing {} laps
  • •   Added a warning dialog for people who are trying to merge overlapping files. The warning appears if the user is trying to include two distance streams from overlapping files

Version 21.2 (07/13/2023)
  • •   As the user-base grows (and there are more donors accessing the 'HEAVY' features), I decided to upgrade the server again and paid for another increase in the level of service. These mean there were some BIG changes to how the tool works. Long term, this should make the tool better, but PLEASE PLEASE use the contact form let me know if you see ANYTHING weird. The only way I can fix the tool is if YOU let me know something is wrong.

Version 21.1 (07/09/2023)
  • •   Updated to a fixed IP address. This should speed up the site slightly, and lead to some other minor improvments. During the transition (up to 72 hours) GOTOES may act a little wonky for some users.

Version 21.0 (07/02/2023)
  • •   Added Garmin GPSMAP 67i to the device list.
  • •   Fixed a bug where the export type would not be pre-selected.

Version 20.9 (06/22/2023)
  • •   Added rounding to the total seconds time display.
  • •   Fixed bug where warning icon for insufficiently dense tracks would not disappear after the interpolate option was selected.

Version 20.8 (06/09/2023)
  • •   Added ability to export the following sport types: Pickleball, HIIT, Racquetball, Squash, Pilates, Virtual Row. I wasn't able to find Garmin Codes for all of these (and I want to add Badminton too)... so I tried to guess some of them. The SDK hasn't been updated since February 2. So, if you have a FIT file from one of these sports, please send it to me!

Version 20.7 (06/08/2023)
  • •   Added 1 second of Cadence Smoothing ONLY for Bosch eBike Flow App. This probably isn't enough - but the problem is that the Bosch eBike app records a lot of zero values when the cadence sensor drops out (about every other second). I don't like this "workaround" but hopefully Bosch will fix their app in the future.
  • •   Improved the Smart Trim detection method. If your two tracks begin within 30 seconds of each other, the tool assumes that you intended to start simultaneous overlapping activities - and it will provide the button. I noticed that some activities surpassed the overlap detection threshold, which is why I added this new parameter.

Version 20.6 (06/07/2023)
  • •   Added Bosch eBike Flow App.
  • •   Added Tennis as an activity option.

Version 20.5 (06/06/2023)
  • •   Fixed a rare, but strange bug where sometimes the tool would "lose track" of your uploaded file when trying to insert ConnectIQ data or Multisport data.
  • •   Changed how device types are presented to Strava. Now the devices get a blanket "barometric altimeter" designation. I don't know if Strava pays attention to this, but it might help with elevation overrides
  • •   Changed how FIT files are processed by the tool. Previously, the tool would only look at the first 1,500 points to determine is a stream was present. This meant that in some activities where the stream didn't start until late in the activity, it would never be detected. Now, the tool examines every point in the activity to make sure there is a stream present. An example would be elevation in a Triathlon file. There is no elevation recorded at the beginning (Swim), and so the tool wouldn't know about the elevation data; now it will.

Version 20.4 (06/05/2023)
  • •   Big New Feature: The ability to add MultiSport (triathlon) to an output file. Strava does NOT support MultiSport yet.. but Garmin Connect does. If you upload a FIT multisport file, you will see a checkbox to add the MultiSport data to your GOTOES output file (if you are exporting as FIT from GOTOES). Once you check this box, you will lose the ability to override any of the global stats. This is because these stats are now dictated by the original multisport data you elected to include.
  • •   Fixed a small bug in the GPS auto-select feature which attempts to pre-select the best GPS/Serial Number/Software Version for your output file.

Version 20.3 (06/03/2023)
  • •   Fixed a bug on the edit points tool where the date/time might be incorrect, depending on your location.
  • •   Added the Wear OS by Google GPS Type.

Version 20.2 (05/18/2023)
  • •   Added Garmin Instinct 2 Solar and Garmin Edge 840 to list.
  • •   Fixed a bug in how the "Time Shift" Feature Works. Previously, the laps would not be time-shifted correctly. Now laps get time-shifted too.

Version 20.1 (04/21/2023)
  • •   Added the ability to download Developer Data in CSV format. Note that this link will only appear if you select at least one valid ConnectIQ stream to be added to your file.
  • •   Fixed an issue where if a user inserted ConnectIQ data, reloaded the page and inserted ConnectIQ data again, the ConnectIQ data would not be formatted correctly.

Version 20.0 (04/19/2023)
  • •   Added Tacx GPX Type, Garmin Forerunner 265, and Garmin Forerunner 965.
  • •   Added smoothing for respiration rate and performance condition for files that have a lot of zeros.

Version 19.9 (04/01/2023)
  • •   A prolonged outage of the GOTOES tools began on March 28 at 3:27AM UTC. This was caused by a defect in the server at Bluehost (my webhost). Unfortunately, the errors were being generated by a file that only they have access to - meaning that I was unable to do anything to restore the file except go through their technical team. This took time as I needed to nag them and escalate from the "Platitude People" to the technical support people who could actually fix the files. The website was down for about 42 hours, which is the longest outage GOTOES has experienced in 8 years of service. I sincerely apologize for this outage, and I hope you understand when I tell you that I took all of your concerns seriously. I received over 100 emails during this time, and slept little while trying everyhing I could on my end (experimenting with work-arounds to override their corrupted fles)... as well as frequently contacting their support team in an effort to prioritze resurrection of the site. I hope that you understand what I went through during this time and can appreciate the effort I put forth to restore the site. If you're not already a donor, I hope you consider becoming one - I must have aged 2 years in those 2 days from all of the angry emails I received. Please remember this is a free service and it is based on donations. If the site is down, it's OK to let me know - I plan to always keep it up... but please remember that I'm a real person who is working hard on a project that helps you. If you made a one-time donation 7 years ago, I do understand that you're not happy to have the site down for a day or two, but plase don't write "I'm a PAYING CUSTOMER!!!" in your correspondence. (end rant)
  • •   After the outage, I was forced to rebuild the way that files are processed by the server. Bluehost apparently had moved me to a different server without telling me, and it appears to have a different configuration. I have retored as many settings as I could find that have changed - but there is a possibilty that I missed someting. Please notify me if you experience unusal behavior of the tool. Thanks!

Version 19.8 (03/07/2023)
  • •   Adjusted the clustering of "Training Load" and "Aerobic/Anaerobic Training effect" to better match how these are displayed on Garmin Connect. Also improved the help on these topics with additional screen shots and a discussion of the importance of providing a Garmin Serial Number to resolve certain types of issues on Garmin Connect.

Version 19.7 (02/19/2023)
  • •   Fixed some minor HTML and Javascript issues on the settings page. These weren't causing any known problems, but possibly could have issues with certain browsers or in the future. Specifically, please let me know if you experience any faults in the trim feature.

Version 19.6 (02/15/2023)
  • •   Improved how the output GPS type is auto-selected by the tool. When the tool auto-selects your GPS output type, I have prioritized "better" GPS types. The reason for this is because some people were doing indoor workout with Zwift and selecting Garmin as the GPS type. They would then be confused as to why Strava reported them being in the wrong time zone - even though they had selected the correct time zone in GOTOES. So, roughly the priority is as follows: Zwift > GPS with both a serial number and a software version > GPS with just a serial number > GPS with just a software version > GPS with just a name > GPS stored in the cookies from your last merge > GPS designated as Strava App > No GPS Selected.
  • •   Changed Zwift manufacturer ID to 260 for Zwift Ride (it has always been 260 for Zwift Run, but it used to be product code "17" for ride and maunfacturer ID of "0", which I think is some vestige of Strava assigning numbers to early non-compliant files from Zwift). Let me know if your Zwift Ride files are not properly detected by the tool.

Version 19.5 (02/13/2023)
  • •   Fixed a bug that disabled the embed distance option when users uploaded tracks that were not overlapping. This bug was introduced 3 days ago when I added a warning text to help users learn about removing duplicate trackpoints.

Version 19.4 (02/07/2023)
  • •   Made a number of changes to how speed is calculated for overlapping files when only one distance stream is selected. The changes apply to both "Use embedded Distance" as well as "Calculate Distance".

Version 19.3 (02/06/2023)
  • •   Added ability to show basic MTB stats in the description field of an activity on Strava. Details can be found here
  • •   Added "Lightbox" feature to the FAQs (forum) page... this will help users look at the images without having to click on the back button in their browser
  • •   Edited one of the FAQ plugins (commented out 406 in version_helper.php)
  • •   Added KML Export type. This is currently in Beta.

Version 19.2 (02/05/2023)
  • •   Added MTB Dynamics to the Merge Tool. Now you can export "Total Grit", "Average Flow", and the "Jump Count". Also, the individual jumps and locations will be sent to the output as well. You can de-select jumps using command+click (or control+click if you are on a PC).
  • •   Added Exercise Load, Total Cycles, and Session Threshold Power to the available fields in the final FIT file export. Having access to these fields gives you more control over your Garmin Connect Fitness data.

Version 19.1 (02/03/2023)
  • •   Added "auto-click" javascript so that once a user uploads their files, the tool automatically jumps to the next step. This saves the user 1 click, and importantly for new users: helps avoid confusion about the work-flow of the tool. On small screens, sometimes people cannot see the "Click Here for the Next Step" button.
  • •   "Parse Rarely Used FIT Fields" now "remembers" your previous settings so you don't have to click it each time.
  • •   Improved and consolidated js code which controls display of the "Parse Rarely Used FIT Fields" option.

Version 19.0 (02/02/2023)
  • •   I've been working hard for you data-hungry folks! Today I added some new fields that will now transfer when you click the "Parse Rarely Used FIT Fields" option on file upload. Remember, the tool builds FIT files from scratch rather than modify existing files. I have to add these fields one-at-a-time in a tedious manner; some are not even defined by Garmin in their SDK! The benefit of creating from scratch is that you get a "clean" FIT file that you know will work with any app. The new fields are "grit", "flow", "respiration rate", "potential", "stamina", and "performance condition". You need to check the "Parse Rarely Used FIT Fields" before uploading your files to ensure that these fields are read in.
  • •   Fixed a bug where the right_power_phase_peak was being reported incorrectly.
  • •   Fixed a bug where all of the power-pedal information was slightly off (calculation error)
  • •   Edited the export feature to that only relevant "rarely used fields" are exported. Previously, all known fields would be exported - even if they were blank/empty. Now the tool omits any fields that are empty.
  • •   Worked on improving the ConnectIQ field reading feature so it is more agile than ever. Also, I wrote a FAQ and more help for people who are having trouble with their various devices. Please rememeber: Not all device manufacturers are encoding their FIT files correctly. Writing FIT files correctly is challenging, which is why I've opted to write them from scratch as opposed to rely on possibly corrupted FIT imports as the foundation for the export file.

Version 18.9 (02/01/2023)
  • •   Added the ability to resize all of the 4 boxes on the "Edit Points" Tool. (#1: Map) (#2: Graph) (#3: Points Table) (#4: Changes Made table). This will allow the user to get screen real-estate where they need it the most.
  • •   Added a checkbox to opt in/out of lap distance recalculation. This goes along with the feature I added in Version 18.6 (01/23/2023)
  • •   Made the default option be to discard duplicate trackpoints when merging overlapping files.

Version 18.8 (01/31/2023)
  • •   Added the ability to read (and export as FIT) total_hemoglobin_conc and saturated_hemoglobin_percent.

Version 18.7 (01/27/2023)
  • •   Made a change to how GPX exports are handled if the user de-selects to include the position (lat/lon) stream from one of the loaded files. Now the tool will include the "last known position" instead of leaving the position empty. I did this because I noticed that some tools (Google MyMaps) would not accept GPX files with ANY empty position trackpoints.

Version 18.6 (01/23/2023)
  • •   Now, when a user selects to re-calculate disatnce, the tool will also re-calculate disance for laps. I coded this in quickly due to time limitations, but in the future, I would like to give the user the option to use the original lap data OR recalc laps. The reason this was a need is because a user had a stationary bike file that didn't record distance (and thus the lap distance were empty)... but they also had position data from the FulGaz App, which meant that lap distance could be calculated.

Version 18.5 (01/08/2023)
  • •   Added Bkool GPS Type (virtual trainer).
  • •   Added more help info for GPX/TCX/FIT file export types.

Version 18.4 (12/29/2022)
  • •   Fixed a bug that I accidentally introduced to the detector tool a couple weeks ago (The tool for checking to see if people were modifying timestamps). Now that tool should be working again.
  • •   Added Garmin GPS 66s device.

Version 18.3 (12/28/2022)
  • •   Fixed a bug that I accidentally introduced on 12/23/2022 (version 18.1). The bug was that after I improved the sorting of files to be time-stamped, it broke the javascript that performs the trim feature. Now the trim feature is working again.

Version 18.2 (12/27/2022)
  • •   Added a little warning icon and help box for users who have selected to upload Virtual Activities. The warning instructs the user to select a Virtual-compatible GPS type such as Zwift or Peloton to have the activity show as a Virtual Activity on Strava.
  • •   If a user defeats the javascript to select FIT as the output export type, the tool now will export as GPX instead of FIT.

Version 18.1 (12/23/2022)
  • •   Fixed a bug where files would not sort properly if a user uploaded 10 or more files. Now, A user can upload up to 20 files (or up to 99 files in a zip archive), and they will sort properly. This mades a difference in the TimeStamp Tool only.

Version 18.0 (12/05/2022)
  • •   Wrote a work-around for a bug discovered in Training Peaks. Previously, Training Peaks would say "Could not Parse File" for TCX files with empty values for certain fields exported from my tool. Now, my tool will fill in those empty values if they are absent in your source. This only applies to TCX.

Version 17.9 (10/18/2022)
  • •   Changed the sub-sport for virtual cycling activities from "6" to "58". "6" means "indoor_cycling" whereas "58" means "virtual_cycling". A user reported to me that files are interpred better if we use 58, so I made the change. Please let me know if you experience any issues with this change... if you do, I may need to create two separate activity types. Thus far, I've tried to keep the activity types the same as how they appear on Strava for consistency (and to help non-donors upload TCX or GPX files because there is the possibility that Strava will recognize the activity name as being a "Strava activity type").

Version 17.8 (10/15/2022)
  • •   I made changes to the logic for auto-determining activity type.
  • •   Added some newer Strava accepted Activity Types such as Golf, e-Mountain Bike Ride, Gravel Ride, Trail Run, Surfing..
  • •   Improved some of the codes sent in FIT files to include the sport AND the sub sport. There are actually more possibilities in the Garmin SDK, but I have focused on activity types accepted by Strava. If you have an activity type you want me to add, just let me know. I already added "Fishing" and "Indoor Rowing". Strava will not detect fishing yet.

Version 17.7 (10/11/2022)
  • •   I made two changes to the way the Timestamp Tool handles multiple file uploads. This only applies to the "add timestamp" option and not to the "time shift" option. Files are now sorted by name, and instead of all receiving the same time-stamp, they are ordered sequentially. Detailed discussion here.
  • •   I improved the serial number pre-fill and sowftware version pre-fill feature. Now, the GOTOES tool will auto-select the "best" GPS and pre-fill its information. Highest priority is given to the product having a serial number, second highest given to the product having a known GPS name, and third highest given to a GPS with a software version. If all things are equal, the first, highest ranking GPS will have its information pre-filled. If no GPS information is available, the tool will insert the last known information from your cookies. This doesn't matter for Strava, but serial numbers are REQUIRED to get credit for Garmin Challenges

Version 17.6 (09/29/2022)
  • •   I added a checkbox to the "Calculating Speed" field - where a user can select whether or not they want the tool to try and insert stopped time. I have a detailed discussion here.
  • •   GOTOES Software version is now exported in FIT files

Version 17.5 (09/08/2022)
  • •   I added two features: First change is that now you can add Laps to GPX files. Previously, people were only able to add laps to TCX and FIT files. Also, second change is that you can add laps to files that didn't have ANY laps to begin with. That was kind of a bug, but now it is fixed.
  • •   Changed how "adjust power" was calculated. First, increased the power adjustment field to accept numbers as low as -200% or -200W. Also, took the absolute value to prevent "-0" power values.

Version 17.4 (09/05/2022)
  • •   Now, when a user checks the "ConnectIQ" box, they get feedback in the streams section. If there are no valid streams, in the parenthesis by ConnectIQ, it will say so. If valid streams are found, checkboxes for the streams will be added to the table.
  • •   Added color-coding to the "Edit Points" table. Now, the background color of the File Number matches the color codes seen on the previous page. This will help users differentiate more easily between which source they are editing.
  • •   Added validation to the Latitude / Longitude field. Before, if a user entered invalid coordinates, the tool would freeze and they would need to reload the page. Now, the tool does not freeze, and the user is provided with feedback on how to correct their coordinates.

Version 17.3 (09/03/2022)
  • •   A user asked me to add the option to enter an absolute value instead of a percentage on the "power adjust" tool. Now, there is a radio button where you can select if you want to modify by percent or by absoulte watts. Range is from +100 to -100 either way.

Version 17.2 (09/02/2022)
  • •   Added a new feature: If a user uploads files that do not have any position data, but they do have distance data, they will be given the option to "Create a Fake Track." One may want to do this if they are uploading an indoor workout (such as a treadmill) and the treadmill had an incline and recorded an elevation change. People who are exporting as FIT files will then be able to override the total ascent if they want to get accurate climbing numbers on Strava for indoor workouts.
  • •   Fixed an issue on the timestamp tool where the user could not add timestamps to an uploaded CSV file. Now a user can upload a CSV file that does not have timestamps to the 'Add Timestamps' tool - and it will be processed just like the GPX, TCX or FIT files.

Version 17.1 (08/20/2022)
  • •   I have received a number of emails from people saying that they "think a friend is cheating" using my timestamp tool. Today, I wrote a detector that reverses the speed calculations to reveal if an activity was indeed modified with the timestamp tool. Right now, the detector tool is not public, but you can send me a suspected file for investigation. The file must have been uploaded after August 20, 2022. More information here.

Version 17.0 (08/12/2022)
  • •   Fixed an issue where the "swimming" activity type was not being stored in FIT file exports. This meant that users would sometimes have to change the activity type after uploading to Strava. Also, Training Peaks would not detect the activity type properly. This should now be resolved.

Version 16.9 (08/02/2022)
  • •   Changed the Product ID Number for the Garmin Forerunner 245 Music. Someone had sent me a file from a Garmin Forerunner 245 and told me it was a Garmin Forerunner 245 Music. Oops!
  • •   Today I noticed that certain pool swimming activities would lose their accumulated distance when running them through my tool. It turns out that these activites are storing the accumulated distance in a different field called "length." Since the FIT export of this tool was not designed around swimming, I decided to translate the length field to distance and speed. Now, you will not get zero for your pool swim distances if you export as TCX or FIT.

Version 16.8 (07/31/2022)
  • •   Added a link to the FAQs for when people upload improperly formatted CSV files.

Version 16.7 (07/22/2022)
  • •   Added Garmin Forerunner 255S GPS

Version 16.6 (05/18/2022)
  • •   Fixed a bug where if a user tried to manually edit laps, the lap would disappear. This was because I was treating the lap field as a numeric field, but was using the pipe operator (|) as a separator - and that is a text character.
  • •   Fixed a small bug where after you auto-created a lap, you couldn't immediately manually edit that lap (you'd have to click away and then click back). Now the tool works as-expected.
  • •   Added Garmin Epix Gen 2

Version 16.5 (04/22/2022)
  • •   Added the option to insert Average Cadence and Average Power. Values you enter in these fields will override any existing power / cadence in your file. Depending on feedback, I may change this so that the tool instead substitutes this value when a zero-value is encountered. I can see positives and negatives in that option. Contact me if you have an opinion on that.
  • •   Relocated the "Randomize ID Tag" checkbox. I did this to save vertical space on the page. Also, randomizing the ID tag kind of fits into the "overriding data" category. Since each grouping in the Overriding data field is 3 related items across, I added it to the row with changing information about the GPS serial/software. I try to pre-select this checkbox to avoid user confusion in appropriate instances.

Version 16.4 (04/13/2022)
  • •   Improved detail of error messages sent to the user when they try to process a file that does not have the ConnectIQ fields formatted correctly. This is in response to an issue specifically with Stryd files that are missing some information. I have opened a forum topic about this issue here.

Version 16.3 (04/11/2022)
  • •   Added Garmin Instinct Solar GPS device.

Version 16.2 (04/08/2022)
  • •   Changed the way time zones are handled for indoor workouts when you export as FIT from my tool. Previously, I relied on Strava to determine your time zone (this was done by Strava looking up the location you set as home in your user profile). Now I insert the time zone that YOU SPECIFY into the file. This will help with time on other websites such as Garmin Connect. Note that it is impossible for my tool to guess your timezone for indoor workouts without GPS info.

Version 16.1 (04/04/2022)
  • •   Added Garmin Venu 2 Plus
  • •   Fixed a ?rounding error? where the software version in FIT files may be reduced by 0.01 in certain instances.
  • •   Fixed an issue in the forum where emails were not being sent

Version 16.0 (03/30/2022)
  • •   When pre-populating the GPS type, the tool previously reported 'Strava App' if that is the activity source. Now, the tool checks to see the device that you used last time and pre-populates with that instead.
  • •   Added Hammerhead Karoo 2
  • •   Added Polar Vantage M2
  • •   Made the 'Click Here For Next Step' button a little bit smaller so it doesn't word-wrap on phones with smaller screens.
  • •   Added Bryton Rider 15
  • •   Added Garmin Forerunner 945 LTE
  • •   Added Coros Vertix

Version 15.9 (11/21/2021)
  • •   Now when you click on the icon for your GPS in the table view, it pre-fills the output GPS type. If you click on the icon in the area where you set the GPS type, it will take you to Amazon, which MIGHT help me if you end up buying something from Amazon. Note that previously, all image links took you to Amazon, but today it occurred to me that being able to click the icon in the table and pre-populate the "GPS Type in Output File" field would be a very useful feature.
  • •   Changed over from exporting "Enhanced Speed" for FIT files to exporting "Speed" instead.

Version 15.8 (11/17/2021)
  • •   Changed the donation nag screen logic so that if users want to eliminate the nag screen, they can just leave the "Help Others Repair Their Tracks" box checked without having to donate.
  • •   Removed upload button in cases where the user does not have Javascript enabled. The reason for this is that I have quite a few people trying to bypass the file size limits. If too many people are doing this, it slows the server for everyone. If you have big uploads, please ZIP compress them and then upload.
  • •   Added message indicating that a user should use Javascript, and added a link so they can see how to upload. Also, in the contact form, I provided my direct email so they can contact me directly.
  • •   Added clearing of session variables for clarity of diagnostic data.
  • •   Reduced server-side file size limits to further block enormous uploads and to minimize errors that well-intentioned users receive.

Version 15.7 (11/16/2021)
  • •   Fixed an issue with Smart Trim producing empty files.
  • •   Began requiring that the user have Javascript enabled to upload files. I have a script that blocks people from uploading files that are bigger than the server can handle, but if people had js turned off, they would be able to upload these massive files - which wasn't doing them any good (it would fail with server-side checks), plus it would just tie up server resources unnecessarily.
  • •   Fixed an issue for people living in countries with time changes (daylight savings time) where the tool might not let you change the trim date/time for an activity that spans a time change

Version 15.6 (11/08/2021)
  • •   Added an "insert laps" feature, which is very much BETA. Nevertheless, I used it on my activity today where the workout stopped (I was using Garmin workouts, but wanted to keep going)... so it worked fine for adding laps to non-overlapping activities. Use at your own risk. (discussion here).
  • •   Resolved an issue where users could not add timestamps to files transferred directly from Strava from within the tool.

Version 15.5 (11/07/2021)
  • •   Fixed an issue where zero latitude / longitude could still be added in certain cases when a user was merging a no position trainer file with a positioned virtual file.
  • •   Fixed an issue where speed would not be properly calculated for overlapping FIT files where one of the files was missing distance value and the other file did have correct distance values.
  • •   Fixed an issue where the extra fields would be added no-matter-what to the FIT export. Now, extra fields are only added if a user selects to incorporate them.
  • •   Increased padding around the link to download the original file... so it is easier to click on.
  • •   Now Laps get auto-checked if you have been historically selecting a compatible export type (FIT or TCX).
  • •   Fixed an issue where if a user uploaded more than one corrupted FIT files, the names of the files might not correctly match the actual activities that they are referring to in the table view. This would not affect the merge - just the display on the page.
  • •   Added a new "Smart Trim" button to make things easier for some people. discussion here.

Version 15.4 (11/04/2021)
  • •   Added an error handler for the rare and mysterious 500 errors that happen while a user tries to upload a file. This only happens to about 2 or 3 files per week, but I'm trying to catch it, identify why it happens, gracefully skip the "bad" file, and give the user feedback about which file has a problem.
  • •   Added the option to download your raw data in tab-delimited format. Not sure if people will use this, but it is now an option.
  • •   Added a BIG feature request that took a ton of time. A very small subset of people asked for "extra data" such as left/right balance for pedal power meters and vertical oscillation for running. I have added the option to include this data now! When you upload a FIT file to the tool, a check box will appear asking if you want to include this extra data. If you check it, another 16 or so fields will be included in your FIT export.

Version 15.3 (11/02/2021)
  • •   The tool no longer pre-selects the "Randomize ID Tag" option if it detects that you have selected to do a time-shift as per (discussion here).
  • •   Fixed an issue where devices with multiple serial numbers stored in the FIT file would show "array" in the serial number field.
  • •   Added ability to download original file - simply click the link in the "File Type" column. This may not be super useful to the user, but it helps me retrieve the original files so I can assist users better.
  • •   Added ability for CSV import to parse some of the additional fields that are exported from my FIT to CSV tool. Fields that are now recognized and inserted into the combine page are: serial_number, productID, manufacturer, sport name, software version. I plan to add more so eventually uploading a CSV file is as good as a FIT file.
  • •   The tool can now read Session data fields from a GOTOES CSV export. It only reads the first line at this point, however, so if you upload multiple files to the FIT->CSV tool, only the values from the first line will show. Future plan is for the tool to add up the values in multiple lines (like distance or total ascent for example).

Version 15.2 (11/01/2021)
  • •   Improved how the Add Timestamp tool is displayed on devices with small screens, such as phones
  • •   Added a converter for pace - so now in the TimeStamp tool, you can enter a pace (instead of a speed) and have the tool automatically calculate speed for you.
  • •   Removed redundant help-page loading in upload tool.php to save browser loading time.
  • •   Began adding PNG images for certain GPS devices. If you would like to contribute, please email me a PNG of your device. It needs to be 45 pixels tall, and have a transparent background.

Version 15.1 (10/31/2021)
  • •   Slightly changed code on upload page in case that would fix the (very rare) issue of the blue upload button not responding. So far, I have only heard about this issue in one user who has a beta version of the Safari Browser and special security software installed. Not sure if this change will even fix the issue - waiting to hear back.

Version 15.0 (10/28/2021)
  • •   Made a new tool that allows you to convert FIT files to CSV files. This tool is in its infancy, but can be useful for two types of people: 1) People with Giant FIT files that crash my server. That is aobut 0.06% of users. 2) Power users who want to be able to take a FIT file, edit some of the data in a spreadsheet program, and then convert it back to a FIT file for Strava using my Merger tool. I have a (discussion here)
  • •   Improved some of the logic around parsing CSV file uploads. I know that not many of you use this feature - but I believe it will eventually become a very desireable tool for power-users.
  • •   Added tutorials, instructions, and discussions regarding the help menus on the new tool so people can learn more about future plans and how it currently works
  • •   Removed the link to the Garmin Connect -> Strava tool. That tool wasn't super popular to begin with, but more importantly, Garmin started blocking it last summer. I have worked hard on trying to resurrect that tool - but Garmin keeps evading me. It may still come back.

Version 14.9 (10/25/2021)
  • •   Changed the way that Interpolation Works. Now, when you check the "Interpolate Track" option, the track will immediately be interpolated in the browser window. The advantage to this is that the user can immediately see the changes in the "Edit Points" tool. The Interpolation function will take Elevation Smoothing into account if you have placed the slider anywhere except the far left. The elevation slider remembers your last used setting in case you use this feature often.
  • •   Changed the warning icon so that it pulses (easier to see). Also, added a warning icon for uploads that don't have enough point density. Previously, I just force-interpolated the tracks for the user... but now they receive a warning instead and they can opt-in to interpolation if they want. The default is no interpolation - even for activities that probably need it.
  • •   Added progress indicator that happens before the 2nd page shows. The progress indicator can be helpful for people with huge uploads. For most people with smaller uploads, it will disappear quickly.
  • •   Now the 2nd page fades-in. This is so the progress indicator gradually disappears. The progress indicator has a 2 second lag to prevent overwhelming the server with progress checks
  • •   Fixed an issue where when transitioning from "Use Distance" to "Use Speed" in cases where the user was applying time stamps... some of the information would be lost. Now, all the add-timestamp settings are preserved

Version 14.8 (10/24/2021)
  • •   I noticed that some Wahoo FIT files did not have the accumulated distance recorded in the session... but these files did have distance accumulated in the track. I set up the tool to prefer to read the session total - but if that is absent, take the last distance value from the track instead.

Version 14.7 (10/19/2021)
  • •   Improved how the tool auto-detects the serial number and software version to pre-populate this field for building of FIT files. Remember that to get Garmin Specific information (such as Connect IQ fields) to display, you need to have the serial number of your device in the final output file.
  • •   Increased the size and improved visibility (color) of the button that takes you from the upload page to the apply settings page

Version 14.6 (10/18/2021)
  • •   Fixed an issue where if a user had deleted the last time stamp because it was corrupted AND the user exported as a FIT file, the total elapsed time would be too long and the finish time would be far into the future.

Version 14.5 (10/12/2021)
  • •   Added Garmin Forerunner 55 GPS to the list.

Version 14.4 (10/10/2021)
  • •   It seems like people regularly try to use the "trim" feature to adjust the start/stop times of their track. There is a separate tool for that, but I don't think people are aware of it. Therefore, today I added a javascript to the trim feature that alerts the user to try the other tool if they try to trim to an impossible time 2 times or more.

Version 14.3 (10/09/2021)
  • •   Fixed a recently introduced speed reporting issue that affected FIT file exports.

Version 14.2 (10/08/2021)
  • •   Added a new Speed Calculation Field. Before, speed was always calculated from the accumulated distance in the files. This worked well - except for some lap swimming and rowing files. In these files, distance would be increased in ~100m increments. The problem with that is the user would obtain choppy speed / distance graphs. For most people, the "Use Distance" option is still going to be the best - but if your speed graphs look staccato, please try this new feature. This feature re-processes the INPUT files - so you should be able to see the changes in the distance field when you click the "Edit Points" tool.
  • •   Added an option to smooth speed in the final OUTPUT file. Prior to this change, I applied 10 point smoothing to all files for speed. I still recommend that setting, but if you want to see more (or less) variability in the speed, feel free to move the slider. The range is 1 to 20 smoothing points, and the default setting is 10 (in the middle).
  • •   Added autodetection for several more Strava Sports such as Kayaking, Canoeing, Kitesurfing, etc. The tool tries to figure out the sport based on the entry in either a FIT file or TCX file.
  • •   Added more activity type exports for FIT files. If you're exporting to Garmin Connect as TCX, you should still stick with the Running/Biking/Other options because this is all they accept. However, if you're exporting as FIT to either Garmin Connect or Strava, I've improved the activity type identification so more types of unique activities are displayed
  • •   Added the original upload file name to the start/end time column to help users differentiate between their uploads.
  • •   Added ability to detect the GPS type when using files that exist on Strava. Note that this requires an EXACT name match. Unfortunately, Strava renames some of the devices - such as the Garmin Fenix (they call it Garmin fēnix 6X) and my tool is looking for an exact match. Luckily, I can capture many of the GPS devices from Strava.

Version 14.1 (10/07/2021)
  • •   Changed the way that the "Interpolate Track" feature works. It now should more reliably produce an output. A user was trying to interpolate a track that already had a point taken every second (I'm not sure why they were doing this). Anyway, one of the tracks had many successive empty values for the latitude and longitude. The interpolate tool had been trained to ignore zero values because you don't want to average in trips to the equator when creating new lat/lon points. As a result of these factors, the user was getting an empty output file. Now, instead of interpolating between different files, the tool interpolates within each individual file in the first step. In the second step, it applies the rules that the user selected in the final output page. If there is a zero value for position, the tool will insert the zero in the first step (it is later ignored in the 2nd step)... and the tool will NOT include the zero position if it is trying to create an in-between interpolation point.

Version 13.9 (10/06/2021)
  • •   A user sent me a corrupted FIT file where most of the lap time stamps that did not correspond to any existing position timestamps in the FIT file. As such, those laps would be omitted from the final output file. I wrote a workaround that would address this type of corruption where a lap with a missing position timestamp would be assigned the next closest valid time stamp.
  • •   Improved the way that empty positions are handled. Previously, if there was a 0 latitude or longitude, the tool would just skip putting that point into the file. I found that some malformed GPS files have empty position data - but valid Heart Rate or other data. So, what the tool does now is that it substitues in the last-known "good" latitude/longitude instead of skipping it. This means that you can still get other data - even if your GPS failed for a while.

Version 13.8 (10/03/2021)
  • •   Fixed an issue where if a user selected to insert ConnectIQ fields, they sometimes might not show up on Garmin Connect. This only applied to certain brands of devices - such a Stryd who recently changed the uppercase / lowercase scheme of their ConnectIQ fields.
  • •   Added a second Garmin Forerunner 745 Product ID.
  • •   Added a feature where the tool tries to automatically insert the Serial Number and Software version in the resulting file. The Serial Number and Software versions are not important for Strava, but for uploads to Garmin Connect, they allow you to access certain Garmin Connect Features such as challenges. It also identifies the device on Garmin Connect. By automating this insertion, it helps the user avoid confusion if they are using Garmin Connect and certain features are not working.

Version 13.7 (10/02/2021)
  • •   Added ability to retrieve and insert laps from uploaded TCX files. Now, laps can be inserted from both FIT and TCX files.
  • •   Added lap count in the streams section. Laps will appear in parentheses just like calories, distance, ascent, etc.
  • •   Fixed an issue where sometimes, if a user had selected "Do Not Include Duplicate Trackpoints" for overlapping files, the speed would not be calculated.

Version 13.6 (09/06/2021)
  • •   A user notified me of some improperly formatted TCX files that they had been uploading. The files had timestamps in fractions of a second as well as many missing values for latitude, longitude, elevation, etc. The user was concerned that not all of the points were being exported. I re-wrote the tool to work around this type of bad formatting, so the tool now looks for duplicate time stamps and if they are found, the tool will insert the last known "good" value for each of the streams (latitude, longitude, elevation, etc.).
  • •   Fixed an issue where if a user clicked the "Connect to Strava Button", after they clicked, they would get a link that prompted them to transfer their merged file to Strava... but due to a same-site cookies issue, the file would not be transferred to Strava. Now I have fixed that.

Version 13.5 (07/30/2021)
  • •   Added Pagination to the Upload From Strava Tool. Now you can go further back in your Strava History to transfer files from Strava to the GOTOES tools.
  • •   Added Links to the original activities in the Strava -> GOTOES transfer tool
  • •   Allow the transfer of Calories and Total Ascent from Strava Activities to the Strava -> GOTOES transfer tool
  • •   Fixed a bug where the orange bar to open the list of activities on Strava would say "Click here to close" when it should have said "Click here to open"

Version 13.4 (07/29/2021)
  • •   Migrated the website to a new server with (supposedly) better processing power. I was hoping that this would result in a performance (speed) gain, but so far I haven't seen a significant improvement. If any features do not work for you, please let me know ASAP
  • •   Added some Javascript to automatically reduce the number of track points embedded in files. The idea behind this is when people do really big merges, their files can overwhelm Strava. By reducing the number of points, the file sizes will be smaller for Strava. Of course, you can override the automatic setting if you still need high granulariy of data
  • •   Fixed a bug that I accidentally introduced a few days ago. I silently added the option to convert any time gap greater than as-little-as 2 seconds to "stopped time." I figured this would help people who were concerned about Strava reporting their average speed incorrectly - in particular people with 1 second recording turned on. The bug was that the stopped time was getting added in for everyone - and really slowing down the processing of FIT file exports. Apologies if you were affected by this.

Version 13.3 (07/27/2021)
  • •   Fixed an issue with cookies where the browser would persistently remember your serial number / software version - even if the user blanked it out.
  • •   Added Polar Verity Sense GPS.
  • •   A user contacted me about improperly formatted TCX files that had a total distance, but did not have the incremental distance in the trackpoints. I added a feature where if an uploaded TCX file does not have latitude/longitude AND it does not have properly embedded distance, then distance will be fabricated from the total distance of the file. Distance will increment linearly, so it won't represent the user's instantaneous speed - but you will be able to see your total distance on Strava.

Version 13.2 (07/20/2021)
  • •   Added Garmin Speed Sensor 2 to the GPS list

Version 13.1 (07/14/2021)
  • •   Fixed an issue where cycling activities transferred from Strava would not automatically pre-populate as Biking (they would show as running instead).

Version 13.0 (06/20/2021)
  • •   Added Bryton Rider 420
  • •   Added total distance streams to imports from Strava. This will also help avoid the popup that tells the user they need to select at least one distance stream before embedding distance.

Version 12.9 (05/29/2021)
  • •   Added Garmin Venu 2.
  • •   Added Garmin fēnix 6 Pro (with a different product ID number).

Version 12.8 (04/22/2021)
  • •   Fixed an issue where Bryton GPS devices would not be auto-detected.
  • •   Added Bryton Aero 60 to the GPS list.

Version 12.7 (04/17/2021)
  • •   A user pointed out some strange behavior with the add timestamp tool when doing very steep and slow hikes. I had set a minimum speed to be moving at 1km/hr since I figured people would be using the tool for running or biking. Having a minimum speed is needed to prevent division by zero errors on closely spaced points. Anyway, I reset the minimum speed to be 0.1km/hr when you do not choose run/bike. If you choose run or bike, it still keeps the former minimum speeds.

Version 12.6 (04/11/2021)
  • •   Improved the parser of CSV uploads so it is more flexible.

Version 12.5 (04/01/2021)
  • •   Fixed a bug in the graphical representation of the files where if the user's browser was not in the same time zone as where the activity occurred, the incorrect time would be shown. Also fixed the validation because this was also affecting whether or not people could make edits.
  • •   Adjusted the graphical representation to reset to default values if the user unchecks the Edit box.
  • •   Clarified that some of the Override features are available to Donors only (because you can only override data in FIT files)
  • •   Fixed a recently introduced issue where the total calories, distance, and ascent placeholders would not be tallied up.
  • •   Made a tutorial on how to Splice part of your friend's track into your own GPS track.
  • •   Made a tutorial on how to use one pair of power pedals on a tandem - to get power data for both riders.
  • •   I changed the way colorbox works for questions (vs the Edit Points tool). Scrolling needs to be prevented when going to the Edit Points tool, which causes a sometimes noticeable jump to the left in the background page when trying to edit points. I blocked this jump when the user clicks on a help item, making the page appear a little smoother

Version 12.4 (03/19/2021)
  • •   Changed how the Timeline of uploaded tracks is generated. Now the timeline stores the start and stop times as variables. This allows the user to graphically see the changes they made in the Trim feature.
  • •   Added more validation to prevent users from trying to trim their track with impossible start and stop times. For example, you cannot trim a track to start before it started; nor can you trim it to end after it ended. An invalid entry will cause the tool to reset the entry to the original start or stop time.
  • •   Added total distance summation for TCX and CSV files
  • •   Added more validation and notice to users if they are electing to omit distance from a file that probably should have distance embedded
  • •   Now files exported to the Desktop will have the user-supplied name for the file name. If the user does not submit a name, the file will have GOTOES_ prepended to the random number of the file. This will help users find their exports a bit more easily.

Version 12.3 (03/16/2021)
  • •   Increased the range of random numbers for the Randomize ID tag feature that allows you to upload duplicates to Strava. There is always a possibility that Strava will still see your activity as a duplicate; this is a hack to work around their detection. A user told me that he got a duplicate notification. With the old range, I uploaded the same file 10 times and only once was it shown as a duplicate. With the increased range, that should occur even less.
  • •   Improved the validation for embedding distance. A few people who were uploading to sites other than Strava would get zero distances. This is because they accidentally chose to leave out the distance. I changed it so the tool tries to encourage people to either calculate or use embedded distance... and if they don't select the Send To Strava option, then it gives a warning that they have not included distance.
  • •   Added rolling speed to TCX exports. This feature already existed in FIT file exports. In the future, I hope to give users a slider to control the amount of smoothing.
  • •   Added an option to the CSV import headers: if a user has a column entitled "wind", the values for the wind column will override the "temperature" values. This was a fun project I did for a friend who has a device that measures wind speed. Strava doesn't give you the ability to see this data, but by putting the wind data in the temperature field, we can now see wind graphically. Temperature isn't a really accurate or useful measure anyway, which is why I decided that it would be a good option to hack. Acceptable values are -127 to +127. You can choose the units.
  • •   Changed how Cookies are stored for upcoming browser changes; Increased max upload time to 200 seconds; Removed Gzip which seems to make upload page faster; unset session variable instead of entire session

Version 12.2 (03/15/2021)
  • •   Began forcing numeric entry for the Edit Points tool for editing Heart Rate, Power, Cadence, Temperature. Right now, you cannot really add laps, but I'm working towards making that possible.
  • •   Changed the rules for CSV file imports slightly. I found that a user had a file with multiple incarnations of "time" in the headers, so now the tool requires "Timestamp" (case insensitive) to be the header for your timestamps.

Version 12.1 (03/14/2021)
  • •   Added Ability to import CSV Files. A user approached me about a problem: He wanted to show his wind-resistance data on Strava. I told him that Strava only displays a limited list of fields (Power, Cadence, Heart Rate, and Temperature). Then I realized that someone could "spoof" values if they wanted to. I asked if he needed to show temperature. He didn't, so I told him he could use his CSV file and change the wind-speed column to say temperature instead. Now, all of the wind data will show up in the temperature graph. It will be mis-labeled on Strava, but at least you can see the data graphically now! Other benefits of allowing CSV import - now users can mess around with their data in a spreadsheet program like Open Office, Microsoft Excel, or Google Sheets. If you don't already have CSV files, Here is a tool to convert GPX to CSV
  • •   Fixed an issue where FIT files that didn't have an array for the Serial Number / Software Version would not have these two values read into memory.
  • •   Fixed an issue in the Edit Points tool where if a user dragged a trackpoint and they also had a table entry open for editing, the new trackpoint might not be auto-saved
  • •   Changed the way time is calculated in FIT files a bit. Garmin has 3 times: Elapsed Time, Moving Time, and Time. Elapsed time is obvious. Moving time is a bit more nebulous because it is difficult to determine if one is moving or if they are recording GPS drift. Time is supposed to represent the Timer time (i.e. if you pressed pause, or had an auto-pause event). This tool does not keep track of pause events (I do not recommend this feature: the whole reason I started this tool is because people were coming to me because they forgot to restart their Garmin (or the auto-pause did not restart)). The tool will now subtract out any time from your timer time IF no points have been recorded in the last 30 seconds. This should work well if all of your pauses are more than 30 seconds. In the future, I may add a threshold-slider where the user can adjust the interval to be considered moving. I'm trying to minimze the complexity of the tool, however, which is why I didn't add that already.

Version 12.0 (03/12/2021)
  • •   Increased the adjust-power range to 200%. This way, users can double their power if they are using left side only power meters, but their power is not being doubled by the app.
  • •   Made a big change to how stopped time is handled. Strava automatically calculates your stopped time, however sites like Garmin Connect will display exactly what is in the FIT file. Stopping and zero values have been a big challenge for this app. For example, let's say someone is trying to merge two overlapping tracks - one with heart rate and one with position. You may not necessarily have a value for each time stamp. In other words, the value for the heart rate could be zero at the same second as I'm trying to include a GPS trackpoint. To deal with this, I have implemented smoothing, otherwise, you will get a profile that has a bunch of vertical lines up and down when you try to merge overlapping files. The smoothing has worked well for Strava users, however some Training Peaks and Garmin Connect users have contacted me because they are doing various sorts of interval training where they do intentionally stop for a period of time. With the smoothing algorithm, on Garmin Connect, it makes this look like moving time, and lowers the users' average speed. Starting today, my tool now looks for any gap in the timestamps that exceeds 30 seconds. If you don't record a point for 30 seconds, the tool now puts in a stop tag in your exported FIT file. It also resets your speed to zero. This ought to straighten out your moving time on non-Strava Apps. This is also going to cause a change for Strava Users because Strava "respects" the user-provided start and stop times. This means that Strava will NOT calculate the moving time from these files, but instead will rely on the data my tool has provided. Hopefully these changes will be to everyone's liking. This tool attempts to mishmash so many different types of data, that I'm afraid I can't make 100% of the people happy - but I'm trying to come as close as possible!
  • •   Very slightly improved speed of processing FIT files.
  • •   Modified the threshold for the big file warning popup now that FIT files are processed about 5x faster than when I first made the warning popup a few years ago. The warning popup appears if the tool estimates it will take more than 10 seconds to process the file. When I first added FIT files, a file that would have taken 30 seconds to process is now processed in 6 seconds today. Adjusting the warning threshold means fewer boxes for people to dismiss.
  • •   Improved security of Admin Login

Version 11.9 (03/10/2021)
  • •   Added Suunto 5 GPS

Version 11.8 (03/02/2021)
  • •   Repairing Corrupted FIT files: Further improved this feature so that other types of FIT file corruption can be repaired. Just upload your corrupted FIT file to the combine tool and it will automatically repair various types of corruption.

Version 11.7 (02/26/2021)
  • •   Fixed an issue where an empty stream would be included in the exported FIT files. For example, if your source files did not have any temperature readings, temperature would still be exported (as zero values), so your resulting FIT file would show a 0 degree C temperature for the entire activity. Now, that empty information is not included.
  • •   Have been working very hard (already over 100 hours invested) in adding additional fields to the merge tool. These fields are the "Developer Data" fields that can be added by Connect IQ apps. Feedback on this possible feature is welcome and appreciated!

Version 11.6 (02/19/2021)
  • •   Added XOOS GPS types. I only have access to a G+ file, which has product ID of 1. If anyone has a XOOS Sprint file, send it to me. Strava seems to only recognize the Sprint so far; they may need to update their database.

Version 11.5 (02/19/2021)
  • •   Major improvements to memory usage when processing imported FIT files. This will not only speed up processing of FIT files, but it will reduce the risk of the user encountering a page error. I am doing these optimizations with the intent of allowing Donors to be able to embed additional fields such as vertical oscillation, ground contact time, etc. People sometimes want to merge days worth of activities, and this is an ENORMOUS load on my server. Many people are trying to merge files that have more data than ever embedded, and they are recording that data every second (which is required if you're recording power, for example). The server only has so much memory before it can no longer handle a merge, so I need to optimize every bit of data before allowing additional fields to be considered.
  • •   Fixed an issue with the edit points tool where if the user scrolled within the child window, the parent window might scroll as well. This fix should stop the edit points table from scrolling out of view in browsers that had this issue.

Version 11.4 (02/16/2021)
  • •   New Feature in the Edit Points Tool! Now you can see a graph of your Power, Heart Rate, Cadence, and Elevation. You can click on a point in the graph, find the value that needs to be edited and see it update in the graph. I plan to release a video tutorial of how to use all the features in the Edit Points Tool. I will also be monitoring Server Loads, as this is a very calculation intensive tool now; If the server is getting overloaded, I will probably make the graph a donor-only feature so that the tool works well for everyone.

Version 11.3 (02/14/2021)
  • •   A user advised me that distance was not calculated correctly from FIT files exported from Strava. I keep seeing this: FIT files downloaded from Strava are often corrupted or formatted incorrectly. Today, I coded in another workaround to anticipate distance corruption in FIT files exported from Strava.

Version 11.2 (02/13/2021)
  • •   A user approached me about riding on a "dumb" trainer and sending the data to Strava. The trainer records the distance, but it doesn't export any information to the GPS file. The user was using a Garmin to record Heart Rate. Since the heart rate file had no distance information, I added a feature where the user can enter the distance from the trainer into the Override Distance field, and if both "Position" and "Distance" are absent, then the tool will fabricate point-to-point distances and effectively insert the correct total distance in the final file. This only works with FIT export.

Version 11.1 (02/11/2021)
  • •   Exciting New Feature added: Ability to edit individual points before finalizing the merge! This new feature appears in the "Add / Remove / Edit Track points" field. As of today's release, you can drag a point into the correct position on the map, or you can delete points. Moreover, you can edit any of the individual points for heart rate, watts, cadence, and distance. I plan to make a tutorial for this new feature, and coming soon will be graphical representations of heart rate, watts, etc. I wanted to release this feature ASAP, but it will continue to improve. Meanwhile, please use the Contact Form to let me know of any bugs or ways you think it can be improved.

Version 10.9 (02/10/2021)
  • •   A user approached me with concerns about files produced by a Coros GPS. These files had entries of zero latitude and zero longitude - but had timestamps - even though they were outdoor activities. This was a first for me, so I trained to tool to ignore any points where the lat / lon is zero IF the user has selected to include position. If the user did not select to include position, then we can assume that these are files from a trainer, and will continue to include points with empty lat / lon.

Version 10.8 (02/03/2021)
  • •   Added the ability to see the duration of the uploaded GPS files (below the start/stop time).
  • •   Added the option to smooth elevation for people who are uploading GPX files to their trainers.

Version 10.7 (02/03/2021)
  • •   Forced the Randomizd ID tag box to be checked if someone is merging activities directly from Strava due to some confusion as to how this works.
  • •   Added some Garmin Legacy Hero series GPS units. Also added Garmin MARQ Athlete
  • •   Added Tool tips for the insertion of Serial Numbers and Software Versions for FIT file exports.

Version 10.6 (01/13/2021)
  • •   Today a user sent me a corrupted FIT file that they downloaded from Strava. The file was corrupted so that there was an empty value at every other point. I added in some logic to detect and repair this type of corruption. What is going on with Strava's exports!?

Version 10.5 (01/11/2021)
  • •   A user sent me a corrupted TCX file that they downloaded from Strava I added in some logic to detect and repair this type of corruption.

Version 10.4 (01/09/2021)
  • •   Improved FIT file repair tool to extract more data and produce fewer errors.
  • •   Added more validation to prevent users from trying to use existing embedded distance when none of their files have distance embedded.

Version 10.3 (01/08/2021)
  • •   FIT File Repair Tools. I added more logic to try and squeeze whatever information is available out of FIT files thanks to a user sending me a particularly corrupted FIT file today. Please send me your corrupted FIT files so I can continue to improve the FIT File repair feature in my tools!

Version 10.2 (01/07/2021)
  • •   BIG feature add for my Patreon community! Now, users can insert Total Training Effect, Anaerobic Training Effect, FTP, Normalized Power, Training Stress Score, and Intensity Factor into the FIT files produced by GOTOES Strava Tools. The fields are pre-populated for Patreons with the highest value from any of the uploaded files. The user can override the numbers as they see fit.
  • •   Added a lower speed minimum for cases when people try to upload and time-stamp a file, but enter a speed of zero. This prevents a math division by zero error.
  • •   Added logic to prevent people from trying to interpolate track-points on empty files.
  • •   Reduced memory usage by no longer reading in unnecessary records from FIT files. This resulted in a small time savings as well.
  • •   Added speed smoothing to FIT file exports. This will avoid huge but brief spikes in speed that can make the speed graph look compressed in Garmin Connect. Strava already smooths speed for us, so this doesn't apply much to Strava.
  • •   Improved distance accuracy when exporting FIT format.
  • •   Improved calculation of Average Heart Rate, Cadence, and Power as well as Maximum Heart Rate, Cadence and Power for Garmin Connect. Strava auto-detects these values, so doesn't apply to Strava.

Version 10.1 (01/06/2021)
  • •   Fixed an issue with the Insert Average Heart Rate feature where the number would not get inserted if there wasn't already some heart rate information in the file. Now you can add heart rate to any file - albeit a flat line.
  • •   Added better error handling for when people upload corrupted TCX or FIT files. Now the user gets a message along with an error log they can send me so I can help them fix the issue. Also, the tool now gives it a "Best Try" - trying to intelligently salvage as much non-corrupted information from the file as possible. This way, a file that is partially corrupted may still be useful to the user.
  • •   Fixed an internal error which could occur when trying to guess the time zone for certain indoor workouts.

Version 10.0 (01/05/2021)
  • •   Added Polar Ignite GPS
  • •   Added two more iframe resizing triggers to prevent scroll bars in the iframe on the upload page.
  • •   Optimized some of the code to use less memory for both processing FIT files as well as interpolating points. This may help reduce the number of out-of-memory errors when people upload really big FIT Files.
  • •   Found I had a FIT file with timestamps in the future. First the tool will attempt to automatically repair FIT files with timestamps more than 24 hours in the future. If the attempted repair fails, the user should see a warning icon that suggests trying to run the file through my Timestamp tool and repairing the file with a time-shift. The warning is simply a warning; you can still export files with future times - but the warning lets you know that Strava will not accept the upload.

Version 9.9 (12/29/2020)
  • •   Updated Version of PHP (fixed cookies).
  • •   Suppressed Warnings on malformed GPX uploads.
  • •   Added a warning for users who are uploading empty files.
  • •   Added distance transfer for direct transfer from Strava to GOTOES. This will enable users to transfer over Virtual or Indoor rides.
  • •   Improved processing of Peloton Files for Training Peaks. A lot of people contact me because they are using my tool to fix TCX exports from Peloton for sending to Training Peaks. Now you can use my tool to directly transfer a Peloton Ride from Strava to my tool. Export as FIT and then upload the FIT to Training Peaks.
  • •   Added dynamic iFrame resizing. This will help the tool show up better on more displays.
  • •   Added error handling in case Strava returns an empty file..
  • •   Removed potential error caused by only connecting a Strava File, but not uploading any files from the computer.

Version 9.8 (12/28/2020)
  • •   Added a new, big feature! I get a lot of comments that the distance on Strava is different than the sum of the original files - so I added a feature where people exporting as FIT can insert the distance they think is correct.
  • •   Improved Page Load Time for repeat visitors by externalizing javascripts. Also coded in some triggers to force the browser to update the js cache in the event I have done an update.
  • •   Noticed some people are repeatedly uploading enormous FIT files, so added better warning message so they know it might fail, and provide steps to resolve thie issue.
  • •   Deprecated the FAQ page and moved the FAQs to the Forum Page. It will be easier for people to search, and they can leave feedback if desired. FAQ page still exists, but it isn't linked from the main page.
  • •   Externalized some PHP functions to improve user experience while I'm doing updates.
  • •   Added display of distance in the Streams section (only displays for FIT uploads).

Version 9.7 (12/26/2020)
  • •   Improved the downloader Script - consolidated it into one script without a subroutine, moved the Strava polling to Javascript (improves loading time in Safari), improved look of progress indicator.
  • •   Downloader now opens in new window for Send-to-Strava (incase you want to send again using different parameters).
  • •   Improved error reporting in downloader - especially for detecting duplicates
  • •   Moved cleanup of old files to the upload tool instead of downloader.
  • •   May possibly have downloader open in colorbox in future (not sure due to possibly limited browswer support).
  • •   Added some additional error checking to upload page to minimize Warnings.

Version 9.6 (12/25/2020)
  • •   Doubled Upload time for server, Memory Limits, and input time in the hopes of people getting fewer 500 errors when the server is busy with a lot of requests.
  • •   Fixed a recently introduced math error that would happen when people uploaded MultiSport Files. This was causing a 500 Internal Server Error.
  • •   Improved Handling of MultiSport in FIT files. Now, when listing Activity Type, the tool will report the sport of the first activity in the series. The reason for this is because Garmin Connect Uploads will fail now-a-days if you select Multisport. Strava is unaffected. The user can select to change the activity type in their export, but they will get a warning if it looks like they might be preparing an export for Garmin Connect instead of Strava.
  • •   Added some extra error detection for corrupted GPX files. Now the user gets a message letting them know if the GPX was corrupted, and they are encouraged to contact me if they feel the files is indeed intact.
  • •   Fixed an issue where if a user decided to reverse a route using the tool to insert timestamps in GPS files, they would get a blank graph.
  • •   Added a warning for users if they try to shift the time in a GPS file that doesn't have any time stamps. It lets the user know they can't shift time if there isn't any time to shift, but they can add timestamps from scratch.
  • •   Improved colors on graphical representation so dates and times would be easier to read on the black background.

Version 9.5 (12/24/2020)
  • •   Improved Sport type in FIT file export. There are limits to the sport types in FIT files, but I can now send Running, Cycling, Treadmill, Indoor Cycling, and Fitness Equipment. This mostly applies to websites other than Strava. For direct exports to Strava, I use a different way to send activity type, which can be found in the drop-down list of Strava Supported activity types (that is the list that you see when you're doing your final export).
  • •   Added iGPSPORT iGS60.
  • •   Fixed the GPS entry for Fenix 6X Pro (it was accidentally using the Product ID for Fenix 6X Sapphire).
  • •   Added ability to embed a serial number and Software Version in FIT and TCX exports. This doesn't matter for Strava, but if you are uploading a file from my tool to Garmin Connect, this will help the GPS type show properly - assuming it is a Garmin Device.

Version 9.4 (12/21/2020)
  • •   Added the ability to embed Total Elevation Streams in the FIT file export. If you check the box(es), the total elevation that will appear in your output file will show as a PLACEHOLDER in the "Override Total Ascent" box. You can still override that number by entering a different value in that box.
  • •   Added some help to explain how distance is embedded in the final file. Also added help to explain total ascent calculations.
  • •   Fixed an issue where the GPS types may not be auto-detected from certain GPX or TCX file types.

Version 9.3 (12/20/2020)
  • •   Fixed an issue with FIT file export where the elevation profile would be offset downwards by 500 meters.
  • •   Removed the Changelogs from the Tool pages. Now the changelogs are only seen on the Changelog tab. I did this because they had gotten so large that they were slowing page load times.
  • •   Changed some of the page styles so that they would look better on mobile devices. I selected about 3 screen widths and optimized all four tools for those screen sizes. If the tools don't look right on your device, send me a screenshot and I'll try to optimize.
  • •   Improved verbiage and warnings when a user tries to upload a file that is too big for the server. The warning now gives suggestions on how to resolve the issue.

Version 9.2 (12/18/2020)
  • •   Increased Max File Upload Size to 15Mb. Remember that you can ZIP compress TCX and GPX files and upload the ZIP file. FIT files are already compressed: A 1MB FIT file is considered HUGE!
  • •   Made blue upload button bigger because it scrolls out of view if a user decides to use the connect to Strava feature.
  • •   Added a feature to help fix corrupted FIT files with an invalid time stamp at the end. With this feature, a user could potentially upload a corrupted FIT file - and still be able to merge or export to Strava.
  • •   Added laps to the FIT file export. There are some caveats (depending on which export options you select), but my expectation is that exporting as FIT will produce even more reliable laps than exporting as TCX.

Version 9.1 (12/17/2020)
  • •   Added an option where a user can select to merge files straight from Strava. This feature is currently in Beta, and only available to my Patreon users. A known issue is that it works with the merger tool, but not with the timestamp tool (yet).
  • •   Added early access for Patreons to the FIT export. Fit Export allows you to edit the total elevation and total calories (so far). Some known issues with FIT export are that if you let it calculate elevation on its own, it will over estimate elevation. Also, it doesn't include laps in the export (yet). I plan to fix both of these issues in a coming release.
  • •   Fixed an issue where if a user selected to add more buttons for iOS devices and they were unable to choose files with the first button (due to a November 2020 bug in Mac OS and iOS), the user would get an error saying that no files were selected. Now, that error won't happen.
  • •   Now, if a user selects the main "Choose File" button, they can select multiple files, and they can only select TCX, FIT, or GPS. If the user adds buttons, however, they can only choose one file per button, and no restrictions are placed on file type selection. The idea behind this is to make things work as smoothly as possible for people using Safari / Mac type devices.

Version 9.0 (12/16/2020)
  • •   Noticed that people were uploading lots of zip files inside of folders, so decided to make zip tool do a recursive search for FIT, GPX, and TCX files one level deep.
  • •   Set code to auto remove the invalid ZIP files that people have been uploading.
  • •   Added options to Override Total Calories and Total Ascent for Patreon Subscribers.
  • •   Fixed javascript error that I had introduced yesterday where only export option was TCX.
  • •   Improved organization and look of site and compressed space on page with the intent of making room for more features.
  • •   Created Patreon tiers and improved verbiage on Patreon site.
  • •   Added icons displaying Patreon Status.

Version 8.9 (12/14/2020)
  • •   Added some error checking to GPX and TCX parsing to prevent superfluous warnings.
  • •   Tidied up Upload page GUI: Hid progress bar until an upload is happening. Added more help details under green question marks. Added link to Changelog from upload page.
  • •   Began rolling out FIT export to limited audience.
  • •   Added administrative features / icons.
  • •   Improved favicon and moved to all user pages.

Version 8.8 (12/13/2020)
  • •   I didn't realize this, but Garmin Connect is now failing if you upload files with any activity type other than "Running," "Biking," or "Other" when people upload TCX files. I added a warning message that appears if the export meets certain criteria.
  • •   Added Garmin Legacy Hero Series First Avenger GPS

Version 8.7 (12/09/2020)
  • •   Improved how GPS types are read from GPX files. I found that the tool would crash when extremely large GPX files were uploaded. This fix addresses that issue. GPX files which you zip are still the best file-types to upload if you have huge FIT files. To use a GPX, upload your individual FIT files to Strava, then use the EXPORT GPX function. Next, compress the files as ZIP and upload them to my tool.

Version 8.6 (11/29/2020)
  • •   Significantly improved speed calculations for the Add Timestamp tool.
  • •   Added option to choose between Run or Bike for the Add Timestamp tool. This will really help get more accurate tracks if you are adding time stamps to GPS files.
  • •   Interpolate box will be pre-checked if a user uploads a file with too much average spacing between points. The file must also be fewer than 5000 points, otherwise, they will have to manually check this box. The reason for that is if the file is too big, page load times will be slow.
  • •   Added iGPSPORT iGS618

Version 8.5 (11/24/2020)
  • •   Added a Community Help Forum. Please ask and help other people out with some of the more nuanced uses of this tool!
  • •   Some people using Safari 14.0.1 on Mojave cannot upload files. This is not an issue with my website; it is an intermittent bug in the latest Safari. Current work-around is to use a different browser. Grrr... Apple. Added an "accept" attribute to the file chooser to try and work-around this issue, which may or may not help. **ON NOV 27 I changed the code slightly to see if I can issue a work-around for Mobile Safari. I'm having trouble duplicating the problem somtimes, so not sure if there was a behind the scenes update from Apple or what is going on!
  • •   Added a feature where the user could interpolate (add trackpoints). This feature will really help out people who are trying to re-create activities with the Add Timestamp tool. Previously, if a user tried to add timestamps to a track that had very few trackpoints, Strava would interpret these large gaps in time stamps as stopped time. This would mess up the average pace, and it would make the speed graph look eratic. This is a bug with how Strava interprets tracks - but by adding in extra points, it seems to work-around the Strava behavior.
  • •   Reworded the dropdown for discarding trackpoints. Previously it said "Discard every x trackpoints" - which was inaccurate. Now it says "Use every x trackpoints" which matches the actual behavior of the tool.

Version 8.4 (11/19/2020)
  • •   Changed how the tool auto-checks the Distance Box. Previously, whenever a user selected to Use Existing Embedded Distance, all of the distance stream checkboxes would be automatically checked. Now the tool remembers if the user de-selected a box and does not force auto-checking of the box.

Version 8.3 (11/17/2020)
  • •   Changed GPX export format to increase compatability with other apps besides Strava. Previously I was using the Cluetrust schema, but now I'm using a newer Garmin schema.
  • •   Added more help and FAQ information to help people with issues like moving time, elapsed time, and GPS type.
  • •   Added Fenix 6S, Garmin Forerunner 745, and Bryton 310 to the GPS list.

Version 8.2 (08/25/2020)
  • •   Added the ability for my tool to detect "enhanced altitude" in FIT files. Previously, if your device had enhanced altitude, the elevation stream would be undetected. Now the tool can detect that stream as well.

Version 8.1 (07/29/2020)
  • •   Added Suunto Spartan Sport Wrist HR Baro GPS.
  • •   Added Garmin Vivoactive 4s GPS.
  • •   Fixed Alphanumeric sorting of GPS list so it is case-insensitive.
  • •   Made window scroll to top and changed look of button. A user reported that he did not see the button, so I hope it is easier to see now.

Version 8.0 (07/09/2020)
  • •   Added detection for files that don't have time stamps. The user gets a warning that they uploaded route files instead of track files. They also get a link to the Timestamp tool so they can add in timestamps.

Version 7.9 (07/02/2020)
  • •   Fixed an issue that arose with yesterday's update. The issue was related to adding time stamps. Certain improperly formatted GPX route files with self closing tags would not be read. I wrote a workaround to address these invalid XML files.

Version 7.8 (07/01/2020)
  • •   Fixed an issue where in certain file types, every other point may be discarded
  • •   Added Garmin eTrex 20x
  • •   Fixed an issue with calorie count tallies in certain poorly formatted TCX files. I had addressed this back in the June 2 update, but I found that improperly formatted TCX files could bypass my workaround. I fixed that today

Version 7.7 (06/25/2020)
  • •   Fixed an issue where the very first track point might be discarded.
  • •   Added Komoot as a GPS type.
  • •   Added ability to read metadata->author->link->text for GPS types in certain GPX file formats.
  • •   Added some more topics in the contact form and links to the FAQs.
  • •   Added Suunto Ambit3 Vertical.

Version 7.6 (06/08/2020)
  • •   Fixed an issue where the total distance for virtual activities would not be correct when uploaded to Garmin Connect. This issue did not affect Strava, only Garmin Connect

Version 7.5 (06/02/2020)
  • •   Allowed upload of files that end in .xml or .txt. The caveat is that they need to end in .tcx.xml or .tcx.txt or .gpx.xml or .gpx.txt. If not, these files will still be rejected. I decided to do this because some export tools add on the .xml or .txt extension and this will save users a step.
  • •   Fixed an issue for certain TCX files where second-by-second calorie data is included. This would lead to excessive calorie accumulation in the final calorie count. Now, the tool will ignore the second-by-second calorie counts in TCX files. This was only an issue with TCX, not FIT.
  • •   Added rounding to calorie count. Some devices were reporting huge fractional counts which made the field take up a lot of space.

Version 7.4 (06/01/2020)
  • •   Added the ability to read cadence data from Huawei-TCX-Converter exports. These TCX files are not formatted properly, but my tool can now work around that.

Version 7.3 (05/30/2020)
  • •   Added ability for you to name your activity from the Merge Page. This can save you one more step in the upload process.
  • •   Added ability for the file name to "pass thru" from the Garmin Connect -> Strava tool. In case you don't know, I also have a tool that will let you send files from Garmin Connect to Strava.. This tool is useful because you can just check the files you want to merge from Garmin Connect and send them directly to the merger - without having to download them first.
  • •   Embedded activity name in GPX and TCX files. This helps if you are using other software so you can differentiate between which file you are looking at. I put the name within the "notes" tag for TCX. For GPX, it is just in the name tag. Let me know if you experience issues or need name saved in another place.

Version 7.2 (05/24/2020)
  • •   Improved the way that Activity types (sports) are detected in FIT files. Let me know if your sport is not automatically detected.
  • •   Added lap inclusion. This is BETA. Please let me know if it does not work for you.
  • •   Decided to get rid of the datetime-local for track trimming formatter because it only worked in Chrome and Opera - and because you could not copy and paste times like you can in Firefox and Safari. Also, the formatting is now more human-readable..
  • •   Added the ability for a user to discard heart rate values and/or power values that are clearly erroneous. The user can set an upper limit for either, and the tool will simply substitue in the last known "good" value.
  • •   Added the ability for a user to adjust power values by a percentage. 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. Change is limited to plus or minus 20 percent. Do not use this to cheat; cheaters only cheat themselves.
  • •   Improved error reporting for corrupted FIT files. User is now notified about the corruption. They also get an error code that they can send me. Sometimes I can help repair their FIT files with this information.
  • •   Added a page called "Features". I did this because my tools have become increasingly powerful - and with that comes complexity. There are a lot of new features that people might not know about to repair their Strava / Garmin tracks. The features page is still in progress, but I plan to add information that helps people find the tool they are looking for - and helps them use it. Please share GOTOES | Strava Tools using the facebook / twitter links below.
  • •   The tool can now put a link back to this website in your activity description. This way, more people can discover tools that will help them. You can opt-out of this simply by unchecking the checkbox below the Send to Strava option.

Version 7.1 (05/20/2020)
  • •   Added the ability to detect the GPS type from the "creator" value in GPX files. Most GPX files do not have this value set, but someone sent me a file from an eTrex 30 where it was set. Unfortunately, Strava does not yet recognize eTrex 30 (probably because it is not a fitness device).
  • •   Added eTrex 30 to the device list.
  • •   Added Huami Amazfit Pace to the device list.
  • •   Improved recognition of Concept2 rower in device list.
  • •   The tool now pre-selects the "Use Existing Embedded Distance" if none of your uploaded files contain position data.

Version 7.0 (05/19/2020)
  • •   Fixed an issue introduced yesterday where an activity with an incorrect time zone (probably daylight savings time) would get trimmed - even if the user had not set time trimming. To avoid this in the future, I added a checkbox so the user is knowingly trimming their files. The help box asks them to make sure that their time zone is set correctly before trimming to reduce confusion.
  • •   Added HTML date picker to help format the date and time when users decide to trim. Note that this picker works in Chrome and Opera. Safari and Firefox do not support it yet. The date picker will restrict your date-time selections so they are within the bounds of the file you are trying to trim.
  • •   Fixed an issue where daylight savings time might not be properly detected at certain times of the year.
  • •   Added the Shanren Beat 20 GPS device.

Version 6.9 (05/18/2020)
  • •   I improved how the start / stop time feature works. The start / stop feature lets you trim your activities so you can concatenate partial activities instead of having them overlap. The tool had a Javascript that tried to determine if someone had intentionally changed the date / time or if it had been a mistake. If the script thought it was a mistake, the changes would be ignored. Unfortunately, some entries were being ignored - so I disabled the script.
  • •   Another change to the start / stop feature is that the last position was being carried over if there were blank entries. This could cause some confusion when the user trimmed the activity because the part they were trying to omit would still appear as a carryover. The reason I have carryover is for smoothing. For example, if your heart rate records a zero value, you don't want to say that your heart rate dropped to zero. Now the tool will only have carryover values from selected streams.
  • •   Added Suunto 7 and Stryd to the GPS list. Note that Stryd has a manufacturer number but not a product ID. Presumably that is because they only make one product - but I can at least identify it by the mfr number for now.

Version 6.8 (05/09/2020)
  • •   Previously, I could embed only 3 Activity types in the output file - Running, Swimming, and Cycling. Any activity type other than that would not be recognized by Strava. That is still the case, so I now use their API to change the activity type after it is done uploading. This allows me to set the Activity Type to some of the more diverse activity options that Strava has over Garmin.
  • •   Added verbiage to the error reporting so that if you upload a duplicate file, it is more clear. The problem is that Strava stopped reporting back that an error was caused by a duplicate activity. This means my app has to guess what Strava's error means. Since uploading duplicate activities is the most common error, I decided to mention that to the user on the likely chance that is the cause of the issue.
  • •   Improved the way that heart rate is added to the file. If your heart rate monitor records zeros for some reason, the zeros would show up in the final file. I changed my tool to ignore any heart rate below 20bpm - thereby leaving out the zeros. If the value is less than 20, the tool now will substitute in the last good value.

Version 6.7 (04/23/2020)
  • •   Fixed an issue where distance might not be correctly calculated from FIT files when using embedded distance and exporting as TCX.
  • •   Added Samsung Galaxy Active 2

Version 6.6 (04/18/2020)
  • •   Fixed an issue where cadence would not be detected from certain TCX exports of virtual runs from Garmin Connect.
  • •   Added Garmin Vivoactive 4

Version 6.5 (04/05/2020)
  • •   Added the option to crop files before combining. You can do this by simply manipulating the start or stop time in the table view. IF you make changes to these fields, you need to make sure that your date and time are correctly formatted - otherwise, the crop may fail.
  • •   Added stop time in the graphical representation.
  • •   Improved Color coding between the graphical representation and the table representation.

Version 6.4 (04/01/2020)
  • •   Added option for Zwift Run. Currently, Strava is still interpreting our Zwift Run exports as Virtual Rides - but we have a support ticket for them to fix that.
  • •   Added option to embed the Calories from your device. Normally Strava will calculate calories for you, but you can now select to embed the calorie data from your device. Note that this feature is only available on TCX exports because GPX does not have a field for calories.
  • •   Added Garmin Fenix 6S Sapphire

Version 6.3 (03/29/2020)
  • •   Added Garmin Forerunner 945

Version 6.2 (01/30/2020)
  • •   Added iGPSPORT iGS50E
  • •   Added Sigma Rox 12.0

Version 6.1 (12/20/2019)
  • •   Fixed an issue in the time stamp tool where TCX files could not be time stamped. The time stamp tool can now work on GPX, TCX, and FIT files.
  • •   Added Suunto Spartan Ultra
  • •   Added Garmin Edge 830
  • •   Fixed an issue where accumulated distance would not be retrieved from FIT files.

Version 6.0 (11/21/2019)
  • •   Added Garmin Fenix 6x Sapphire

Version 5.9 (11/10/2019)
  • •   Added the ability to discard trackpoints. You can discard up to every 10th trackpoint. This is useful if you have 1 second recording turned on during a very long activity. If your file is too big, Strava or Garmin Connect will not accept your file. This feature helps with that.
  • •   Changed the "Ignore Big Gaps" feature so that the user can customize the size of the gaps which are to be ignored.

Version 5.8 (08/06/2019)
  • •   Added Forerunner 645 GPS.
  • •   Added Edge 530 GPS.

Version 5.7 (07/15/2019)
  • •   Added Coros Apex GPS.
  • •   Added Bryton Rider 450 GPS.
  • •   Added Bryton Rider 530 GPS.

Version 5.6 (06/19/2019)
  • •   Fixed issue where certain streams could not be read from certain GPX file formats.
  • •   Changed the requirement on the time stamp tool so that you do not need latitude and longitude to run the tool. If you do a time-shift, that will still work fine, but if you try to add calculated time stamps based on position, it will produce a file with zero time. I decided to open this up, though, because I have been finding that people are now uploading multiple and varied files to the time stamp tool. I may change it back or provide a warning note because people think that the tool failed when in reality, they did not have any position data to calculate the time from.
  • •   Added ability to time-stamp TCX and FIT files (beta - let me know if this does or does not work for you).
  • •   Fixed an issue related to Safari for our kind donors. If you donated with Safari, that browser will only let us store the fact that you donated for one week. I wrote a work-around so that your Safari browser will remember your donation for 10 years. Sorry if you got multiple nag screens.

Version 5.5 (06/11/2019)
  • •   Fixed an issue where cadence could not be read from certain FIT files.

Version 5.4 (06/10/2019)
  • •   Combined the Time Stamp Tool with the File Merge Tool. For file mergers, this makes no difference - but for Time Stampers, the tool will look a little different and run a lot faster! Right now, you can only time-stamp GPX files (import/export), but I plan to add time stamp ability to all file types. Also, I plan to give the ability to reverse the GPS tracks. Moving forward, you will see release notes here for the Heart Rate tool, Time Stamp Tool, and File Merge tool because they are now all using the same engine. This allows me to maintain one set of high quality code as opposed to scrambling to release updates/improvements to 3 separate tools. In the Change log, I will try and identify changes that are specific to just one of the tools.
  • •   Time Stamp Tool: Improved smoothing and speed estimation when user selects the "Consider Elevation When Calculating Speed"
  • •   Added ability to Ignore Big Gaps in distance accumulation for TCX files. If you are merging rides with a boat or ferry ride (for example) in the middle, you probably don't want to get credit for that distance. If so, choose to Export in TCX format, Choose "Calculate Distance", and select the new "Ignore Big Gaps" button. If the distance between two points is greater than 5 miles and the time gap is more than 10 minutes, this distance will not be added to your final file.
  • •   Added verbiage to help users identify problems with the zip files they upload. Specifically, we do not allow zip files to contain sub folders. If your GPX,TCX or FIT file are in a sub folder within the ZIP file, they will be ignored. Now, the site lets the user know what happened.
  • •   Removed the Legacy Heart Rate Combine tool.

Version 5.3 (06/09/2019)
  • •   Added ability to detect swim workouts on French Language Devices
  • •   Added ability to merge swim files that have no position data.
  • •   Fixed an issue where certain GPS types may not be auto selected (this would happen if one of the files you uploaded had a device ID that did not correspond to any known GPS name)

Version 5.2 (06/07/2019)
  • •   Noted that some manufacturers are recycling product ID numbers. Therefore, I added a method to detect manufacturer number as well to better identify GPS units.
  • •   Added a nag screen that asks for donations if a person has done more than 5 combines. The nag screen is just a reminder and you can dismiss it forever by donating or by saying you donated. Hopefully you did do that. I am working all day at this - sometimes spending hours to add features for certain individuals. I do this work for free. Note that the browser remembers if you donated - but if you switch to another browser or delete your cookies, it will nag you again.
  • •   Increase the number of cycles where the tool looks for streams. Previously, to save processing time, the tool only looked 50 trackpoints deep for data. Now it looks 100 points deep. This will help with activities where no data is recorded at the beginning of the activity.
  • •   Improved verbiage to help people learn if they should export in GPX or TCX format. For outdoor activities on Strava, I recommend GPX. For all other activities that need cadence or power and websites other than Strava, I recommend TCX.

Version 5.1 (06/06/2019)
  • •   Worked on issue where time zone cookie may not have been stored. Not sure if it is working yet in all browsers.
  • •   Rewrote the cookie reset code so that it forces the browser to reload my Javascript (in case there have been any changes). This makes sure that you have the latest version of the Javascript in your browser cache.
  • •   Added versioning to display. This way, you can make sure that you are viewing the latest version of the page as opposed to a cache. I cannot think of how you would be viewing an older version of the page - but certainly your browser could have an older version of the Javascript loaded.

Version 5.0 (06/03/2019)
  • •   Added a new option so that when tracks are overlapping, users can select to only include trackpoints that have position data. This will help some users upload their files to certain platforms (other than Strava and Garmin Connect which have no problem accepting trackpoints that are missing position data).

Version 4.9 (05/24/2019)
  • •   Added ability to select Zwift as a GPS type.
  • •   Added Strava supported Activity types like skiing, virtual rides, etc.. Differentiated between Garmin and Strava accepted Activity types.
  • •   Set Javascript to per-select virtual ride fro Zwift, Watt-bike, and FulGaz.
  • •   Added ability to select Zwift as a GPS type.
  • •   Reduced clutter in GPS type list. Some GPS units have been assigned more than one Product ID by Garmin. Previously, I was just listing every single product by Product ID. Now, if the same product ID appears twice, it ignores all subsequent product IDs ULESS the device that you uploaded from happens to have one of the multiple product IDs. If that is the case, then your device/product ID is automatically selected.

Version 4.8 (04/30/2019)
  • •   Fixed an issue with distance calculations for indoor workouts. This only would happen if you had selected to use the embedded distance data. The bug resulted in calculated distances that were too high.

Version 4.7 (04/18/2019)
  • •   Fixed an issue with Safari where the tool would not store your time zone settings. This has to do with Safari blocking pages from setting cookies from an iframe. The Time zone entry is only necessary for people who are doing trainer rides - because the time zone may not be included in the file, and then when you go to the 2nd page, the graph makes it look like you started your activity at an odd time (unless you live along the Prime Meridian). The tool doesn't need you to enter time zone from outdoor files because it takes the very first GPS point and looks up the location in a time zone database, which is pretty reliable.
  • •   Added Bryton 330 GPS and also made the GPS detection method for FIT files able to pick up some outliers. Certain manufacturers have different ways of coding the GPS product ID into their file.
  • •   Fixed an issue where you would have to reconnect to Strava even after you got the new access token. This is because I had the access token expiring after 6 hours (which id does)... but my tool assumed that if the access token was expired, you were no longer connected. Now, that is not the case, and the tool looks to the refresh token to keep you connected to Strava.

Version 4.6 (04/07/2019)
  • •   NEW! Now you can upload ZIP files containing either TCX or GPX files! This will allow you to bypass the 10Mb file upload limit. The ZIP files are still capped at 10Mb, but you can fit a LOT more TCX and GPX data into a zip file. I'm not accepting ZIPPED FIT files because FIT files are already compressed and contain a TON of data that will overwhelm the server. The reason for the file size limitation has to do with the Server's ability to process data. Also, it saves you upload time & saves the server bandwidth.

Version 4.5 (04/05/2019)
  • •   Fixed an issue where GPS types would not be read and pre-populated from TCX files.
  • •   Added ability to read activity type from TCX files.

Version 4.4 (04/03/2019)
  • •   Fixed an issue where Turbo/Trainer rides would have power data drop to zero periodically with certain output settings.
  • •   Fixed an issue where certain types of GPX file inputs would not be recognized after the first lap
  • •   Fixed an issue where files that did not have any stream data within the first 10 points would not receive a steam option. Now, the tool looks 50 points deep to see if there are any values for each stream. The reason we don't read the entire file is to save bandwidth/resources.
  • •   Investigated an issue where cadence was not detected in certain FIT files. This appears to only apply to running activities. Still unresolved.
  • •   Although this tool is oriented around Strava and Garmin Connect, I fixed an issue last week with uploading to Training Peaks if the device happened to be an Apple Watch.
  • •   Fixed an issue where if you uploaded files that contained certain streams... but the streams had values of zero, the stream would show in the list. Now, if those values are empty, the stream does not show up on the Sorted Graphical Representation Page.

Merge_Heart_Rate_TCX_With_Position_TCX_Legacy Note (03/26/2019)
  • •   Hi guys. I have been working on this tool 15 hours a day for the last 5 days in a row. Many people have written me asking about the old heart rate tool - especially people using trainers. Eventually, I want to retire the old tool, so please use this new one first. If it doesn't work, you need to contact me, and I will ask you to email me files so I can make the new tool do what you want. For every person who has written me about the new tool not working for them, there used to be just as many people who were asking for the features that I added to the new tool! So if you miss the old tool, remember there is another person who is happy that the new tool works for them. This new tool will eventually become a one-tool-does-it-all. But to make that happen, I need your files and situations that aren't working. I need detail. Believe it or not I am spending hours every day helping tons of people. I am one person, and this is more than a full time job (I don't have an other job)! I've gotten to help with people climbing Everest, and some pretty crazy, long bike rides that people have done that were too much for the tool to handle. Thank you for reading, and please consider making a donation for all my hard work to help you voluntarily. Remember: if the new tool doesn't work for you, I need you to let me know what isn't working. I can make it work, but I need to know what your specific problem is. The tool already works for 95% of cases, so I need to iron out bugs with the remaining 5%.

Version 4.3 (03/22/2019)
  • •   Big Changes! I have combined the Heart Rate + GPS tool in with the Merge Tracks Tool. One tool can now do it all!
  • •   I have been thinking about the concept of data "streams" for a long time with this tool. My idea was to parse every single uploaded file into it's components - a list of heart rate values, a list of position values, a list of cadence... you get the idea. Then, sort everything by time, and let the user decide which streams to include. This allows the user to process overlapping files (though partial overlaps may be confusing), and it allows the user to merge turbo/trainer files - one with heart rate and one with power. Basically, the hope is that this will eventually become a universal tool for merging GPS files for Strava.
  • •   Added Javascript to notify users BEFOREHAND that they are trying to upload files that are too big or unsupported. This saves the user time. Previously they wouldn't find out until after it had been uploaded.
  • •   Changed the way that the XML is parsed. I now use code that runs a lot more efficiently and uses less memory. This will hopefully help prevent some of the blank pages for people who were uploading massive FIT files.
  • •   Upgraded to PHP7. This version of PHP is supposedly faster.
  • •   Included some error catching to prevent division by zero. Sometimes, when creating the TCX files, the tool would try to calculate the distance between each point. The problem was that if there were any bad points, we might get a division by zero error that would cause the app to give a 500 error.
  • •   I Gave the user the freedom to select which streams would be included in the final track. Note that if you have overlapping tracks, in some instances it may cause wonky tracks if you include two sets of the same data. Try different things if you have problems.
  • •   I Gave the user choice in where distance data comes from in TCX files. We only recommend TCX output for indoor workouts. Strava lets us use the Cluetrust schema, which means we can include the 4 big hitters with GPX: Power, Heart Rate, Cadence, and Temperature. With TCX, we cannot include temperature. TCX output is good for trainer workouts, though, because it does not require GPS position data.
  • •   I Re-did the Connect to Strava link. Strava is switching to an access_token/refresh_token scheme, and in the last couple weeks, many new users reported that the connect to Strava did not work for them. You may have to reset your cookies to get the connect to Strava feature working again, but once you do, hopefully you won't have to do it again for a while.

Version 4.2 (03/13/2019)
  • •   Added more GPS units including Garmin Edge 520 plus, Garmin X40, Fenix 5 Plus, Acque Libere, Vivosmart 3 and 4, Forerunner 645 Music, Polar Vantage V and M, Garmin 130.

Version 4.1 (05/28/2018)
  • •   Improved ability for the tool to read GPX file extensions.
  • •   Added temperature export in GPX file type.

Version 4.0 (05/22/2018)
  • •   Big Changes to the Uploader and the Site. Globally implemented HTTPS instead of HTTP. This was to comply with more modern standards of privacy and security.
  • •   Updated the Privacy Policy and the Terms of Service. Have a look at these if you get the chance.
  • •   Changed the uploader to use Javascript. This allows me to give you a progress indicator as your files are uploading to Strava. This feature DOES NOT come into play if you just download your file. If you are sending directly to Strava, however, the Javascript will tell you the status of your file as it is being sent to Strava. Previously, some of you may remember a similar indicator. The problem was that once I shifted from HTTP to HTTPS, the output buffer was not being flushed. This means that when I tried to use PHP to send you progress updates, you wouldn't get anything until the whole process was done. Obviously, this isn't very useful. If you have Javascript turned off, please turn it on if you want this feature to work. The upload will still work without Javascript - but the page will look weird.

Version 3.9 (10/23/2017)
  • •   Made a change that fixed an issue with certain types of TCX files not being parsed correctly.

Version 3.8 (10/20/2017)
  • •   Fixed an issue where FIT files from Wahoo devices were not always recognized.
  • •   Added ability to export Temperature (GPX only). Also improved power and heart rate export in GPX files.
  • •   Switched recommended export format from TCX to GPX. This is due to smaller file size, the ability to send temperature to Strava, and better reliability in general.
  • •   Expanded digit recognition from 20 to 30 decimal places in very precise GPX files from Garmin Connect.

Version 3.7 (03/31/2017)
  • •   Added more GPS units including TomTom Sport watch, Fenix 5, Fenix Chronos, Forerunner 35, etc..

Version 3.6 (03/25/2017)
  • •   Removed the 'DistanceMeters' tag from the TCX output. Why? Well, it was causing some people issues. The DistanceMeters tag is useful for people who are using trainers (for example) because trainers do not record Latitude and Longitude. With a distance entered in between each track point, that allows people to still get a mileage for a file that has zero trackpoints. Of course, any software worth it's beans will re-calculate the distance like we were doing. So, it's a bit redundant. Removing it makes the TCX file that much smaller as well. I also remembered that this app doesn't accept files without Lat/Long anyway (sorry swimmers and trainer users). I feel it is much more important to have a combined track in instances where there is a map to be displayed, so we intend to focus on combining those types of files instead.
  • •   While I was in there coding, I noticed a bug where Power and/or Cadence would be lost from the output files under certain circumstances. I'm happy to have that fixed, as occasionally I receive reports that people didn't have power data in their combined file.

Version 3.5 (02/07/2017)
  • •   Recently encountered a rare issue where a FIT file from an unknown device had timestamps without corresponding latitude/longitude. When uploading the resulting file to Strava, the user experienced an unusually long ride duration - in spite of the fact that there were no errant points in the resulting file. Changed the code so that if you’re uploading a FIT file, then we will NOT INCLUDE any trackpoint (i.e. position-less time stamp) that does not have a corresponding Latitude AND Longitude.

Version 3.4 (01/15/2017)
  • •   Added a Bunch of GPS units including Concept 2 rower, and FulGaz virtual ride.

Version 3.3 (10/24/2016)
  • •   Added Suunto Traverse

Version 3.2 (09/08/2016)
  • •   Added more GPS types including a few Polar models, 735XT, and a couple Suunto models
  • •   Externalized the GPS list so I can use it with the Add TimeStamp Tool as well.

Version 3.1 (07/11/2016)
  • •   Added more GPS types: Vivoactive HR+, Polar Beat, Polar RCX5, Garmin Swim, Fenix 3 HR

Version 3.0 (06/19/2016)
  • •   Added more GPS types: Edge 800 Taiwan, Edge Explore 1000, Polar RCX3, Vivoactive HR
  • •   Updated the way I get notified of new GPS types that aren't on the list (increases the chances of a new device being added for you!)

Version 2.9 (11/30/2015)
  • •   Added more GPS types.

Version 2.8 (11/20/2015)
  • •   Added more GPS types.
  • •   Added a FAQ for questions I get pretty often.

Version 2.7 (10/25/2015)
  • •   Added more GPS types.

Version 2.6 (09/17/2015)
  • •   Added the ability to incorporate power data from FIT files into TCX output.
  • •   Improved sorting of GPS types to a "Natural" sort. This makes the list easier to read, and it is easier to find your GPS unit.

Version 2.5 (09/10/2015)
  • •   Added the ability to accept files that do not have position data (i.e. Trainer / Treadmill / Turbo data).
  • •   Added verbiage and more help menus to help explain to people that if they upload a GPX file without location data, Strava will not accept it. Strava will, however, accept a TCX file without location data. I mentioned this in the help. The GPX file specification is location based. As such, if location data is missing, it will give an improperly formatted file error from Strava. The TCX file spec was designed for newer devices like vivoactive and trainers - devices that record heart rate, power, speed - but do not record GPS coordinates.

Version 2.4 (09/03/2015)
  • •   Added Garmin Forerunner 10. If you want me to add your GPS to the list, please email me a FIT file or TCX file from your device. I cannot extract the UnitID from a GPX file (it's absent). Garmin does not publish a list of Unit ID's, so I've been collecting them as we go. Apparently, they use at least 3 different IDs for the 310XT - but most devices are consistent with one ID.
  • •   Added the ability to go directly to the newly uploaded activity (as opposed to the training page). This introduces a 3 second delay (so Strava can process the file and send us back an Activity ID). I think it will reduce confusion, though, because sometimes the file would be uploaded to Strava, but it would still be processing. In this case, the user wouldn't know for sure that the file had been uploaded. If Strava doesn't send an activity ID back in 3 seconds, we will take the user to the training page and give them notification that they may need to refresh the Strava page a few times as the activity is processed.

Version 2.3 (08/30/2015)
  • •   Added a few more GPS types. (Strava iPhone App, Strava Android App, and Fitbit).
  • •   Because these devices don't have a real product ID associated with them (I believe that Garmin Connect assigns the Product IDs, but I'm not sure)... I fabricated some product IDs. Then, I added a cookie so that the website will remember the last GPS type you selected. That way, the app will first try to look for the Product ID in your file. If it is absent (as in the case of the aforementioned devices), the web app will then look to see if you have a cookie stored for the last type of device that you used.

Version 2.2 (08/28/2015)
  • •   Someone wrote me saying that the start and stop times on the preview pane were not correct. They had to set the time zone drop-down to their actual time zone in order for the times to be correct. They said this was a bug, but it is not. Your GPS records your time stamps in GMT (the time at Greenwich, London). When you upload a file, that is all we know about you. I decided to enhance the tool, though, and try and retrieve the first location as well as the first and last time stamps. Now, at the very top of the drop down, you can have the tool select your time zone for you. The tool will try and determine which time zone the very first point of your activity began in. If you have an errant first point, this might not work. It will then save this time zone as a cookie so you won't have to enter it repeatedly. Of course, if you need, you can change the time zone in the drop down. Your changes will also be saved in the cookie so you don't have to re-enter the time zone each time.

Version 2.1 (08/27/2015)
  • •   Added More GPS types.
  • •   Fixed an issue with Time Zones where certain activities might receive date stamps with the local time offset by the same amount as the time zone.

Version 2.0 (07/30/2015)
  • •   Added option for users to connect with Strava. Now, you can have your combined GPS files go directly to Strava.

Version 1.9 (07/28/2015)
  • •   A user reported problems with an improperly formatted TCX export from MapMyRide. The violation was additional whitespaces / carriage returns that don't match the TCX schema. I rewrote our code to accommodate this deviation from protocol.

Version 1.8 (07/23/2015)
  • •   In response to feedback, we added the ability for maximum speed, total distance, and total time to be tabulated when combining GPX files into a TCX output. GPX files do not store this information, so we calculate it from the raw values.

Version 1.7 (07/21/2015)
  • •   Added a Graphical representation of your files (by time). This way, you can visualize how your files overlap time-wise in a graphical format
  • •   Added the ability to merge FIT files.
  • •   Added the ability to merge types of different files together. So, you can merge a FIT file with a GPX file. This is useful if you start recording on your Edge (FIT file) and finish up the ride with your iPhone (GPX file)
  • •   Added ability to randomize ID tags. This means that when you upload to Strava, you won't get the message saying that you have uploaded a duplicate file.
  • •   Added an instant feedback form so you can rate the quality of your track. Also, we can research the track if you are having a problem.
  • •   Added option to Contact Form so you can notify us if your GPS is not listed as an output GPS Type option.
  • •   Added ability for user to select activity type.
  • •   Added ability for user to decide export file format (GPX or TCX).
  • •   Added tracking of how many files have been combined since today.

Version 1.6 (06/14/2015)
  • •   Added the ability to "spoof" your GPS type in the final TCX file. Why would you want to do this? Let's say you want to upload a file from your Garmin that has a barometric altimeter to Strava... If you upload the file, Strava will "trust" the elevation data. Often times, the elevation data from barometric altimeters is more accurate - and lower than Strava's calculated total climbing. If you spoof the GPS type to a Garmin that does not have a barometric altimeter, you may get a higher total climbing number. (Some Garmins that have barometric altimeters are: Edge Touring Plus, 1000, 810, 800 and 510. Some Garmins that do NOT have a barometric altimeter are: Forerunner 305, Forerunner 310XT, Edge 500)

Version 1.5 (05/24/2015)
  • •   I was contacted about 3 fairly large files that couldn't be combined. I found that even though I had increased the max file upload size on my server, I also needed to increase the timeout. So now, you have 6 minutes to upload instead of 1. Hopefully that time limit works for everyone. If you have a slow internet connection and lots of large files, you may still encounter issues.

Version 1.4 (05/20/2015)
  • •   Increased the maximum file upload size to 10Mb for individual files, and 20Mb total for all uploaded files.
  • •   Added some verbiage to encourage people to send feedback if they have trouble uploading files, and to also provide a solution.

Version 1.3 (05/12/2015)
  • •   If GPX files had track names embedded in them, previously there would be multiple names in the final combined file. Now, the tool takes the name of just the first file (first time stamp) and embeds that name in the file. If the name is absent, the tool just inserts a generic name referring to this website.
  • •   I Noticed that someone had uploaded a corrupted GPX file that had been exported from Strava. The corruption was due to an extra <trkseg> tag that had not been closed. Added ability for this tool to rebuild the <trkseg> tags from scratch, preventing this type of failure in the future.
  • •   I noticed some people were just uploading solitary files, so I added some verbiage to help explain how to upload multiple files. Hopefully it makes sense that this tool can not combine just one file.

Version 1.2 (05/11/2015)
  • •   Number of Steps are now aggregated in TCX files (for running).
  • •   Coming soon is the ability to combine GPX files that do not have time stamps. I've noticed people trying to combine GPX routes (as opposed to track histories that have time stamps). The time stamps are used to put the files in order, so if they are absent, the program fails. I hope to change this, ordering the files by file name.

Version 1.1 (05/10/2015)
  • •   Changed handling of TCX files so Maximum Power would also be included in output.

Version 1.0 (05/04/2015)
  • •   Initial Public Release.
Email Strava Uploader Change Log:

Version 2.2 (07/14/2023)
  • •   Improved look of log-in page; made new account/log in options separate entities to remove confusion.
  • •   Made some minor improvements to text formatting of emails, etc. to improve clarity.
  • •   Noted that Strava login key may "get behind" if the user is using this tool in conjunction with other GOTOES|Strava tools. That is because the refresh cookie lives in the browser for most of the GOTOES tools... but it is stored in a database for this tool. That is necessary because emails don't take the browser pathway. For now, users should be aware of this. The solution is to unlink your Strava account from the email tool, and then re-link it. In the future, I may create unified accounts for all of the GOTOES tools so that this becomes that bit easier for my users. .

Version 2.1 (07/13/2023)
  • •   Fixed bug introduced by site upgrade that was causing log-in page to fail. This was due to a failure in checking the veracity of the user's profile image.

Version 2.0 (01/31/2023)
  • •   Added a text-area so that when a new user gets a confirmation email, it will allow them to auto-fill the password (assuming they have chosen to do this on their OS).
  • •   Added extra email validation to prevent malicious users from trying to create bogus accounts.
  • •   Added the option for a user to delete their account. Note that the account login will be deleted, but the tool will retain the upload history for that account (for user convenience in case they decide to re-establish the account). Deleting the account can be useful for troubleshooting. Note that if you want the upload history deleted, you can always contact me and I can remove it manually.

Version 1.9 (08/24/2021)
  • •   I was (finally) notified by a user that the email-to-Strava feature was no longer working. This went down July 29, 2021 after I migrated to a supposedly "High Performance Server." Unfortuantely, my webhost broke a lot of features in this upgrade. I managed to get it fixed today. Major apologies to anyone who was inconvenienced.

Version 1.8 (03/22/2021)
  • •   Earlier this week I made some site-wide changes to how cookies are handled. There are some upcoming changes to web-browsers where you need to specify the same-site policy as being Strict, or Lax. I decided to go with a Strict policy, but today I was notified by a user that they could not link to Strava. It turns out that when the user returns from Strava with a strict policy, the browser forgets who you are! But if you refresh the page, then the cookies come back. This behavior is somewhat confusing, but I went ahead and set a "Lax" cookie policy for the cookie that is set right before you go to Strava - and that fixed the problem.
  • •   While I was working on the cookie issue, I also fixed a somewhat related issue where users would often get a blank page when verifying their email address. That ought to take some confuion out of the signup process.

Version 1.7 (02/27/2021)
  • •   Fixed an issue where two emails would be sent to a user upon successful upload - one of which would be blank (assuming there were no errors).

Version 1.6 (01/12/2021)
  • •   An email is sent to the user's email address after the file is received. The email contains a status for the upload, and it also links to Strava.
  • •   Consolidated some of the function files to group them more logically with this tool.

Version 1.5 (10/24/2019)

Version 1.4 (10/15/2019)
  • •   The service was down from late September until today. My webhost changed my server and all of the associated paths. I was on a bike tour until a few days ago which caused the delay in fixing the issues. Thank you for your patience.

Version 1.3 (07/07/2019)
  • •   Fixed an issue where people may have created an account with capital letters in their email address and later forgotten that they had done that. This would proudce a log-in error. Now, all emails are forced to lower-case.
  • •   Changed the connect to Strava permissions to match some of the other tools on our website. This may require that you disconnect and reconnect your account(s) from Strava. The reason for this is that some users may use multiple tools on our website. To keep things simple, I'm using just one log-in key for all of your accounts... but in order to do that, the permissions need to be the same. As such, I'm requesting a greater level of permission than this particular tool needs - but if you use one of our other tools, that level of permission may be needed and this allows me to recycle the Strava refresh token between my various tools

Version 1.2 (05/22/2018)
  • •   Big Changes to the Uploader and the Site. Globally implemented HTTPS instead of HTTP. This was to comply with more modern standards of privacy and security.
  • •   Updated the Privacy Policy and the Terms of Service. Have a look at these if you get the chance.
  • •   Changed the uploader to use Javascript. This allows me to give you a progress indicator as your files are uploading to Strava. This feature DOES NOT come into play if you just download your file. If you are sending directly to Strava, however, the javascript will tell you the status of your file as it is being sent to Strava. Previously, some of you may remember a similar indicator. The problem was that once I shifted from HTTP to HTTPS, the output buffer was not being flushed. This means that when I tried to use PHP to send you progress updates, you wouldn't get anything until the whole process was done. Obviously, this isn't very useful. If you have Javascript turned off, please turn it on if you want this feature to work. The upload will still work without Javascript - but the page will look weird.

Version 1.1 (06/28/2016)
  • •   Fixed an issue where if a user had connected a Strava account to this tool and subsequently changed their profile picture, the picture would not be displayed in this tool.
  • •   Reversed the order of upload history on this page so most recent uploads are shown first. That way, the user does not need to scroll to the bottom of the page to troubleshoot recent uploads.

Version 1.0 (09/04/2015)
  • •   Initial Public Release.

Convert FIT to CSV Change Log:

Version 1.4 (02/14/2024)
  • •   Added a "Messy Dump" option. This feature allows users to debug their FIT files, and it includes all of the raw data within the file. It is NOT a CSV.

Version 1.3 (09/16/2023)
  • •   Added ability for users to upload ZIPPED FIT files. Sometimes FIT files can get smaller if you zip them. FIT files are already highly compressed, but I was helping a user who was over the upload size limit, and zipping got the file small enough to process. Note that the tool can only process one FIT file, so please make sure to only zip one file at a time.

Version 1.2 (11/01/2021)
  • •   Added ability to export the Session data fields.
  • •   This feature is actually on the merge tool / timestamp tool... but these tools can now recognize GOTOES CSV inputs - so the CSV importer can now read some of the pertinent File ID fields, Creator Fields, and Session Fields

Version 1.1 (10/31/2021)
  • •   Added ability to export the File ID fields, File Creator Fields, and Sport Fields into CSV. Plan for this is to eventually read this info back into a CSV upload and put it in an exported FIT File.

Version 1.0 (10/30/2021)
  • •   Initial Public Release.

Tool to Transfer from Garmin Connect to Strava Change Log:

Version 2.6 (10/27/2023)
  • •   This tool is back! It should be better than ever now because I am using the actual Garmin API instead of the work-around methods that were previously employed.
  • •   Log in happens directly on Garmin's site. This means you no longer have to share your Garmin password with GOTOES.
  • •   GOTOES can only see activities loaded AFTER you give permission... so your table will be blank after you connect - until you upload an activity to Garmin.
  • •   Because we are using the official Garmin API, I am no longer worried about getting GOTOES banned. This means I removed the rate-limits AND I also opened it to all users for FREE (not just limited to donors anymore)
  • •   Fixed an issue where if a user selected to transfer multiple files at a time, and tried to click the link within the iframe to go to the activity, they would get a security message from Firefox. Now, the link opens in the parent window, meaning no security issues

Version 2.5 (09/26/2023)
  • •   Garmin Broke this tool again, but I have plans to try and fix it. I am working with their API again...

Version 2.4 (09/16/2023)
  • •   Changed the tool to use iFrames instead of opening multiple windows when trying to transfer more than one file to Strava from Garmin Connect. The window popups were being blocked too often, so the iframe seems like a better solution.

Version 2.3 (07/29/2023)
  • •   Added a progress indicator for the Garmin Connect Page.

Version 2.2 (07/26/2023)
  • •   Added distance and climbing to the table displayed when you are looking at your activities on Garmin. Distance and climbing is in meters for the time-being. I may localize the units in the future.

Version 2.1 (07/19/2023)
  • •   Changed remote IP for the datasystem server that retrieves the Garmin Activities.

Version 2.0 (07/10/2023)
  • •   Added the ability to insert a repetitive ride title and day number. Note that this feature is not available to all users yet. The intended purpose is to make naming multi-day tours easier.
  • •   Fixed a bug in the versioning (07/14/2023).

Version 1.9 (10/13/2022)
  • •   I noticed that while the multiple-file merge feature works fine, the multiple file uploader wasn't working correctly, so I fixed it and capped the number of uploads to 10.

Version 1.8 (07/08/2022)
  • •   After a long hiatus, I have brought this tool back! However the number of interactions you can have with the tool is now quite limited because we do not want for this tool to become banned by Garmin again. Previously, it was banned because of overuse - so I have placed severe restrictions on the rate at which you can use the tool to prevent overuse. The criteria is listed below.
  • •    - You must be a >$10 donor to even see the tool. If the only feature you want from my website is this tool, you may or may not want to donate. The tool is still pretty fragile, and could break at any time. In other words, your use is not guaranteed. If you want to use other donor features on the website, a donation is still encouraged.
  • •    - In the time frame of 5 minutes, you're limited to 4 interactions with the tool. This is to prevent too many hits to the Garmin Server. Previously, the tool was open to the public, and anyone could use it (including spam bots). Since Spam bots won't be donors, we have filtered them out, but Garmin is still pretty stringent, so I'm limiting the rate to 5 interactions per 5 minute period.
  • •    - The idea behind all of these restrictions is to keep the tool working for everyone. Most people can accomplish what they need with two interactions. The first interaction is loading the list of activities. The second interaction is submitting the form (after you check the boxes for the activities you want to transfer). Every time you load the page while signed it, that counts as an interaction (because it pings Garmin's website)... so try and avoid page reloads.
  • •    - If you enter the wrong Garmin username/password too often, Garmin will block you before my website does. My website has no way of knowing if you log in properly, and the Garmin algorithim for password fishing is VERY strict.
  • •   Note: I retired this tool in October 2021, and finally restored it July 8, 2022. It has been difficult to gain access to Garmin after they had their security breach.

Version 1.7 (05/12/2020)
  • •   Added a checkbox so user can pre-fill the Garmin Name when transferring to Strava.

Version 1.6 (02/25/2021)
  • •   Fixed an issue where log in to Garmin Connect failed due to recent changes in the Garmin Connect website.

Version 1.5 (12/29/2020)
  • •   Added a 1 second delay between attempts to log into Garmin. Because this is a hack, Garmin may not respond quickly enough so the app tries to log in a second time.
  • •   Fixed some formatting issues with cookies caused by the upgrade to PHP 7.4 today. You may need to log out, refresh your browser, and then log back in to Garmin Connect.
  • •   Removed Garmin Activity ID from the table because it took up precious space on mobile devices. Also, iPhone thought it was a phone number and always tried to place a call!
  • •   User Garmin Activity ID to instead hyperlink Activity Type to the original activity on Garmin Connect. Page now displays better on small mobile screens.

Version 1.4 (12/15/2020)
  • •   Added the ability for users to specify the activity type directly from the user interface. The tool attempts to pre-select the correct activity type. Let me know if you have an activity type that is not auto-detected.
  • •   Added progress indicator that displays while GOTOES|Strava Tools is making the connection with Garmin Connect.
  • •   Improved font for small screens.

Version 1.3 (11/08/2020)
  • •   Fixed an issue that was caused by Garmin renaming their files. The user would get an error saying 'No Such File.' I have resolved this issue.

Version 1.2 (05/30/2020)
  • •   Gave user the option to pre-fill... or NOT pre-fill the dates. Some users had complained about the dates being pre-filled. Also, your browser will remember your previous choice in the cookies.
  • •   Added ability for the file name to "pass thru" from the Garmin Connect -> Strava tool. This is useful because you can just check the files you want to merge from Garmin Connect and send them directly to the merger - without having to download them first.
  • •   Submitting your files now opens a new window. This makes it more clear what is happening. In the Safari browser, there is a delay before the submission progress begins to show. I figured that having a new window would make the delay less concerning. Firefox and Chrome do not have this delay. Also, the merger page doesn't fit well inside the iframe, so it looks better in a new window.

Version 1.1 (06/06/2019)
  • •   Added ability to select multiple files.
  • •   Increased the list from 10 to the 20 most recent files on Garmin Connect.
  • •   Added checkbox to allow user to send the files directly to the Merge File tool. This allows people to combine multiple Garmin activities into a single activity on Strava.
  • •   Added ability to upload multiple files at once to Strava.
  • •   Added ability to pre-name multiple files prior to upload (note that the naming does NOT work if you check the box to merge the files into a single activity)

Version 1.0 (06/02/2018)
  • •   Initial Public Release.

Bulk Upload Spreadsheet to Strava Change Log:

Version 1.1 (04/01/2024)
  • •   Fixed a bug where the first line of the spreadsheet would not be included sometimes.

Version 1.0 (02/19/2024)
  • •   This tool allows a user to take a spreadsheet full of historical activities and paste them into a box on GOTOES. Click the button, and a manual activity will be created with the stats you specify for each row in your spreadsheet.
  • •   Initial Public Release.

Add Time Stamps to GPS Files Change Log:

I merged the time-stamp tool with the merge tool. Here is the change log from before the tools were combined:
Before Tools Combined Version 2.0 (05/22/2018)
  • •   Big Changes to the Uploader and the Site. Globally implemented HTTPS instead of HTTP. This was to comply with more modern standards of privacy and security.
  • •   Updated the Privacy Policy and the Terms of Service. Have a look at these if you get the chance.
  • •   Changed the uploader to use Javascript. This allows me to give you a progress indicator as your files are uploading to Strava. This feature DOES NOT come into play if you just download your file. If you are sending directly to Strava, however, the javascript will tell you the status of your file as it is being sent to Strava. Previously, some of you may remember a similar indicator. The problem was that once I shifted from HTTP to HTTPS, the output buffer was not being flushed. This means that when I tried to use PHP to send you progress updates, you wouldn't get anything until the whole process was done. Obviously, this isn't very useful. If you have Javascript turned off, please turn it on if you want this feature to work. The upload will still work without Javascript - but the page will look weird.

Before Tools Combined Version 1.9 (09/08/2016)
  • •   Fixed an issue where GPX files with Lat/Lon with more than 20 decimal places would not be recognized or processed.
  • •   Fixed an issue where GPX files with alternative Heart Rate / Cadence / Temperature Tags would not be recognized (and thus those fields would be missing from the output).
  • •   Added ability to export to TCX. Now you can choose between GPX export or TCX export. In the future, we plan to add TCX import (currently only GPX can be imported).
  • •   Added ability to specify the GPS type for TCX files.
  • •   My recent interest in this tool is due to several corrupted files produced by my Garmin Epix. Everything is OK except the date stamps are in the future. If you use the Time Shift check box, you can take such a corrupted file and fix the date (everything, including speed, stays the same).

Before Tools Combined Version 1.8 (09/18/2015)
  • •   Added a checkbox so you can time-shift your GPX files. To time shift your files, your GPX files will need to already have time stamps in them - maybe from a real ride/run. If you check the Time Shift checkbox, the program will take the Activity Start Time that you provide, and make the very first point be at that moment. The tool will then calculate the difference between the first time stamp in the GPX file and the Activity Start Time that you provided. This is the amount to shift all points by. We will then apply that time shift - to the future or past - to every point in your GPX file. This maintains your speed as it was prior to processing through this tool. Numbers you supply for Desired Average Speed and Consider Elevation in Calculating Speed will be ignored.

Before Tools Combined Version 1.7 (08/31/2015)
  • •   Made some major improvements to the algorithm that computes your speed in conjunction with climbing. I used a lengthy, real GPS track and tried to fit the interpolated data around that track. The resulting speeds should be more accurate. Please note that the speeds calculated around elevation are based on long distance touring cycling (not running). Adjustments are simply made using your average speed as a starting point. You should know your average speed because you probably know the mileage, and you probably know when you started and stopped. You can easily calculate average speed by dividing your distance by your time. If you're a pro cyclist, you may complete a hilly ride at 22mph average speed. Your climbs will be slowed down according to that reference speed. If you're a beginner cyclist, and you enter an average speed of 10mph, your climb and descent times will be adjusted based on that base speed.
  • •   Added a checkbox where you can convert a route to a track. GPX file specification allows for two types of files: a Track and a Route. If you create a Route with a tool like Gmap Pedometer or one of the many other tools, it will NOT be compatible with Strava. A Route has directions, and represents an activity that you plan to do. Conversely, a Track is an activity that you have already done. By checking the box to convert a Route to a Track, you will recieve a file that is compatible with Strava.
  • •   Added cookies to remember your checkbox preferences
  • •   Added Help buttons

Before Tools Combined Version 1.6 (08/08/2015)
  • •   Added a link to "Upload to Strava." Originally, I was hesitant to add this. I did not want to encourage people to upload "false" tracks to Strava. However, it seems that many people are using this tool as a workaround to create Routes on Strava (Strava won't let you upload a file that is missing time stamps - even when creating a route). As such, I've added the functionality to upload directly to Strava, saving users a couple steps and clicks.
  • •   Added a counter so we can track how many uploads are being processed.

Before Tools Combined Version 1.5 (07/02/2015)
  • •   Added a feature where if the file names that you upload are in MMDDYYY format, the app will over-ride the start date provided in the drop down. Instead, it will put in the start date as the date encoding that you supply. For example, if your file is named 04212001.gpx, the date in the drop down will be ignored, and the activity will be set to start at 8am on April 21, 2001.

Before Tools Combined Version 1.4 (07/02/2015)
  • •   Made a major improvement in the speed by which the calculations are performed. People were having to wait several minutes for the download button to appear; now tracks are processed more quickly.
  • •   Added the ability to specify your time zone.

Before Tools Combined Version 1.3 (06/21/2015)
  • •   Added a check box where the user can specify whether or not to consider the elevation when calculating speed. This feature only works if the <ele> tag is in your file. So, if your file is missing elevation points, the speed will be calculated as a flat line average - even if you have the box checked. The equation for calculating speed is VERY quick and dirty. It is conservative, and thus intended to prevent you from getting KOMs on Strava. Of course, if you enter an average speed of 100mph on a ride, the climbing and ascending speeds will be based off of that - so please choose your average speed carefully.

Before Tools Combined Version 1.2 (06/14/2015)
  • •   Added the ability to add time stamps to route files. The GPX specification allows for "tracks" as well as "routes." Routes have <rte> in the XML whereas tracks have <trk> in the XML. Both types of files will work now.

Before Tools Combined Version 1.1 (05/24/2015)
  • •   Fixed an issue where if you uploaded multiple files, they would have been concatenated together and had ever increasing times. Now, each uploaded file is treated individually, and when you upload multiple files at once, they will all start at the same time.

Before Tools Combined Version 1.0 (05/20/2015)
  • •   Initial Public Release.

Connect With Strava

If you are having trouble uploading to Strava, please Reset Your Connection with Strava. We are migrating people to a more secure connection to Strava, so if you haven't used GOTOES tools since March 23, 2019, we recommend that you reset your connection and re-authorize GOTOES. Your old authorization will stop working October 2019.

- This browser has not yet been connected to the newest forms of Strava Tokens.
- You do not currently have an access token. This means you will need to connect with Strava.

What Can I Do With This Tool!

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

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

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

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

What does this tool do?

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

What Can I Do With This Tool?

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

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

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

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

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

Why does this tool exist? Rather than use Strava's sync to copy everything from your Garmin Connect Account to Strava, take control and just transfer the activities that you want on Strava. The problem I was having is that when I had Strava linked to my Garmin Connect account, activities would show up immediately - before I got a chance to name them. Furthermore, little fragmented rides would show up, or sometimes me just measuring my heartrate would show up on Strava. This is all stuff that I'd have to go back and delete later - and feel embarassed that I was getting 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, enter your Garmin Connect Log-in information. Next, the tool will display your last 10 activities on Garmin Connect. In the text field, you can supply a name for your activity. It is pre-populated with the date. Click on one of the radio buttons to select which activity you want to transfer from Garmin Connect to Strava. Hit the submit button, and in a few seconds or minutes (depending on how busy Strava is), your activity will appear.

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. Every little bit counts. Also, if you cannot afford to donate, don't worry - I still aim to keep these apps free; thankfully, people who are able to donate have helped keep me inspired. (why should I donate?)

Option 1:
Donate Today

 

Option 2:
Help Others (FREE)



** I ALREADY DONATED: To make this message go away, just click the link you recieved when donating via PayPal or subscribing via Patreon. This tool uses cookies to remember if you already donated; Cookies are specific to this browser. If you have cookies turned off, deleted GOTOES cookies, or switched to another browser, you may get this nag screen until you click the link again. Thanks so much for your donation! (help with this)

Why do you want me to donate?

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

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

A $10 PayPal donation or a monthly $3 Patreon subscription unlocks the features. If you really need help and cannot afford to donate, contact me and I can usually fix your GPS track for you. Also, if you just want to get rid of the nag screen you can do that for free too.

**If you donated via Paypal before December 18, 2020, please use the contact link and write me with the PayPal email address you used to donate so I can send you a code for full-access to early-release features.

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. **If you donated via Paypal before December 18, 2020, please use the contact link and write me with the PayPal email address you used to donate so I can send you a code for full-access to early-release features. 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

*WARNING*
You should not check this box unless you really need it. This option slows the tool and may result in your file merge crashing if you have a lot of data/files. It is fine if you are doing a smaller merge.

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 are the fields that I have inserted so far.

accumulated_power, left_right_balance, vertical_oscillation, stance_time_percent, stance_time, left_torque_effectiveness, right_torque_effectiveness, left_pedal_smoothness, right_pedal_smoothness, fractional_cadence, total_hemoglobin_conc, saturated_hemoglobin_percent, left_pco, right_pco, left_power_phase, left_power_phase_peak, right_power_phase, right_power_phase_peak, performance_condition, enhanced_respiration_rate, grit, flow, potential, stamina

I'm still trying to figure out where Garmin puts the "seated vs standing time" data, and a couple others...

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

Inserting Extra Fields in CSV Files

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

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

What a GOTOES CSV export looks like

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

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

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

Desired Average Speed.

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

Kilometers or Miles Per Hour.

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

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

Token: dfbdef65f9fc3294ce05d2766c8441bf
Expires:

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

What is "Use Elevation in Calculating Speed?".

If you check the "No" option, the tool will spit out a track that is nearly a flat line in terms of speed. If you enter 6mph here, you ought to see 6mph on your final Strava Track. If there are hills, and you specify 20mph, you will be climbing the hills at 20mph. That is not very realistic, which is why there is a Bike and Run option. As the grade increases, the tool will slow down the speed of the track. There are two different ways to calculate the speed - one for bike, and one for run. They are not perfect, but I have attempted to make them as realistic as possible. If you find that your moving time is much less than your elapsed time, make sure that you select the "Interpolate Tracks (Add Points)" option, which appears on the next page. Note that this algorithm is tailored for moderate road cycling. Note that your downhill speeds might be higher than is realistic for windy roads or off road rides. Similarly, I tried to make the run calculations as realistic as possible - but terrain can really influence your actual speed on the trail.

Reverse Route

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

Welcome Patreon!

By donating to my tools, you have helped me make these tools better for everyone. Thank you for your generosity! All features are unlocked for you. If you ever lose access to these features, please go back to the link you recieved when you signed up (or to the welcome message) and you can re-unlock the bonus features.

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

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

Other options:

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

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

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

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

Messy Dump

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