OpenSplit
Free & open-source speedrun split timer with an emphasis on customization.
Join the ZellyDev Games Discord and select "OpenSplit" to discuss the application or get involved with development!
Quickstart •
Nightly builds •
Skins •
Development •
Contributing
Highlights
- 🕒 Fast, readable timer built for speedrunning.
- 🎨 Fully skinnable UI — drop CSS-based skins (tokens + components + images) into a folder and switch at runtime.
- 🎮 Global hotkeys (Windows first; cross-platform planned).
- 🔎 Speedrun.com integration (planned) to search games, categories, and fetch art.
- 🧰 Modern stack: Go + React/TypeScript via Wails.
Status: early development/alpha. Expect rapid change and frequent nightlies.
Downloads
Nightly builds (updated on each merge to main):
Quickstart
Run the app
- Download a nightly for your OS (or build from source).
- Unzip and run the binary. On macOS, you may need to right-click → Open the first time.
- From the app, right click and select
Edit Splits to create a new split file.
Create your first splits (basic flow)
- Create a new split file (Game + Category).
- Add segments, press Split hotkey (default:
Space) to start a run.
- Press your Split hotkey (default:
Space) at each segment end.
Configurable hotkeys are coming soon
Features (current & roadmap)
- Timer: HH:MM:SS.cc display with centiseconds; formatting adapts to hours/minutes.
- Skins: theme tokens + component styles + images; per-skin folder with live switching.
- Split editor: add/rename/reorder segments; total attempts.
- Hotkeys: Windows global hooks implemented; cross-platform planned.
- Data: simple JSON split files (
.osf) for portability.
- Integrations: Speedrun.com lookup for game/category art (partially implemented).
Development
Contributing – Development
Contributing
There's many ways to help with the project, How to contribute
Architecture
OpenSplit uses Wails to bundle a Go backend and a React/TypeScript frontend.