Repolode
almarklein

almarklein/timetagger

A web-based time tracker built around an interactive timeline and tags, runnable locally or self-hosted on a server.

Open-source alternative to:TogglClockifyHarvest

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. 1

    Install TimeTagger with pip

    pip install -U timetagger
  2. 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