Waiting for drop
0 uploaded and processing
0 failed to upload

This page will update automatically.

What programs can I upload splits from?

Splits.io can read splits from any timer that supports the generic Splits.io Exchange Format. Splits.io additionally has manual support for several timers that don't support the format.

In LiveSplit, you can upload from within the program with a right click -> Share.

Just so you know: Some of Splits.io's statistics, charts, and other features that rely on historical data only work when the timer actually records such data. LiveSplit is currently the only known timer to do this.
Fun fact! The parsing engine that powers Splits.io is actually shared code extracted from LiveSplit by its authors! Hooray open source! 🙌
Is Splits.io open source?

Yes, since the very beginning! Have a look or lend a hand on GitHub!

Does Splits.io have an API?

Yes as well!

How are game/category chosen for my run?

If you use LiveSplit, we try to associate your splits with an existing game and category from speedrun.com using the corresponding LiveSplit fields. If we get it wrong or if you use another timer, you can manually edit your run's game and category by pressing "edit" on your run's page, near the download link.

My speedgame doesn't have its own page with category tabs and all that, like other games do. What gives?

We give full game pages to any game that's on speedrun.com.

This isn't because we think all other games are lame or anything; it just happens to make it much easier to do bookkeeping. Once you get your game on speedrun.com this process should happen automatically next time a run is uploaded.

My sum of best and/or possible timesave is bonkers and makes no sense!

This is a really interesting bug! If you don't care about why it happens, just scroll to the bottom.

When LiveSplit calculates your sum of best, it's actually not a literal sum of your best segments! Take this run:

A ---> B ---> C

Let's say a new route is discovered that foregoes B , so you update your splits to accomodate.

A ---> D ---> E ---> C

Because it's a new route, you're not great at D and E yet! The route is strictly better, but your time actually suffers while you grind attempts. With the simple way of calculating sum of best, your sum-of-best suffers as well! But LiveSplit realizes this and tries to give you what you might actually be wanting from a sum-of-best: the answer to the question "What's my fastest possible run?".

So instead of just adding up all your gold times, LiveSplit keeps track of your route changes. Internally, LiveSplit remembers your splits more like this:

A -------> B ------> C
\ ^
\---> D ---> E ---/

Because it remembers your gold time for B , your sum-of-best will actually not change when you update your route! As odd as it may sound, your sum-of-best is defined as the shortest path through this network of splits. If your gold time for B is faster than the sum of your D and E gold times, then A -> B -> C is still your fastest route, and so your sum-of-best is still the sum of their gold times, even after you've switched routes.

Now, here's where the bug comes up! Let's say again you have a run that looks like this:

A ---> B ---> C

And let's say again that a new route is discovered and it's time to update your splits. Being a reasonable person, you might just add a new split between B and C , then rename B.

A ---> D ---> E ---> C
was called B

Because you've only renamed B (rather than deleting it) and changed what it actually means to complete it in-game, LiveSplit now holds a corrupted network of the possible paths through the game:

A ---> D ----------> C
\ ^
\---> E ---/

In this corrupted map of routes, A -> D -> C will always be faster than A -> D -> E -> C , so LiveSplit will build its sum-of-best based on the sum of those segments' gold times, even though that's not a real route through the game.

There's one workaround to this, one fix, and one way to avoid it in the future.

To work around this issue without damaging your splits (but also without repairing them), go into LiveSplit's settings and check "simple sum of best" . This will force LiveSplit to stop being clever and actually just sum your bests to get a sum-of-best time. However, your splits will still be corrupted under the hood, which will show when you upload them to Splits.io or otherwise perform analysis on them or share them with others.

To fix this problem if it's already happened to you, go into LiveSplit, go into the Splits Editor, and then click on Other... -> Clean Sum of Best. This will guide you through cleaning up your splits by removing any times that might be corrupted.

To avoid this problem in the future, never repurpose a split. If how you play a split in the game changes, delete the split and recreate it. If you want to separate one split into two, delete the split and create two new ones. If you do this LiveSplit will remember that the splits existed and are a path through the game, but won't use them to build nonsensical paths and therefore nonsensical sum-of-bests.

Where can I go for further help?

The best support channel is usually our Discord server as you can lean on the knowledgeable Splits.io community for assistance.

If you have a clear cut feature request or bug report with reproduction steps and you're comfortable using GitHub, our GitHub repository is the best place to log it.

For general support if you're not comfortable using Discord, such as payment bugs, you can email us at and we'll get back to you when we can, though this is usually a slower way to get an answer than the above methods.

If you have a security bug to report, please immediately email security@splits.io and we will respond as soon as we can with an assessment and fix if applicable. Please do not post security bugs in public channels like Discord or GitHub, as this allows malicious users to take advantage of them before we have the chance to fix them.

Open Source Friends


The most powerful and popular timer, LiveSplit is developed by two really cool people who decided to open source the whole thing around 1.4.

In a magical display of the power of open source, the parsing component of Splits.io is even powered by LiveSplit code.


An old god of speedrunning timers, WSplit is the simple and sturdy timer that's stood the test of time. Nitrofski is WSplit's maintainer and open sourced the program in 2014.


Salty is a speedrunning-heavy chat bot that hooks into several services to expose race status, PB splits, and WR info, among other things.