For athletes, by athletes. (cliché, we know)

Read about our story.

GPSRace makes it possible for anyone, anywhere, to host a race using nothing more than GPS-enabled devices - no fancy timing equipment required!


Creating a race (beta-access required) is easy!

  1. Get a GPX file of your route - you can use a previous activity, or you can design your route using a service like MapMyRide.
  2. Upload your route's GPX file.
  3. Pick some segments and set options for the race.
  4. Share the link with your friends so they can register!

Participating in a race is easy!

  1. Find and register for the race
  2. Complete the route while recording with your GPS-enabled device
  3. Upload your GPX activity file and wait a moment for the file to process

With three ways to race, there's a winning strategy for every type of racer.

Time Trialists
Graphic of time trial cyclist

Go for the fastest time overall and claim the Yellow Jersey. Neutral segments (in yellow) do not count towards overall time.

Graphic of a cyclist sprinting

Go for the fastest combined time on sprint segments (in green) and claim the Green Jersey.

Graphic of cyclist climbing

Go for the fastest combined time on climb segments (in red) and claim the Polka-dot Jersey.

No! You're not on the clock until you cross the "start", and the clock stops after you pass the "end" of the route. And it's generally a good idea to warm up and cool down before and after a hard effort, so feel free to include these in your recording.

Accuracy of the times ultimately depends on the accuracy of the recordings, which depends on many factors including sampling rate, quality of the GPS signal, and more. In general, modern GPS-enabled devices are accurate within about 2 seconds 95% of the time for cycling. Given this margin of error, we round all times to the nearest second.

Hence, GPSRace is most appropriate for longer events (sorry track cyclists!). In the 2016 Olympics, the top ten finishers in the individual time trial for men and women finished at least three seconds apart from each other. Though GPSRace likely would have placed these athletes correctly, you should probably use fancy timing equipment when Olympic medals are on the line.

It's not recommended. You can try uploading a route file that has multiple laps and it may work, or it may not...we plan to support multilap races in the future.

Currently only cycling (on or off road) is supported, but we plan to support running and multisport races (e.g. triathlon) in the future! If you have a pressing need for your sport, send us a note.

We currently calculate five rankings:

  1. Overall rank: fastest overall times across all participants
  2. Gender rank: fastest overall times within each race gender
  3. Division rank: fastest overall times within each division
  4. Sprint rank: fastest cumulative times on sprint segments within each race gender
  5. Climb rank: fastest cumulative times on climb segments within each race gender

If the route includes neutral segments, elapsed time accrued on neutral segments is not included in overall time.

For all rankings, ties go to those who upload first...a small incentive to ride and upload early!

At this time we are unable to manually adjust times - double check your GPX file to be sure that's correct, and if you think you've found a bug, let us know.

GPSRace is donor supported and maintained by volunteers. Though we have built a lean site, there are still costs associated with web hosting and data processing. You can via credit card or PayPal - every bit helps!

If you have a technical background and would like to help with development, please send us a note.


It all started when the cycling race season was cancelled amid the COVID-19 pandemic.

Cyclists everywhere were, of course, bummed. Some turned to eRacing on platforms like Zwift, but there's only so much fun you can have on a stationary bike. Other organizations attempted to hold races at a set distance but no set course. Alas, none of these proved particularly good substitutes for real road racing.

Then - a breakthrough. A pro cyclist based in San Diego picked a local climb and challenged every cyclist he knew to give it their best effort. As a hobbyist baker, he offered a loaf of his finest freshly-baked sourdough to the fastest man and woman as well as 10th fastest to give everyone a chance. News spread fast and within weeks hundreds of local cyclists were participating in the challenge.

The "Swift Sourdough Seeker" challenges gave everyone a taste of a lost race season. Several of the challenges caused a rewriting of the top-10 fastest times ever recorded on some Strava segments. Other groups around the country began to form, hosting events similar in format - join Strava group, ride set route (solo) in the given time window, see segment leaderboards on Strava.

And then the Stravacolypse.

With segment leaderboards hidden behind a paywall, Strava was no longer a viable platform for hosting asynchronous races. That's when two cyclists decided to use their tech backgrounds to build a platform to facilitate further racing during the shutdown.

By empowering the entire community, we hope to achieve the following:

  • Throughout the shutdown, host competitions that wouldn't otherwise be possible
  • Offer more competitions in more locations
  • Lower the costs associated with competing
  • Ultimately, increase the number of community members participating!