Waiting for drop
0 uploaded and processing
0 failed to upload

This page will update automatically.

FAQ

Who made Splits.io?

Glacials. You can look him up in these places:

Glacials

On Splits.io

Glacials

On Twitch

glacials

On GitHub
Which 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!

Why no <other timer>?

Depends. Maybe we don't know that it exists, or maybe we do but it's so niche that it's not super high priority. You can check on the timers we're aware of on GitHub. If you don't see your timer there, we don't know about it.

We use livesplit-core for parsing runs from various programs.

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.

I get "Error eating splits :(" when accessing or uploading my splits!

This error happens when the page request times out, which is typically a sign that your splits took too long to load into memory and parse. This happens to LiveSplit files with a very large

(# attempts) * (# splits in the run)

because of the sheer amount of data LiveSplit stores in its splits (which enables cool things like stats!).

It's my own fault that Splits.io's handling of this is not as optimized as it should be, and I'm actively working to solve it, but it's not a one-stop bug fix. To see how it's going and what specifically is being planned, you can check Splits.io's "speed" label on GitHub.

As a temporary solution, you can manually strip history before uploading by making a copy of your splits, opening the copy in LiveSplit, and resetting all of your best segments (drag-select the whole column and press Delete). This will remove all split history; you should notice a sizeable decrease in file size, and consequently the file should upload to Splits.io without a hitch.

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 and delete any repurposed splits' gold times. You can do this by selecting the best time in the split editor and pressing Delete on your keyboard. This will make LiveSplit forget all history about the split, so it won't remember that it used to link up with a different split. You can manually re-type the gold time into the field again if you want to keep it.

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.

Help! Splits.io kidnapped my sister!!

You can always email help@splits.io with issues! Or if you'd prefer, you can post them at the GitHub issues page! But maybe you should call the police first!

Open Source Friends

LiveSplit

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.

WSplit

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.

PB Tracker

PB Tracker is Splits.io's spiritual sister, preferring a you-curated, diary-style progress tracking system to Splits.io's more automated "give me all your splits" attitude.

SaltyBot

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