← all SaaS

Self-host Toggl Track

Time tracking · Category: CRM, billing & ops

Toggl Track is a per-user time tracker — start/stop a timer, tag with project + client, generate reports for invoicing. The self-hostable replacements all do the timer + project + report triangle; differences are mostly UI polish and team/admin features.

Toggl Track pricing anchor: Free up to 5 users; Starter $9/user/mo; Premium $18/user/mo (annual).

Kimai kimai/kimai alive

GitHub
★ 4.64k · last commit 2d ago · 324 open issues
License
AGPL-3.0
Setup time
20min docker-compose (PHP/Symfony + MariaDB)
Monthly cost
$5/mo VPS for a small team.
Migration sketch. Pull `kimai/kimai2:apache` and `mariadb:11` via the official compose. Toggl export (Reports → Detailed → CSV) imports through Kimai's Bundle/CSV import (community bundle: `kimai-toggl-importer`). Kimai's data model maps cleanly: Toggl's Workspace → Kimai's tenant; Toggl Client → Kimai Customer; Toggl Project → Kimai Project; Toggl Tag → Kimai Tag.
Good fit forFreelancers and agencies that bill hourly and need invoice-ready reporting — Kimai's invoice templates output PDF directly from tracked time.
Weak atMobile UX is a PWA, not a native app; serious mobile users will miss Toggl's native iOS/Android polish.

Solidtime solidtime-io/solidtime alive

GitHub
★ 8.53k · last commit 10d ago · 29 open issues
License
AGPL-3.0
Setup time
20min docker-compose (Laravel + Postgres + Redis)
Monthly cost
$5-10/mo VPS.
Migration sketch. Pull `solidtime/solidtime` from GitHub Container Registry. Solidtime is a newer Laravel-based timer app — purpose-built as a Toggl replacement. Toggl CSV export imports via Settings → Import → Toggl. Browser extension for one-click timer start; CLI client for terminal-first workflows.
Good fit forTeams that prefer Laravel/Livewire familiarity and want a modern, actively-developed Toggl replacement.
Weak atNewer than Kimai — smaller community, fewer third-party integrations and bundles.

TimeTagger almarklein/timetagger alive

GitHub
★ 1.72k · last commit 4w ago · 92 open issues
License
GPL-3.0
Setup time
10min single-binary or docker run
Monthly cost
$3/mo VPS — SQLite-backed and tiny.
Migration sketch. Run `docker run -d -p 80:80 -v $HOME/_timetagger:/root/_timetagger almarklein/timetagger:latest`. TimeTagger uses a tag-first model (no projects/clients hierarchy — just `#client #project #task` tags on a timer). Toggl entries port via the JSON import (Toggl JSON export → script that emits TimeTagger format). Best for individuals; multi-user is bare-bones.
Good fit forSolo users who like a flat tag model — fast to log, no setup overhead.
Weak atNo client/project hierarchy or invoicing module — pair with a separate billing tool.

In a terminal? npx os-alt toggl prints this table — how the CLI works →