CINXE.COM
Running App and Cycling App | Strava
<!-- Application Layout --> <!DOCTYPE html> <html class='logged-out responsive feed3p0 old-login' dir='ltr' lang='en-US' xmlns='http://www.w3.org/TR/html5' xmlns:fb='http://www.facebook.com/2008/fbml' xmlns:og='http://opengraphprotocol.org/schema/'> <!-- layout application --> <head> <head> <meta charset='UTF-8'> <meta content='width = device-width, initial-scale = 1, maximum-scale = 5, user-scalable = yes' name='viewport'> <style nonce='' type='text/css'> .spinner, .spinner .status { position: relative; } .spinner { margin-top: 1em; margin-bottom: 1em; } .spinner .status { top: 2px; margin-left: 0.5em; } .spinner .status:empty { display: none; } .spinner.lg .graphic { border-width: 3px; height: 32px; width: 32px; } .spinner.tiny { height: 10px; width: 10px; } .spinner.centered, .spinner.vcentered { box-sizing: border-box; width: 100%; } .spinner.vcentered { left: 0; margin-top: -12px; position: absolute; right: 0; text-align: center; top: 50%; } .spinner .graphic, .ajax-loading-image { animation: spin 1.2s infinite linear; box-sizing: border-box; border-color: #eee; border-radius: 50%; border-style: solid; border-top-color: #666; border-top-style: solid; border-width: 2px; content: ""; display: inline-block; height: 20px; position: relative; vertical-align: middle; width: 20px; } @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(359deg); } } </style> <link rel="stylesheet" href="https://d3nn82uaxijpm6.cloudfront.net/assets/strava-app-icons-b1e0b294059427fdb5e1e821d3a4932376a1ec644a557f31da906b42aedd887b.css" media="screen" /> <link rel="stylesheet" href="https://d3nn82uaxijpm6.cloudfront.net/assets/application-67b2eeda77a5f87a6314bfc41af9340ab97d09ac9271b69a97ab4d2f25b325ff.css" media="screen" /> <link href='https://d3nn82uaxijpm6.cloudfront.net/apple-touch-icon-180x180.png?v=dLlWydWlG8' rel='apple-touch-icon' sizes='180x180'> <link href='https://d3nn82uaxijpm6.cloudfront.net/apple-touch-icon-152x152.png?v=dLlWydWlG8' rel='apple-touch-icon' sizes='152x152'> <link href='https://d3nn82uaxijpm6.cloudfront.net/apple-touch-icon-144x144.png?v=dLlWydWlG8' rel='apple-touch-icon' sizes='144x144'> <link href='https://d3nn82uaxijpm6.cloudfront.net/apple-touch-icon-120x120.png?v=dLlWydWlG8' rel='apple-touch-icon' sizes='120x120'> <link href='https://d3nn82uaxijpm6.cloudfront.net/apple-touch-icon-114x114.png?v=dLlWydWlG8' rel='apple-touch-icon' sizes='114x114'> <link href='https://d3nn82uaxijpm6.cloudfront.net/apple-touch-icon-76x76.png?v=dLlWydWlG8' rel='apple-touch-icon' sizes='76x76'> <link href='https://d3nn82uaxijpm6.cloudfront.net/apple-touch-icon-72x72.png?v=dLlWydWlG8' rel='apple-touch-icon' sizes='72x72'> <link href='https://d3nn82uaxijpm6.cloudfront.net/apple-touch-icon-60x60.png?v=dLlWydWlG8' rel='apple-touch-icon' sizes='60x60'> <link href='https://d3nn82uaxijpm6.cloudfront.net/apple-touch-icon-57x57.png?v=dLlWydWlG8' rel='apple-touch-icon' sizes='57x57'> <link href='https://d3nn82uaxijpm6.cloudfront.net/favicon-32x32.png?v=dLlWydWlG8' rel='icon' sizes='32x32' type='image/png'> <link href='https://d3nn82uaxijpm6.cloudfront.net/icon-strava-chrome-192.png?v=dLlWydWlG8' rel='icon' sizes='192x192' type='image/png'> <link href='https://d3nn82uaxijpm6.cloudfront.net/favicon-96x96.png?v=dLlWydWlG8' rel='icon' sizes='96x96' type='image/png'> <link href='https://d3nn82uaxijpm6.cloudfront.net/favicon-16x16.png?v=dLlWydWlG8' rel='icon' sizes='16x16' type='image/png'> <link href='/manifest.json?v=dLlWydWlG8' rel='manifest'> <meta content='#FC5200' name='msapplication-TileColor'> <meta content='https://d3nn82uaxijpm6.cloudfront.net/mstile-144x144.png?v=dLlWydWlG8' name='msapplication-TileImage'> <meta content='#F7F7FA' name='theme-color'> <meta content='Strava' name='apple-mobile-web-app-title'> <meta content='Strava' name='application-name'> <meta content='yes' name='apple-mobile-web-app-capable'> <meta content='black' name='apple-mobile-web-app-status-bar-style'> <script type='application/ld+json'> { "@context": "http://schema.org", "@type": "Organization", "name": "Strava", "url": "https://www.strava.com/", "logo": "https://d3nn82uaxijpm6.cloudfront.net/assets/website_v2/svgs/strava-orange-c33577e7257d5ac4a2e972564c5c7556037f3d005c5b5cb2f0e0d06ac7b84c47.svg", "sameAs": [ "https://facebook.com/Strava", "https://twitter.com/strava", "https://instagram.com/strava", "https://youtube.com/stravainc", "https://www.linkedin.com/company/strava-inc./", "https://stories.strava.com", "https://github.com/strava", "https://medium.com/strava-engineering" ] } </script> <meta name="csrf-param" content="authenticity_token" /> <meta name="csrf-token" content="RQb0URifPSutTeFYL2frx7GaofU-eZ6VRk3OuVPpmmTBsTc-olMX2txuJkSvO0-Isd5yF1yaVzykk5aZFKwfnw" /> <script> window.StravaSentry = { enabled: false, release: "b558671b678ccdce880e87d12cda6ba1c3ae0455", userId: null, environment: "production", dsn: "https://6ffc1c27d92347b49d7659886aab9deb@o352714.ingest.sentry.io/5816222", debug: "false", sampleRate: 1, pageProperties: null, mobileOS: "Web", isMobile: false } window.StravaDevTools = { enabled: null } </script> <script src="//d3nn82uaxijpm6.cloudfront.net/packs/js/runtime-9e5475e80df501dfcc94.js"></script> <script src="//d3nn82uaxijpm6.cloudfront.net/packs/js/7433-cfd207fce7b9354e3310.js"></script> <script src="//d3nn82uaxijpm6.cloudfront.net/packs/js/46763-6c8b7f93db2421a5516e.js"></script> <script src="//d3nn82uaxijpm6.cloudfront.net/packs/js/19755-5f9ae978ffae883d0be6.js"></script> <script src="//d3nn82uaxijpm6.cloudfront.net/packs/js/73170-35b164bd6f61c9350007.js"></script> <script src="//d3nn82uaxijpm6.cloudfront.net/packs/js/88392-2bdf32056b8049c851b4.js"></script> <script src="//d3nn82uaxijpm6.cloudfront.net/packs/js/18010-70f632dc38b2958dfdfc.js"></script> <script src="//d3nn82uaxijpm6.cloudfront.net/packs/js/full_page_mfe_container-715fa6d0752439461e4b.js"></script> <script> !function() { if (!!window.stravaPublicServiceEnv) { // Object containing no secret key value pairs that are expected to be seen and used in the browser. // This keys are commonly passed to 3rd party libs or tooling. window.stravaPublicServiceEnv({ MUX_ENV_KEY: "bqst82u23r97a7fuo892gfpn2", MUX_DATA_VIEWER_USER_ID: null, VIDEOJS_LOG_LEVEL: "error" }); } }(); </script> <script src="https://d3nn82uaxijpm6.cloudfront.net/assets/strava-head-fe23e12219a4ae9745e10ed4adbcf9831ae3a15ea4b4dc52eeeba18901eb3855.js"></script> <link href='https://www.strava.com/mobile' rel='canonical'> <link href='https://www.strava.com/mobile' hreflang='x-default' rel='alternate'> <link href='https://www.strava.com/mobile' hreflang='en' rel='alternate'> <link href='https://www.strava.com/mobile?hl=en-GB' hreflang='en-gb' rel='alternate'> <link href='https://www.strava.com/mobile?hl=fr-FR' hreflang='fr' rel='alternate'> <link href='https://www.strava.com/mobile?hl=de-DE' hreflang='de' rel='alternate'> <link href='https://www.strava.com/mobile?hl=pt-BR' hreflang='pt-br' rel='alternate'> <link href='https://www.strava.com/mobile?hl=es-ES' hreflang='es-es' rel='alternate'> <link href='https://www.strava.com/mobile?hl=it-IT' hreflang='it' rel='alternate'> <link href='https://www.strava.com/mobile?hl=ru-RU' hreflang='ru' rel='alternate'> <link href='https://www.strava.com/mobile?hl=es-419' hreflang='es-419' rel='alternate'> <link href='https://www.strava.com/mobile?hl=ja-JP' hreflang='ja' rel='alternate'> <link href='https://www.strava.com/mobile?hl=nl-NL' hreflang='nl' rel='alternate'> <link href='https://www.strava.com/mobile?hl=zh-TW' hreflang='zh-tw' rel='alternate'> <link href='https://www.strava.com/mobile?hl=pt-PT' hreflang='pt-pt' rel='alternate'> <link href='https://www.strava.com/mobile?hl=zh-CN' hreflang='zh-cn' rel='alternate'> <link href='https://www.strava.com/mobile?hl=id-ID' hreflang='id-id' rel='alternate'> <link href='https://www.strava.com/mobile?hl=pt-PT' hreflang='pt' rel='alternate'> <link href='https://www.strava.com/mobile?hl=es-ES' hreflang='es' rel='alternate'> <link href='https://www.strava.com/mobile?hl=zh-CN' hreflang='zh' rel='alternate'> <title>Running App and Cycling App | Strava</title> <meta content='“The World’s Top 10 Most Innovative Companies in Fitness” - Fast Company. Track your runs and rides with GPS, analyze your performance, join Challenges and see how you stack up against friends.' name='description'> <script> function loadGTM() { (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push( {'gtm.start': new Date().getTime(),event:'gtm.js'} );var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','googleTagManagerDataLayer', "GTM-TP845S"); } </script> <script> window.__LOAD_NON_ESSENTIAL_COOKIES__ = Array.isArray(window.__LOAD_NON_ESSENTIAL_COOKIES__) ? window.__LOAD_NON_ESSENTIAL_COOKIES__ : []; window.__LOAD_NON_ESSENTIAL_COOKIES__.push(loadGTM); </script> </head> <script> !function(options){ window.Strava = window.Strava || {}; var _enabled = true; var _options = options; var _snowplowReady = null; window.Strava.ExternalAnalytics = window.Strava.ExternalAnalytics || ( { isEnabled: function() { return _enabled; }, isDebug: function() { return _options.debug; }, track: function() { }, trackV2: function(event) { var eventData = { 'category': event.category, 'page': event.page, 'action': event.action, 'element': event.element || null, 'properties': event.properties || {} } if (this.isEnabled()) { var a = snowplow('getUserId'); this.log("trackV2", {athleteId: a}); snowplow('trackSelfDescribingEvent', { schema: 'iglu:com.strava/track/jsonschema/1-0-0', data: eventData }); } else { if(this.isDebug()){ // toggle defined in - https://github.com/strava/active/blob/main/lib/strava/external_analytics.rb // to turn on - Strava::ExternalAnalytics.turn_on_debug // to turn off - Strava::ExternalAnalytics.turn_off_debug !!console.table && console.table(eventData); } } }, trackLink: function() { }, trackForm: function() { }, identifyV2: function () { }, getExperimentContext: function(pageProperties) { var experiment = ( pageProperties || {} ).experiment_info || {}; if (experiment.experiment_cohort && experiment.experiment_name) { this.log('found experiment with values', experiment); return { schema: 'iglu:com.strava/web_experiment/jsonschema/1-0-0', data: { experiment_name: experiment.experiment_name, cohort: experiment.experiment_cohort, forced: experiment.experiment_forced === true } }; } else { return null; } }, page: function(pageProperties) { if(this.isEnabled()) { snowplow('trackPageView'); } }, identify: function(athleteId, options, eventName) { if (this.isEnabled()) { this.log("identify user", {athleteId: athleteId}); var properties = options || {} properties.athlete_id = athleteId; var eventData = { 'category': 'identify', 'page': null, 'action': eventName, 'element': null, 'properties': properties }; snowplow('trackSelfDescribingEvent', { schema: 'iglu:com.strava/track/jsonschema/1-0-0', data: eventData }); } }, reset: function() { if(this.isEnabled()) { this.log("reseting athlete id",{}); snowplow('setUserId', null) var spCookie = document.cookie.match('_sp_id\\.[a-f0-9]+') if(spCookie != null) { document.cookie = spCookie[0] + "= ; expires = Thu, 01 Jan 1970 00:00:00 GMT" } } }, setup: function(athleteId, pageProperties) { if(this.isEnabled()) { this.log("setup snowplow", {athleteId: athleteId}); snowplow("newTracker", "cf", "c.strava.com", { appId: "strava-web", platform: "web" }); snowplow('setUserId', athleteId); var experimentContext = this.getExperimentContext(pageProperties); if (experimentContext) { snowplow('addGlobalContexts', [experimentContext]); } snowplow('enableFormTracking'); } }, getDomainUserId: function() { var d = jQuery.Deferred(); if (this.isEnabled()) { if (!_snowplowReady) { _snowplowReady = jQuery.Deferred(); snowplow(function(){ _snowplowReady.resolve(this.cf.getDomainUserId()); }); } _snowplowReady.always(function(getDomainUserId){ d.resolve(getDomainUserId); }); } else { d.reject(null); } return d; }, log: function(message, values) { if(this.isDebug()) { console.log(message, 'background-color: yellow; color: blue; font-size: medium;', values); } }, debug: function(value) { _options.debug = value; } } ) }({ is_mobile: false, os: "", debug: false, athlete_id: null, locale: "en-US" }); </script> <script> !function(){ var analytics = window.analytics = window.analytics || []; if(analytics.invoked) { window.console && console.error && console.error("Segment snippet included twice."); } else { (function(p,l,o,w,i,n,g){if(!p[i]){p.GlobalSnowplowNamespace=p.GlobalSnowplowNamespace||[];p.GlobalSnowplowNamespace.push(i);p[i]=function(){(p[i].q=p[i].q||[]).push(arguments)};p[i].q=p[i].q||[];n=l.createElement(o);g=l.getElementsByTagName(o)[0];n.async=1;n.src=w;g.parentNode.insertBefore(n,g)}}(window,document,"script","https://d3nn82uaxijpm6.cloudfront.net/8f96b1247cf4359f8fec.js","snowplow")); var pageProperties = null; var athleteId = null; Strava.ExternalAnalytics.setup(athleteId, pageProperties); Strava.ExternalAnalytics.page(pageProperties); } }(); </script> <script> !function(debug){ window.Strava = window.Strava || {}; var _enabled = false; var _debug = !!debug; var _branchData = null; window.Strava.BranchIO = window.Strava.BranchIO || ( { isEnabled: function() { return _enabled; }, isDebug: function() { return _debug; }, dataToLocalStorage: function() { if (!_branchData) { _branchData = new Strava.BranchAnalytics.BranchData(); } var d = this.data() var that = this; d.done(function(data) { that.log('storing data %o to local storage', data) _branchData.data(data) }); d.fail(function(message) { that.log('failed to retrieve data from branch'); _branchData.data({}) }); return d; }, createLink: function(options) { var d = jQuery.Deferred(); var data = null; const that = this; var callback = function(e, l) { if (!e) { d.resolve(l); } else { d.reject(e); } } Strava.ExternalAnalytics .getDomainUserId() .always(function(domainUserId){ if (domainUserId) { options.data['domainUserId'] = domainUserId; } if(that.isEnabled()) { branch.link(options, callback); }; }); return d; }, dataFromLocalStorage: function() { if (!_branchData) { _branchData = new Strava.BranchAnalytics.BranchData(); } return _branchData.data(); }, clearLocalStorage: function() { if (!_branchData) { _branchData = new Strava.BranchAnalytics.BranchData(); } _branchData.data({}); }, data: function(checkLocalStorage) { var d = jQuery.Deferred(); var that = this; var c = function(message, meta_data) { var storedData = null; if(message) { d.reject(message); } else { if (checkLocalStorage == true && (meta_data == null || meta_data.data == "" || meta_data.data == null)) { storedData = that.dataFromLocalStorage(); that.clearLocalStorage(); d.resolve(storedData); } else { d.resolve(meta_data); } } }; if(this.isEnabled()) { branch.data(c); this.log('%cdata (branch enabled)'); } else { this.log('%cdata (branch disabled)'); d.resolve({}); } return d; }, identify: function(hashedAthleteId) { var that = this; var callback = function(error, data) { if (error) { console.log(error); } } if(this.isEnabled() && hashedAthleteId) { branch.setIdentity(hashedAthleteId, callback); this.log('identifying athlete %o', hashedAthleteId); } }, logout: function() { var that = this; var callback = function(error) { if (error) { console.log(error); } } branch.logout(callback); }, track: function(eventName, metaData) { var that = this; var callback = function(error, data) { if (error) { console.log(error); } } if(this.isEnabled()) { this.log('tracking event - ', eventName); branch.logEvent(eventName, metaData, callback); } }, log: function(message, values = '') { if(this.isDebug()) { console.log(`[branch] ::: ${message}`, values); } }, debug: function(value) { _debug = value; } } ) }(false); </script> <script> function loadBranch() { // load Branch (function(b,r,a,n,c,h,_,s,d,k){if(!b[n]||!b[n]._q){for(;s<_.length;)c(h,_[s++]);d=r.createElement(a);d.async=1;d.src="https://cdn.branch.io/branch-latest.min.js";k=r.getElementsByTagName(a)[0];k.parentNode.insertBefore(d,k);b[n]=h}})(window,document,"script","branch",function(b,r){b[r]=function(){b._q.push([r,arguments])}},{_q:[],_v:1},"addListener banner closeBanner closeJourney data deepview deepviewCta first init link logout removeListener setBranchViewData setIdentity track trackCommerceEvent logEvent disableTracking getBrowserFingerprintId crossPlatformIds lastAttributedTouchData setAPIResponseCallback qrCode".split(" "), 0); var options = {"metadata":{"external_identity_version":5,"next":false,"external_identity_hash":null}} // clean legacy identities (non-hashed athlete ids) var branchSessionIdentity = JSON.parse(sessionStorage.getItem('branch_session') || '{}').identity; options.metadata.session_identity = branchSessionIdentity; if(branchSessionIdentity && branchSessionIdentity.length !== 64) { Strava.BranchIO.log('clearing legacy branch session identity %o', branchSessionIdentity); sessionStorage.removeItem('branch_session'); options.metadata.session_identity_cleared = true; }else{ options.metadata.session_identity_cleared = false; } // init Branch branch.init("key_live_lmpPsfj2DP8CflI4rmzfiemerte7sgwm", options, (err, data) => { const branchInitialized = new CustomEvent('BranchInitialized', { detail: { err, data } }); window.dispatchEvent(branchInitialized); var identity = data && data['identity']; var hashedAthleteId = ""; if(hashedAthleteId && identity && identity.length !== 64) { Strava.BranchIO.log('purging branch session %o', identity); Strava.BranchIO.track("web_session_reset", {identity: identity}); Strava.BranchIO.logout(); Strava.BranchIO.identify(hashedAthleteId); }else{ if (hashedAthleteId) { Strava.BranchIO.identify(hashedAthleteId); }else{ Strava.BranchIO.log('no athlete to identify'); Strava.BranchIO.logout(); } } }); } </script> <script> window.__LOAD_NON_ESSENTIAL_COOKIES__ = Array.isArray(window.__LOAD_NON_ESSENTIAL_COOKIES__) ? window.__LOAD_NON_ESSENTIAL_COOKIES__ : []; window.__LOAD_NON_ESSENTIAL_COOKIES__.push(loadBranch); Strava.BranchIO.log('branch is disabled on this page'); </script> </head> <body class='logged-out responsive feed3p0 old-login'> <div class='view'> <header id='global-header'><!-- deploy: b558671b678ccdce880e87d12cda6ba1c3ae0455 --> <!--[if lte IE 8]> <div class='alert alert-warning message warning mb-0 text-center'> <p>It looks like you're using a version of Internet Explorer that Strava no longer supports. Please <a href='http://www.microsoft.com/en-us/download/ie.aspx?q=internet+explorer'>upgrade your web browser</a> — <a href='https://strava.zendesk.com/entries/20420212-Supported-Browsers-on-Strava'>Learn more</a>.</p> </div> <![endif]--> <nav class='nav-bar container collapsable-nav' role='navigation'> <div title="Return to the Strava home page" class="branding"><a class="branding-content" href="/"><span class="sr-only">Strava</span></a></div> <!-- / Nav Menu Button --> <a href="#container-nav" aria-expanded="false" aria-controls="container-nav" data-toggle="collapse" class="btn btn-default btn-mobile-menu" role="button">Menu</a> <div class='nav-container collapse' id='container-nav'> <ul class='user-nav nav-group'> <li class='nav-item selected'> <a class="nav-link" href="/mobile">Mobile</a> </li> <li class='nav-item'> <a class="nav-link" href="/features">Features</a> </li> <li class='nav-item'> <a class="nav-link" href="/subscribe?cta=premium&element=nav&origin=logged_out_global_nav">Subscription</a> </li> <li class='nav-item'> <a class="nav-link" href="/maps">Maps</a> </li> <li class='nav-item'> <a class="nav-link" href="https://stories.strava.com/?utm_source=website-header">Stories</a> </li> <li class='nav-object-group'> <div class='nav-item logged_out_nav'> <a class='btn btn-primary btn-signup' data-segioevent='{"name":"Signup Flow","method":"web","source":"Global Header"}' href='/register?cta=sign-up&element=global-header&plan=free&source=website_mobile'> Sign Up </a> </div> <div class='nav-item logged_out_nav'> <a class='btn btn-default btn-login' data-segioevent='{"name":"Login Flow","method":"web","source":"Global Header"}' href='https://www.strava.com/login?cta=log-in&element=global-header&source=website_mobile'> Log In </a> </div> </li> </ul> </div> </nav> </header> <div class='messages'> <div class='message page-status-message' style='display:none;'>Loading …</div> </div> <div class='page container'><div class='container'> <section class='inset row centered'> <div class='spans10 offset3'> <div class='inset'><img alt="Cycling and Running Strava Mobile App" src="https://d3nn82uaxijpm6.cloudfront.net/assets/website/mobile/icon-ios-app-8c03fd7b0d2b95dd15b05ef30b9e45552915f318b548feeff260000bf7a48efd.png" /></div> <h2 class='topless'>Strava <abbr title='Global Positioning System'>GPS</abbr> Cycling and Running <abbr title='Application'>App</abbr></h2> <p class='bottomless'>Strava lets you track your running and riding with GPS, join Challenges, share photos from your activities, and follow friends.</p> <div class='inset upload-links'> <a class="apple" href="https://itunes.apple.com/app/strava-cycling/id426826309?mt=8"><img alt="Download the Strava iOS App on the App Store" src="https://d3nn82uaxijpm6.cloudfront.net/assets/marketing/btn-app-store-ce6d7e854676cd9d99ca5d718bb8b55a3c579fc87783d0d1e2f7aff0307efd66.png" /></a> <a class="google" href="https://play.google.com/store/apps/details?id=com.strava"><img alt="Strava Android App on Google Play" src="https://d3nn82uaxijpm6.cloudfront.net/assets/marketing/btn-google-play-1af0a2be816284e40414957321dc112dc8ed3e1f7de6d3d0b0dad8787ed58028.svg" /></a> </div> <img alt="Image of the Strava App on your mobile device" class="img-responsive" src="https://d3nn82uaxijpm6.cloudfront.net/assets/website/mobile/img-mobile-phones-58745fa9bd930b07f7a53d21d8a245915c6a851aab426b17833ea19d5041bb86.jpg" /> </div> </section> </div> <section class='testimonials'> <div class='container'> <div class='row'> <div class='spans3'> <blockquote> <cite><img alt="Velo News" src="https://d3nn82uaxijpm6.cloudfront.net/assets/website/mobile/logo-velo-news-230e21e1d7d9fbb0331a746cae9d362cc62d9eb7a4b5d17f7b2ca11a6da1c39e.png" /></cite> <p>“Technical Innovation of the Year”</p> </blockquote> </div> <div class='spans3'> <blockquote> <cite><img alt="Runner’s World" src="https://d3nn82uaxijpm6.cloudfront.net/assets/website/mobile/logo-runners-world-1f21609b71148c568dd0f37c5b75b6f6f128a2687e0cff55f8b7fa23a05f9568.png" /></cite> <p>“I’m loving that any time I want, I can fuel the competitive fire.”</p> </blockquote> </div> <div class='spans3'> <blockquote> <cite><img alt="Triathlete Magazine" src="https://d3nn82uaxijpm6.cloudfront.net/assets/website/mobile/logo-triathlete-3d8214d434fb94d5d608a75c837efeacb1d9102e79645ca2354ce407d77054c2.png" /></cite> <p>“...Strava’s app lets you get competitive any time you want.”</p> </blockquote> </div> <div class='spans3'> <blockquote> <cite><img alt="Men’s Journal" src="https://d3nn82uaxijpm6.cloudfront.net/assets/website/mobile/logo-mens-journal-39db5b53a9cc6e17ebf78cf388895a8d3070fc0950c5df5f985920506573e5ec.png" /></cite> <p>“...an ingeniously conceived app...”</p> </blockquote> </div> <div class='spans3'> <blockquote> <cite><img alt="Road Bike Action Magazine" src="https://d3nn82uaxijpm6.cloudfront.net/assets/website/mobile/logo-road-bike-3f1f089ed79add952afa68094cdf73024d672eba7fd2385718e6fd3ed97d982b.png" /></cite> <p>“Be forewarned: Strava can easily become an addiction.”</p> </blockquote> </div> </div> </div> </section> </div> <footer><div class='media-sm-show visible-sm-block mobile-footer-nav'> <ul> <li class=''><a href="/tour">Features</a></li> </ul> <div class='inner-content'><a class="alt button" data-segioevent="{"name":"RegisterFlow ViewForm","source":"mobile_footer"}" href="/register/free?cta=sign-up&element=nav&source=mobile-footer">Sign Up for Free</a></div> </div> <div class='footer-global container'> <div class='row'> <div class='col-md-2'> <div title="Return to the Strava home page" class="branding logo-lg logo-bw"><a class="branding-content" href="/"><span class="sr-only">Strava</span></a></div> <div class='copyright'> © 2025 Strava </div> </div> <div class='col-md-2 nav'> <h4 class='topless'>About</h4> <ul class='list-unstyled'> <li><a href="/about">About</a></li> <li><a href="/features">Features</a></li> <li><a href="/mobile">Mobile</a></li> <li><a href="/subscribe?cta=subscription&element=nav&origin=global_footer&source=global_footer">Subscription</a></li> <li><a href="/family?origin=global_footer">Family Plan</a></li> <li><a href="/student?origin=global_footer">Student Discount</a></li> <li><a href="/legal/privacy">Privacy Policy</a></li> <li><link rel="preload" href="https://web-assets.strava.com/assets/federated/cpra-compliance-cta-wrapper/remoteEntry.js?t=2025-03-14T03:44:32+00:00" as="script"> <div class='' data-is-published='' data-react-class='Microfrontend' data-react-props='{"scope":"strava_cpra_compliance_cta_wrapper","url":"https://web-assets.strava.com/assets/federated/cpra-compliance-cta-wrapper/remoteEntry.js?t=2025-03-14T03:44:32+00:00","component":"./CPRAComplianceCTAWrapper","appContext":{"isLoggedIn":false},"experiments":{}}' style=''></div> </li> <li><a href="/legal/terms">Terms and Conditions</a></li> <li><a href="https://support.strava.com/hc/en-us/articles/216917717-About-Strava-Maps">About Our Maps</a></li> </ul> </div> <div class='col-md-2 nav'> <h4 class='topless'>Explore</h4> <ul class='list-unstyled'> <li><a href="/routes/hiking/usa">Routes</a></li> </ul> </div> <div class='col-md-2 nav'> <h4 class='topless'>Follow</h4> <ul class='list-unstyled'> <li><a target="_blank" href="http://www.facebook.com/Strava">Facebook</a></li> <li><a target="_blank" href="http://twitter.com/strava">Twitter</a></li> <li><a target="_blank" href="http://instagram.com/strava">Instagram</a></li> <li><a target="_blank" href="http://www.youtube.com/stravainc">YouTube</a></li> <li><a href="https://stories.strava.com">Stories</a></li> </ul> </div> <div class='col-md-2 nav'> <h4 class='topless'>Help</h4> <ul class='list-unstyled'> <li><a href="https://strava.zendesk.com/home">Strava Support</a></li> </ul> </div> <div class='col-md-2 nav'> <h4 class='topless'>More</h4> <ul class='list-unstyled'> <li><a data-segioevent="{"name":"RegisterFlow ViewForm","source":"global_footer"}" href="/register/free?cta=sign-up&element=global-footer&source=website_mobile">Sign Up</a></li> <li><a href="https://www.strava.com/login">Log In</a></li> <li><a href="/careers">Careers</a></li> <li><a href="https://press.strava.com">Press</a></li> <li><a href="https://partners.strava.com/business?utm_source=footer&utm_medium=referral">Business</a></li> <li><a href="https://partners.strava.com">Partner Center</a></li> <li><a href="http://labs.strava.com/developers">Developers</a></li> <li><a href="http://labs.strava.com">Labs</a></li> <li><a href="/community-standards">Strava Community Standards</a></li> </ul> </div> </div> </div> <a id="back-to-top" class="media-sm-show visible-sm-block" href="#">Top ↑</a> </footer> </div> <script id='lightbox-template' type='text/template'> <div class='lightbox-window modal-content'> <div class='close-lightbox'> <button class='btn btn-unstyled btn-close'> <div class='app-icon icon-close icon-xs icon-dark'></div> </button> </div> </div> </script> <script id='popover-template' type='text/template'> <div class='popover'></div> </script> <script> window._asset_host = "https://d3nn82uaxijpm6.cloudfront.net"; window._measurement_preference = "meters"; window._date_preference = "%m/%d/%Y"; window._datepicker_preference_format = "mm/dd/yy"; jQuery(document).ready(function() { Strava.Util.EventLogging.createInstance("https://analytics.strava.com","7215fa60b5f01ecc3967543619f7e3d9", null); }); </script> <script src="https://d3nn82uaxijpm6.cloudfront.net/assets/strava/i18n/locales/en-US-4f6701a8229a32157d73e3689684fa70522edc8fc0e4ff3e2f0f9f75a854c751.js"></script> <script src="https://d3nn82uaxijpm6.cloudfront.net/assets/application-2b199b59bb979a4b0f3a108ac2bd268a4f8e91d819d5bb2762a93374ab8bc233.js"></script> <script src="https://www.strava.com/cookie-banner"></script> <script> jQuery(document).ready(function(){ typeof StravaCookieBanner !== 'undefined' && StravaCookieBanner.render(); }); </script> <script src="https://d3nn82uaxijpm6.cloudfront.net/assets/bootstrap.min-504d59678f10d79a661b6cecdce5b8c1d5bfd98e860614584c0a40399552d61f.js"></script> <script> var currentAthlete = new Strava.Models.CurrentAthlete({"logged_in":false}); HAML.globals = function() { return { currentAthlete: currentAthlete, renderPartial: function(name, context) { if (context == null) { context = this; } return JST[name](context); } } } </script> <script> new Strava.Initializer(); </script> <script> jQuery(document).ready(function(){ jQuery('.inset.upload-links a.apple').on('click', () => { Strava.ExternalAnalytics.trackV2({ category: "mobile", page: "mobile", action: 'click', element: 'get_app', properties: { url: jQuery('.inset.upload-links a.apple').attr('href'), cta_copy: 'apple_app_store' } }) }); jQuery('.inset.upload-links a.google').on('click', () => { Strava.ExternalAnalytics.trackV2({ category: "mobile", page: "mobile", action: 'click', element: 'get_app', properties: { url: jQuery('.inset.upload-links a.google').attr('href'), cta_copy: 'google_app_store' } }) }); }); </script> <script> jQuery(document).ready(function(){ Strava.ExternalAnalytics.trackV2({ category: 'mobile', page: 'mobile', action: 'screen_enter', element: null, }); }); </script> <script> if ('serviceWorker' in navigator) { window.addEventListener('load', function() { navigator.serviceWorker.register("/service_worker.js?v=dLlWydWlG8").then(function(registration) { }, function(err) { console.log('ServiceWorker registration failed: ', err); }); }); } </script> <script> jQuery(document).ready(function() { // Scroll Tracking jQuery(document).one('scroll', function(){ Strava.ExternalAnalytics.trackV2({ category: 'page_scrolled' }); }); }); </script> <script> // Mobile Menu transition handler jQuery('.collapsable-nav #container-nav') .on('show.bs.collapse', function(){ jQuery('#smartbanner-loading-placeholder').slideUp(100); jQuery('html').addClass('mobile-menu-open'); }) .on('hidden.bs.collapse', function(){ jQuery('#smartbanner-loading-placeholder').slideDown(100); jQuery('html').removeClass('mobile-menu-open'); }); </script> <script> jQuery(document).ready(function(){ if (!Backbone.History.started) { if (Modernizr.history) { Backbone.history.start({ pushState: true, silent: false }); } else { Backbone.history.start({ pushState: false, silent: false, hashChange: false }); }; } }); </script> </body> </html>