工具 指南
Productivity 免费 无需注册

Time Tracker

Track time across multiple tasks with start/stop timers and CSV export.

正在加载工具…

关于此工具

Time Tracker is a lightweight, browser-based productivity tool for logging how you spend your day. Add named tasks, start a timer with one click, and stop it when you switch contexts. Each session is recorded with its start time, end time, and duration. The dashboard shows total time per task and a daily summary. All data is stored in localStorage so it persists between browser sessions without any account. Export your log as a CSV file for import into spreadsheets or invoicing tools.

使用方法

  1. 1 Type a task name in the input field and click Add Task.
  2. 2 Click the Start button next to a task to begin timing.
  3. 3 Click Stop to end the current session and record it.
  4. 4 View total time and individual sessions under each task.
  5. 5 Click Export CSV to download your full time log.
  6. 6 Use Clear All to reset the tracker and start fresh.

Why timing your work changes how you work

Most people misjudge where their hours go. Tasks that feel like "a quick fifteen minutes" routinely run to forty; an afternoon you remember as productive turns out to have been broken up by context switches. A time tracker replaces fuzzy memory with a ledger. This tool lets you create named tasks, start a one-click timer when you begin, and stop it when you switch contexts. Each start-stop pair is recorded as a session with its date, start time, end time, and duration, and the totals roll up per task and for the day. Everything is stored locally in your browser, so it works offline and requires no account.

How the timer and storage work

When you press Start on a task, the tool records the current timestamp and begins a one-second tick that updates the live counter. Press Stop and it writes a session object containing the start and end timestamps; the duration is simply the difference between them. A deliberate constraint is that only one timer runs at a time — starting a new task automatically stops whatever was running. That single-active-timer rule is what keeps your log honest, because real attention is single-threaded; if two timers could run at once, the totals would double-count time you only spent once.

All of this lives in your browser's localStorage under a single key. That has two consequences worth understanding. First, your data persists across sessions on the same browser and device without any server — close the tab, come back tomorrow, and your tasks are still there. Second, the data is tied to that specific browser profile: it will not appear on your phone, in a different browser, or in a private/incognito window, and clearing site data erases it. For anything you need to keep long-term, use the CSV export described below.

A worked example

Say you add three tasks: "Client email," "Report draft," and "Code review." You start "Report draft" at 9:00 and stop at 9:52, giving a 52-minute session. You then start "Client email," which automatically stops the report timer, work until 10:10, and stop. After two more report sessions later in the day of 30 and 25 minutes, the "Report draft" task shows three sessions and a total of 52 + 30 + 25 = 107 minutes, or 1h 47m. The "Today's total" banner sums every session that started today across all tasks, so you can see at a glance that the report consumed the bulk of your morning — information you would never recover from memory alone.

Exporting and using your log

The Export CSV button downloads a file with one row per session and columns for task name, date, start time, end time, and duration in minutes. Duration is given as a decimal (for example, 52.00 minutes), which imports cleanly into a spreadsheet. From there you can pivot by task, bill clients by summing the minutes column, or chart how a project's hours accumulate over weeks. Because the export is plain CSV generated in the browser, it opens in any spreadsheet tool and never passes through a server.

Practical tips for accurate tracking

  • Start the timer before you start the task, not after. The biggest source of error is starting late because you forgot. Build a habit: clicking Start is the first action of any task.
  • Name tasks by outcome, not activity. "Q3 report" tells you more later than "writing." Outcome-based names make the CSV self-explanatory when you review it weeks on.
  • Stop when you context-switch, even briefly. Stepping away for a ten-minute call? Stop the timer. Sessions that include long idle gaps quietly inflate your totals and mislead the daily summary.
  • Export regularly. Because data lives only in this browser, export a CSV at the end of each week. That gives you a durable archive independent of your browser cache.
  • Delete junk sessions promptly. If you left a timer running over lunch, remove that session with its delete button so the totals stay trustworthy.

Common mistakes

The most common surprise is expecting the data to sync across devices. It does not — localStorage is per-browser, so your laptop log and your phone log are entirely separate. Another is clearing browser data and losing everything; treat the periodic CSV export as your real backup. People also sometimes try to run parallel timers for "multitasking," but since the tool enforces one active timer, the second start silently stops the first. That is correct behaviour: genuinely simultaneous focus is a myth, and a clean log reflects reality better than an optimistic one. Finally, remember that the Clear All button wipes every task and session at once and cannot be undone — export first if there is any chance you will want the history.

How it fits a productivity routine

Time tracking pairs naturally with timeboxing and the Pomodoro method. You can use the tracker as a lightweight Pomodoro log by starting a task, working a focused block, and stopping at the break — the session record then tells you how many real focused blocks you completed, not just how many you intended. Over a week, the per-task totals reveal your true cost structure: which work eats your day, which tasks you systematically underestimate, and where a recurring chore deserves to be automated or delegated. The value is not in the timer itself but in the honest data it produces.

常见问题

{# Alpine.js — self-hosted. (The previous jsdelivr CDN tag had a stale SRI integrity hash, so the browser refused to run it and window.Alpine was never defined — silently breaking every FAQ accordion and Alpine tool.) #}