Self-hosted, tag-based time tracker where every entry is a tagged time span instead of a task.
- Stars
- 1,808
- Forks
- 170
- Open issues
- 106
- Last commit
- 27 days ago
What is it?
TimeTagger is an open source time tracker for individuals and freelancers. Time entries are recorded on an interactive timeline and categorized with tags rather than a project hierarchy. It can run locally as a single-user app or on a server for multiple users, and syncs between devices.
The tool includes reporting in PDF and CSV, daily, weekly and monthly targets, and an experimental Pomodoro timer. The interface is responsive and works on both small and large screens. Users can also use the hosted version at timetagger.app.
On the backend, the server uses async Python with uvicorn and asgineer, storing data in SQLite. The client code is written in Python and compiled to JavaScript with PScript. Docker images are published for self-hosting, and the server supports BCrypt-based credentials or reverse proxy authentication.
Key features
- 01Interactive timeline for recording and reviewing time entries.
- 02Tag-based categorization instead of nested projects.
- 03Reports exported as PDF and CSV.
- 04Daily, weekly and monthly time targets.
- 05Sync between devices and responsive layout for different screen sizes.
- 06Self-hosting via pip or Docker, with credential or reverse proxy authentication.
Use cases
- Freelancers tracking billable hours across clients and exporting reports.
- Individuals who want a self-hosted time tracker on their own server.
- Teams or households needing multiple user accounts on one instance.
- Tracking personal goals with daily, weekly or monthly targets.
Quick start
- 1
Install TimeTagger with pip
pip install -U timetagger - 2
Run the server locally
python -m timetagger
Things to know
- Requires Python 3.6 or higher.
- Self-hosting needs a server and credential or reverse proxy setup for multiple users.
- The Pomodoro feature is marked experimental.
In collections
Topics
FAQ
- What is timetagger?
- A web-based time tracker built around an interactive timeline and tags, runnable locally or self-hosted on a server. TimeTagger is an open source time tracker for individuals and freelancers. Time entries are recorded on an interactive timeline and categorized with tags rather than a project hierarchy. It can run locally as a single-user app or on a server for multiple users, and syncs between devices.
- Is timetagger free to use? What license does it have?
- timetagger is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
- Is timetagger still maintained?
- Actively maintained. The last commit to timetagger was on Sep 28, 2026.
- What can I use timetagger for?
- Freelancers tracking billable hours across clients and exporting reports. Individuals who want a self-hosted time tracker on their own server. Teams or households needing multiple user accounts on one instance. Tracking personal goals with daily, weekly or monthly targets.
- How do I install timetagger?
- Install TimeTagger with pip: pip install -U timetagger Run the server locally: python -m timetagger
- Where can I get timetagger?
- The source code and installation instructions are on GitHub: https://github.com/almarklein/timetagger
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Open-source time tracking app for freelancers and agencies, with projects, tasks, clients, billable rates and self-hosting.
A todo list app with timeboxing and time tracking that imports tasks from calendars, Jira, GitHub and other issue trackers.
A browser extension for Chrome, Edge and Firefox that tracks time spent on websites, shows habit reports, and blocks sites once limits are reached.
Open-source task manager and Pomodoro focus timer for macOS, iOS, Android, Linux, Windows and the web, with a self-hostable server.
Open-source business management platform combining ERP, CRM, HRM, ATS, project management and employee time tracking in one system.