Time Tracking Systems

Time trackers log the time you spend on specific projects/activities and produce timesheets and reports that can be used for project monitoring and control, invoicing, personal productivity, etc.

Some of the characteristics you want to look at include:

  • Data representation: at a minimum, a time-tracker should allow to specify the project one is working on. More detailed information, such as task, activity, client, or even a free-text description can make the logging more useful (or complex, according to your needs)
  • Data aggregation: if the tool is used for project monitoring or invoicing by teams, the tool should allow to easily aggregate data of the different team members, to get the cumulative time spent on a project (task, activity)
  • Integration: some time tracking tools are integrated or part of more complex tools to plan and manage projects. This allows to more easily accrue time to specific activities (e.g., a task in a project, a client, a bug)
  • Data representation and Reporting: all tools provide some form of reporting. However, if you need to generated your owns, you might want to look at the exporting facilities the tools provide. Various tools export data as csv (comma separated value) files.
  • Multiple Tracking: some tools allow one to track multiple activities in parallel, while others allow one to track one activity at a time.

Free/Open Source

Command Line

  • ti has a very simple syntax for clocking-in, clocking-out. It supports clocking from a past time (if you forgot to start the timer) and it allows one to tag entries.
  • TimeTrap is based on a list of timesheets (e.g., projects). Users switch to one timesheet before you start clocking. It has commands to start counting in the past, in case you forgot to start the counter. A Ruby gem.
  • wtime has commands for clocking in, clocking out, and reporting total time spent on activities.

Other similar tools include timed and utt, to mention a few.

Integrated with text editors

  • Emacs has various time tracking tools, including the built-in timeclock (See Time Tracking for more choices)
  • TimeTap logs the time you spend on different projects while programming with TextMate

Integrated with Todo list managers

  • TaskWarrior, a cli-based todo list manager, has commands to clock the time spent on a todo.


  • TimeCult is Java-based and allows to specify a hierarchy of projects and tasks
  • MacTimeLog is a time tracker for Mac
  • Fred is platform-independent time-tracking solution
  • Project Hamster is time tracking for individuals. It helps you to keep track on how much time you have spent during the day on activities you choose to track.
  • Time Edition is multi-platform and based on a running timer


  • Kimai is an open-source web-based system
  • JobsWorth has a time-tracking component


Lists of Tools