Time Tracker

Client work, billable hours, quick exports

Today0.00h$0
This Week0.00h$0
This Month0.00h$0
Last Month0.00h$0
July 2026
SuMoTuWeThFrSa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Last 7 days0.00h
Fri0.00
Sat0.00
Sun0.00
Mon0.00
Tue0.00
Wed0.00
Thu0.00
July 2026
0 entries
No entriesNo entries for this month.

Time Tracker for Freelancers - Track Billable Hours, Clients, and Timesheets

Private, browser-only. No account, no upload of client data.

Updated May 15, 2026
Share & Support

What's included

Features

Live start/stop timer for client work sessions with client, project, task, rate, and billable flag
Manual time entries for calls, meetings, offline work, and sessions started outside the browser
Hourly rate and billable revenue calculated automatically from tracked duration
Today, billable, revenue, and entry count summary metrics updated in real time
Last 7 days activity chart for a quick visual workload review
Client filter and full-text search across client, project, task, and note fields
CSV timesheet export for invoicing, spreadsheet review, and accountant handoff
JSON backup and import for portable local data without an account
Optional private GitHub Gist sync using your own token with the gist scope only
Non-billable tracking for admin, internal, and learning time separate from invoice totals
Free alternative to Toggl, Harvest, and Clockify — full billable hours tracking with client and project breakdown, no account or subscription required
IndexedDB storage — no 5 MB cap, no account, and no server upload of client data
GitHub Gist Backup
Sync data across devices via a private GitHub Gist. Paste your token, click Sync — edits auto-backup every 10 seconds. Restore instantly on any device with the Gist ID.

About this tool

A Private Time Tracker Built for Freelance Client Work

Most time tracking apps charge a monthly fee, require team accounts, or send client data to a cloud server. For a solo freelancer billing five clients, that is more infrastructure than the job needs. This time tracker for freelancers runs entirely in your browser — no login, no subscription, no upload — and is built specifically for client work where every session needs a client name, project, task, billable status, and hourly rate.

The live timer handles the most common workflow: you start it when you sit down to work, stop it when the session ends, and the entry saves automatically with start time, end time, calculated duration, and billable amount. For work that happened away from the browser — discovery calls, client meetings, phone support, travel, or sessions you forgot to time — the manual entry panel lets you add those directly with a custom start date and time.

Every entry you can see on the timesheet becomes a CSV row. Filter by client, use the search box, and export the filtered result. The CSV includes date, start time, end time, client, project, task, hours, billable flag, hourly rate, calculated amount, and notes — everything an invoice needs without manual reformatting. When you are ready to bill, open Freelance Invoice Generator and build the invoice from those totals.

All time data stays in your browser's IndexedDB by default — a structured, high-capacity browser database with no 5 MB storage cap. Client names, project details, hourly rates, and session notes are not uploaded anywhere. The optional GitHub Gist backup lets you push a private JSON snapshot to your own GitHub account using a token with only the gist scope — FWD Tools never receives that data. You restore from a Gist by entering the same token on another browser.

Separating billable and non-billable time is important for freelance profitability. Admin work, sales calls, learning, internal review, and business development all consume real hours but should not inflate client invoices. Use the billable toggle to mark those sessions as non-billable. The summary shows both total tracked time and total billable hours side by side, so you can see the full cost of running your business separately from what clients actually pay for.

This tool fits naturally into the broader freelancer workflow on this site. Use Client CRM to keep client relationship context, Mini Kanban or Freelance Dashboard to track delivery, Retainer Tracker to monitor monthly agreement hours, and Local Invoice Tracker to record payment status after the invoice is sent.

Step by step

How to Use

  1. 1
    Set up client and project detailsEnter the client name, project, task description, and hourly rate before starting work. These fields are saved with every entry so CSV exports are ready for invoicing without extra editing.
  2. 2
    Choose billable or non-billableKeep the billable toggle on for invoiceable client work. Turn it off for admin, internal research, or learning time so the full workload is visible without inflating your billable total.
  3. 3
    Start the live timerClick Start Timer when the work session begins. The timer runs in the browser tab and records the start time. You can add a note before or after stopping the session.
  4. 4
    Stop and save the entryClick Stop and Save when the task is finished. The entry is stored locally with client, project, task, duration, hourly rate, and calculated billable amount.
  5. 5
    Add manual entries for offline workUse the Manual Entry panel for discovery calls, review meetings, travel, or sessions you forgot to time. Set the start date and time, duration, rate, and notes.
  6. 6
    Filter and review your timesheetUse the client filter and search box to narrow entries before review. The last 7 days chart gives a quick visual of recent session volume.
  7. 7
    Export CSV or sync a Gist backupClick Export CSV to download a timesheet for invoicing or accountant handoff. Use the optional GitHub Gist backup to save a private JSON copy to your own account for cross-browser restore.
  8. 8
    Keep your Gist private — never store sensitive data in itGitHub private Gists are not truly encrypted — they are unlisted links. Anyone who has your Gist URL or Gist ID can read the full contents without logging in. Never share your Gist URL, Gist ID, or Personal Access Token with anyone. Avoid storing API keys or highly sensitive credentials in the tool. For maximum privacy with no data leaving your device, skip Gist sync and use the Export and Import buttons to transfer files manually instead.

Real-world uses

Common Use Cases

Hourly freelance billing tracker
Track client implementation work by project, set your hourly rate, and export a CSV timesheet before creating the invoice. All entries stay private in your browser.
Meeting and call time log
Add manual entries for discovery calls, review meetings, planning sessions, and support work that happened away from the live timer.
Weekly client time reporting
Filter entries by client, review the 7-day activity chart, or export a filtered CSV to attach to a weekly status update or client report.
Non-billable workload visibility
Mark admin, learning, or internal work as non-billable so your total workload is tracked without inflating invoice totals or blurring billable hours.
Private time tracker with optional Gist backup
Client names, hourly rates, and project notes stay in your browser by default. The optional GitHub Gist backup saves a private JSON copy under your own GitHub account.
Timesheet-to-invoice workflow
Export a CSV timesheet filtered by client and date range, then use the Freelance Invoice Generator to create the invoice from that data.

Got questions?

Frequently Asked Questions

Enter a client, project, task, hourly rate, and whether the session is billable. Click Start Timer when work begins and Stop and Save when you finish. The entry is saved locally with its start time, end time, duration, and calculated billable amount.

Yes. Use the Manual Entry panel to add meetings, calls, offline work, or time you forgot to start. Set the start date and time, duration, client, project, task, rate, and notes. Manual entries are saved exactly like live timer sessions.

No. Your time entries are stored in your browser's IndexedDB and no account is required. The tool runs fully in your browser — no data is uploaded to FWD Tools. If you enable GitHub Gist backup, the JSON is sent to GitHub directly using your own token; FWD Tools does not receive it.

Paste a GitHub token with only the gist scope, then click Sync Now. The tool creates or updates a private Gist named fwd-time-tracker.json in your GitHub account. You can restore that backup on another browser using the same token and Gist ID.

Yes. Click Export CSV to download a timesheet with date, start time, end time, client, project, task, hours, billable status, hourly rate, amount, and notes. Filter by client or use the search before exporting to get a smaller CSV for a specific invoice.

Use the billable toggle on each entry. Summary metrics show total tracked time, total billable hours, and total billable revenue separately. Non-billable entries are tracked but not included in the revenue total.

A good free time tracker for freelancers should work without an account, track client and project fields, handle manual entries, export CSV timesheets, and keep data private. This tool does all of that and stores data locally in the browser with no login required.

Yes. Time entries are stored in IndexedDB and can be cleared when you clear site data or browser storage. Use Export JSON to save a local backup before clearing your browser, or connect a GitHub Gist backup for cross-browser restore. IndexedDB has a much larger storage capacity than the old localStorage approach (no 5 MB cap), so data loss from storage limits is far less likely.

Yes — use the GitHub Gist backup. Click the GitHub icon in the header, paste a personal access token (gist scope only), and click Sync Now. Your data is saved as a private Gist and auto-syncs every 10 seconds after edits. On another device, paste the same token and Gist ID to restore.

GitHub "private" Gists are not encrypted — they are unlisted links. Anyone who has your Gist URL or Gist ID can read the full contents without needing a GitHub login. Never share your Gist URL, Gist ID, or Personal Access Token with anyone. Avoid storing API keys or highly sensitive credentials. Use Gist sync for time entries and client notes only. For maximum privacy with no data leaving your device at all, skip Gist sync and use the Export and Import buttons to move files manually via USB or your own encrypted storage.

Yes — for freelancers who need client and project time tracking with billable hour reports, this tool covers the core use case of Toggl Track and Harvest without any subscription or login. All data stays in your browser's IndexedDB. Export CSV for invoicing or tax records. The main difference from paid tools: no team features, no calendar integrations — just focused solo freelance time tracking.