GOTOES.ORG also makes great software for Mac OSX!

Add Time Stamps to FIT, TCX, or GPX 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. You can also time-shift an existing activity. Don't use this tool to cheat. Speed will be mathmatically generated, which can be detected here. You can also get help with this tool.


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. For mobile device users, bookmark this stripped down version of the tool. The tool uses a hack to log you into Garmin Connect, so there is no guarantee it will work forever. Also, your Garmin password will be stored (heavily encrypted) in your browser's cookies. As always, Strava provides an API so we use an access token (also stored in your cookies) which is quite secure and can only be used with GOTOES apps.

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.

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.

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.