How to track time offline on a Mac

· 6 min read

Offline time tracking on a Mac means the app records, stores and reports entirely on the machine, with no server in the loop. Most trackers were designed around a web account and either stall or quietly queue when the network is gone; a few work fully offline because they never needed the network to track. Here is how to tell which you have, and how to set up one that does not care whether you are connected.

What offline should actually mean

“Works offline” gets used loosely. Three tests separate a tracker that tolerates being offline from one that is offline.

  1. It records with Wi-Fi off. Not for a while, not until a sync window. Indefinitely.
  2. The data is in a file on your Mac that you can find, copy and open. Not a cache waiting to upload.
  3. The reports and the license keep working without a connection. An app that tracks offline but cannot show you the week, or that locks after some days without checking in with a server, is not offline in any useful sense.

If a tracker passes all three, the network is simply not part of how it tracks. If it passes the first and fails the others, you have a client for a web service that can survive a plane ride.

Test any tracker in half an hour

You can check this yourself without reading documentation.

  1. Turn off Wi-Fi from the menu bar (and unplug Ethernet if you have it).
  2. Work normally for thirty minutes with the tracker running.
  3. Open its report or summary. Does the last half hour appear? If the view is blank, spinning, or shows a “reconnecting” message, it is a web client.
  4. Open Finder, choose Go > Go to Folder, and enter ~/Library/Application Support. Look for a folder with the app’s name. Is there a database or data file inside that changed in the last half hour? If the only thing there is a settings file, the data lives elsewhere.
  5. Open Activity Monitor, choose the Network tab, and find the app. The Sent Bytes and Rcvd Bytes columns show whether it has been talking to anything since launch. Turn Wi-Fi back on and watch those columns for a minute.

Step five is the honest one. An app that sends nothing has nothing to send. For a longer walk through the same check, how-to-check-what-an-app-sends-over-the-network-on-a-mac.html covers the tools in more detail.

Set up tracking that has no network to lose

Punchcard is a Mac menu bar app that passes the three tests by construction: its only network call activates a license, and the release build fails if networking appears anywhere else. There is no sync because there is nothing to sync with.

  1. Download Punchcard (about 4 MB) and open it. It runs on macOS 13 Ventura or later, on Apple silicon and Intel.
  2. It asks for no macOS permissions: no Accessibility, no Screen Recording, no Full Disk Access. It appears in the menu bar and that is the installation.
  3. Set a closing time.
  4. Work. Punchcard notices which app is in front and keeps the totals locally. It records app names only: no window titles, document names, URLs or keystrokes.
  5. At closing time, it prints a paper receipt of the day: one line per app, a day total, a stamp. The Wi-Fi state does not enter into it.

On Sunday a week roll prints; at month end, a month roll. If the Mac was asleep at closing time, the receipt prints late under the heading SORRY WE MISSED YOU. None of this needs a connection at any point.

Licensing needs a connection once. Tracking is free and never expires; the first two receipts are free; after that it is $9 once for two Macs, with a license key sent by email. You type the key in while connected, the app checks it with the payment provider for a yes or no, and from then on being away from a connection never locks you out.

Where the data is and how to keep it

Everything Punchcard records is in one SQLite file:

~/Library/Application Support/Punchcard/punchcard.sqlite

That is the whole record. Two ways to keep a copy without a network:

  • Export CSV from the Punchcard menu. You get app names and time by day in a plain text file that opens anywhere.
  • Copy the SQLite file itself, with Punchcard quit, to an external drive or a folder Time Machine covers.

Burn the roll deletes everything, if you ever want a clean start. time-tracker-data-where-it-lives-and-who-can-read-it.html goes through the same question for trackers in general.

When offline is not enough

Being honest about the trade is part of choosing well. An app that keeps everything on the Mac cannot do some things.

  • No sync between Macs. The $9 license covers two Macs, but each keeps its own roll. how-to-track-time-across-two-macs.html covers how to live with that.
  • No team features. Nobody else can see your totals unless you send them a receipt.
  • No iPhone app and no integrations. Time on the phone is not on the receipt, and nothing flows into an invoicing or project tool.
  • No projects, clients, rates or manual timers. Punchcard answers “where did the day go,” not “how many hours for client A.”

If your need is any of those, an offline tracker of this kind is the wrong shape, and it is better to know that before you rely on it. If your need is a trustworthy record of your own days that does not depend on a server being up, on a subscription staying current, or on a connection existing at all, it is exactly the right shape.

Questions

Will an offline tracker lose data if my Mac is never online?

Not if it is genuinely offline. Punchcard never uploads your day, so there is nothing to lose by not uploading. The only copy is the one on your Mac, which is why exporting a CSV or backing up the SQLite file is worth doing.

How can I be sure an app has no networking code, rather than just not using it right now?

You cannot prove a negative from outside, but you can check the evidence: Activity Monitor’s Network tab over days, the absence of any sign-in or sync option, and the developer’s own statement. an-app-with-no-networking-code-what-that-means-and-how-to-check.html goes through what that claim means and how to test it.

Does the license key need to be activated online?

Once. The key arrives by email; you enter it in the app, which sends it and this Mac’s name to the payment provider for a yes or no. A licensed copy re-checks quietly at launch to catch a refund, but being offline never locks you out.