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 an activity 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?
19 out of 33 found this helpful
Have more questions? Submit a request


  • Thanks for sharing Ricky!

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

    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.


    Made it a breeze.

    1. Log into mapmyrun or mapmyfitness first, then go here:
    2. Modify your column of runs in the spreadsheet to look as such:
    (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])

    Comment actions Permalink
  • @Shane and @Paul

    Here is how I got it work on Windows 10:

    1)Go to Paul's link here
    2)Hit the Download Zip button
    3)Extract the file and rename it to 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 file into the data folder
    6)Right click on 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
    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 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
    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.

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

    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?

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

    Comment actions Permalink
  • @Ricky Medrano

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

    Traceback (most recent call last):
    File "", 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: ')


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

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

    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:
    2. Modify your column of runs in the spreadsheet to look as such:
    (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: 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 :)

    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

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

    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.

    Comment actions Permalink

Please sign in to leave a comment.