Moving your activity history from MapMyRun to Strava

To transfer your activities from MapMyRun to Strava you'll need to export individual activities from MapMyRun and upload them to Strava from our Upload page. 

  1. Go to one of your activities on MapMyRun.
  2. Click on the "TCX" button in the middle area of the activity overview section.
  3. Follow the instructions on the page which will produce a GPX file and the file will be downloaded to your download folder.
  4. Repeat step 3 for all activities you'd like to export and upload to Strava.
  5. Log in to your account on Strava.
  6. Click Upload from the top right of any page and then "From File" and browse to select the file(s) you downloaded. NOTE: files can be bulk uploaded to Strava in groups of up to 25.
  7. Name your activities, and adjust the activity types as necessary.
Was this article helpful?
24 out of 52 found this helpful

Comments

40 comments
  • These instructions worked perfectly for me - thanks!!!

    0
    Comment actions Permalink
  • 1
    Comment actions Permalink
  • just remove the TXT file note at the end of the file name as below

    Mac - in 'get info' when you right click on the file. amend and then click press enter. a box will come up and press 'use txc".
    PC - right click on the name and press 'properties' and amend the file name.

    0
    Comment actions Permalink
  • I've found it makes the download a txt file if I'm using Safari, but it downloads the TCX file if I'm using Chrome.

    0
    Comment actions Permalink
  • My old runs/rides from 2011 won't upload as .txc files, but the more recent ones will upload. Does anyone know what I need to do to the old files to get them to upload? And at what date will my more recent work out load just fine with Strava? I have tried uploading the older workouts to to Garmin Connect and downloading as GPX, but the system doesn't give me that option (I see the button, but it's grayed out so I cannot click on it). I have also tried converting to GPX using https://www.gpsies.com, but gpsies claims the file contains no data. Any advice?

    -1
    Comment actions Permalink
  • obrigado

    0
    Comment actions Permalink
  • In case anyone is interested, I wrote a Python script to download all the TCX files for a given month and year from MMR.
    It can be found here:

    https://gist.github.com/paulcalabro/279fc9b0efacde91edc391dc71e861ec

    One caveat, it will download whatever is in the calendar view. This means there might be a couple days before or after the month period (like a calendar would typically display). This is fine since duplicated TXC files are detected upon import into Strava.

    Enjoy!

    0
    Comment actions Permalink
  • The upload worked for me, but the workout data is partially wrong. To be precise, Strava gets the duration and distance right from the tcx file, but it wrongly infers a run time (19:50m) much smaller than the duration (1:02h, presumably derived from this tag in the tcx file 3751.0). This results in completely off pace estimates. Weirdly enough, the individual segments had the correct duration estimates, as did estimates used for the badges ("Fastest 10k" in this case). Any advice?

    1
    Comment actions Permalink
  • Paul How do I run this?

    0
    Comment actions Permalink
  • @Shane: It will vary based on what operating system you have.

    This is how I do it on a Mac:

    - Copy the text from that script into a file named: mmr_tcx_downloader.py
    - Open a terminal and type: python mmr_tcx_downloader.py
    - Answer the questions
    - The files should then be downloaded into a directory named "data". You'll need to do this for each month IIRC.
    - You then upload these files in batches up to Strava.

    0
    Comment actions Permalink
  • Thanks for sharing Ricky!

    -1
    Comment actions Permalink
  • @brett would you mind sending me the excel template as well?

    0
    Comment actions Permalink
  • I finally got around to moving my 65 lines of data from MapMyRun. I haven't read all the comments on here or on the internet about the best methodology for bulk download, so please disregard if this is repetitive. But why pay for MVP to download your history in bulk when you can automate it! it took me longer to write this post than actually run this process. I hope this benefits others who use Python.

    PYTHON!

    Made it a breeze.

    Steps:
    1. Log into mapmyrun or mapmyfitness first, then go here: https://www.mapmyfitness.com/workout/export/csv
    2. Modify your column of runs in the spreadsheet to look as such: http://www.mapmyfitness.com/workout/export/620987579/tcx
    (basically concatenate a slash export between workout and the workout ID, then another slash and tcx after the ID)
    3. Save that as csv, then pump into Python!
    4. Follow code below, it might not be perfect and there may be many better methods, but this works well for a quick download. Replace my directories with where your stuff is.
    5. GOOD LUCK AND KEEP ON RUNNING! Feel free to friend me on here if you use my method. :)
    6. PS. Strava rocks!

    import csv, webbrowser
    table = open(r"C:/tim/work.csv","r")
    reader = csv.reader(table)
    for r in reader:
    print (r[0])
    webbrowser.get("C:/Program Files (x86)/Google/Chrome/Application/chrome.exe %s").open(r[0])

    1
    Comment actions Permalink
  • @Shane and @Paul

    Here is how I got it work on Windows 10:

    1)Go to Paul's link here https://gist.github.com/paulcalabro/279fc9b0efacde91edc391dc71e861ec
    2)Hit the Download Zip button
    3)Extract the file and rename it to mmr.py only for ease of typing it later
    4)Create a folder called "data" and place it on your C drive (it's path will be C:\data)
    5)Cut and paste the mmr.py file into the data folder
    6)Right click on mmr.py and open it with Notepad or any other text editor.
    7)Find the line: download_directory = 'data'
    8)Change it to: download_directory = 'C:/data', save and close the file.
    9)Download and install Python3.x https://www.python.org/downloads/
    10)Navigate to C:\Windows\System32 and right click on cmd.exe and open as an administrator
    11)In the command prompt type: cd C:/data
    12)You should now be in your data folder you created earlier, you can type dir to verify mmr.py is there
    13)Before you can run the python script, you need to install the "requests" library
    14)Enter in the command: python -m pip install requests
    15)Once it all installs, enter the command: python mmr.py
    16)Type in your username, password, and month and year your interested in getting data for
    17)The tcx files should then all download to your data folder and you can upload those to Strava
    18)One last note, if one of your workouts dont have GPS data e.g a Treadmill workout, Strava won't accept the tcx file,
    although you could edit the xml data inside those files to include GPS data.

    1
    Comment actions Permalink
  • I have over 1000 workout , that's a lot of work!
    any easier way?

    0
    Comment actions Permalink
  • @Florian, were you able to figure it out? I have the same problems. I tried a few tcx files, they all import apparently fine, but Strava defines a 'moving time' that can be very different from the actual time, and I have no idea where it finds this number... For some of them, the pace is 2 or three times faster what it actually was. I wish I could run that fast! Any idea?

    0
    Comment actions Permalink
  • @emmanuel bot, unfortunately I haven't!

    0
    Comment actions Permalink
  • @Ricky Medrano

    i get this error after i input the user, password, and date info.

    Traceback (most recent call last):
    File "mmr.py", line 25, in
    auth_token = json_object['item']['authToken']
    KeyError: 'item'

     

    edit: update after adding a print to the json on line 24 i saw i was getting access denied. i changed the password line to an input so i could verify the characters i was pasting in and it worked on getting the auth token. my password is alphanumeric with special characters so not sure if the getpass was having issues with the pasted value?

    ##password = getpass(prompt='Password (hidden): ')
    password = input('Password: ')

     

    0
    Comment actions Permalink
  • This doesn't seem to work for me.

    0
    Comment actions Permalink
  • @Paul Krueger are you talking about the OP directions or the python script that Ricky posted directions to?

    0
    Comment actions Permalink
  • If you don't want to use Python - you can do the first two steps Tim outlined:

    1. Log into mapmyrun or mapmyfitness first, then go here: https://www.mapmyfitness.com/workout/export/csv
    2. Modify your column of runs in the spreadsheet to look as such: http://www.mapmyfitness.com/workout/export/620987579/tcx
    (basically concatenate a slash export between workout and the workout ID, then another slash and tcx after the ID)

    Then grab the Google Chrome add-in "Simple Mass Downloader" from here: https://chrome.google.com/webstore/detail/simple-mass-downloader/abdkkegmcbiomijcbdaodaflgehfffed?hl=en-US and paste in your list of TCX files.

    The only bummer is the 25-at-a-time import to Strava, but I just pulled over my 600 workouts this way :)

    4
    Comment actions Permalink
  • a coworker of mine was kind enough to tweak the python script Ricky posted and make it work for year ranges since i had like 6 years of data to move. over 2k activities. worked like a charm. it was then 25 at a time back into strava which didnt really take very long i would do about 1 year a day during lunch but at least exporting was less tedious than the 1 month at a time from the original script..still many thanks to Ricky for the ground work

    0
    Comment actions Permalink
  • ‼️Помогу синхронизировать данные с Nike+, Runtastik и т.д.
    ✅Пишите vk.com/sp4rtk
    🏆Томский клуб Run Club

    0
    Comment actions Permalink
  • This doesn't work any more

    From Strava Website:

    Another common source for these files is .GPX files exported directly from MapMyFitness sites. These files do not contain workout data, which includes timestamps.

    0
    Comment actions Permalink
  • Five years and you guys STILL don't have a push/sync integration with the MapMy* apps?

    You'd think that would have been especially handy to offer now that you've removed sensor connections to your own app. Are there ANY phone apps that Strava connects with automatically, instead of requiring manual export/upload for every workout?

    I see that it might be possible with Zapier, but damn, that should be so unnecessary at this point.

    0
    Comment actions Permalink
  • uyes

    0
    Comment actions Permalink
  • Thankyou very much

    0
    Comment actions Permalink
  • SynchMyTracks application for Android platform is a convenient tool for exporting or transfering the activities between services
    http://www.syncmytracks.com/

    0
    Comment actions Permalink
  • Hi there!

    I have Under Armour Bluetooth running shoes. I can't connect them directly to Strava app. So I have to use MapMyRun app from Under Armour. Do I understand it right, after every workout I have to export my data from MapMyRun to Strava App manually? It can't be done any automatically way?

    0
    Comment actions Permalink
  • I had some trouble initially trying to upload 25 files at once. I did my upload on Mac. So at first It looked like nothing was happening. But when I reduced the number of files to 5, after few seconds my uploaded files appeared with fields to edit and a "save and view" button. Strava even matched the segments. So I upped the number to 10 files at once, and with little lag I had 30 files uploaded within 10 minutes. So if"nothing happening is your issue, just be patient cause Strava does not show you that its working with an hourglass or upload circle. Just be patient and it will work out. Good luck everyone!

    0
    Comment actions Permalink

Article is closed for comments.