TZC

// a timezone converter utility for macOS

It’s --:-- where you are.
That means nothing to everyone else.

Select a time in any app — Slack, Discord, Notion, Mail — hit a shortcut, and TZC converts it in place to the zones you care about. No converter tab, no mental math, nobody shows up a day early.

macOS 13+ · Apple Silicon & Intel · free, donation-supported

You are here.

detected zone: somewhere on Earth

↓ antarctica: mercifully meeting-free ↓ YOU
  • Los Angeles--:--:--
  • New York--:--:--
  • São Paulo--:--:--
  • London--:--:--
  • Lagos--:--:--
  • Dubai--:--:--
  • Kolkata--:--:--
  • Singapore--:--:--
  • Tokyo--:--:--
  • Sydney--:--:--

ten cities, ten different “now”s. TZC's whole job is making that someone else's problem.

Select. Press. Done.

No app to open, no dropdown to scroll. The conversion happens where the text already is.

You highlight
9 PM IST
You get back
8:30 AM PDT @ Mon, 8th Jun-26

It speaks the way you write times.

Absolute clocks, relative phrases, day-parts, ranges, spelled-out times, chat shorthand — parsed without you reformatting first.

9 AM tomorrow → converts to → 9:30 PM IST @ Tue, 9th Jun-26
EOD Friday → converts to → 5:30 AM IST @ Sat, 13th Jun-26
1 AM on 25th → converts to → 1:30 PM IST @ Thu, 25th Jun-26
tonight at 9 → converts to → 9:30 AM IST @ Tue, 9th Jun-26
in half an hour → converts to → 3:00 PM PDT @ Mon, 8th Jun-26
14:00 UTC → converts to → 7:30 PM IST @ Mon, 8th Jun-26
half past nine → converts to → 10:00 AM IST @ Tue, 9th Jun-26
tmrw 9am → converts to → 9:30 PM IST @ Tue, 9th Jun-26

Designed to disappear.

One keyboard shortcut. One menu-bar item. The rest of your workflow stays exactly where it was.

One shortcut per zone

Bind up to five global shortcuts, one for each target zone. Or right-click the selection and pick from the system Services → Convert Time with TZC menu — enabled automatically on first launch, no checkbox to hunt for.

Reads what you're looking at

Pulls highlighted text directly from any focused app via the Accessibility API. Falls back to a clipboard roundtrip for Chrome, Firefox, and other web content — and restores your clipboard exactly as it was afterwards, images and files included.

Natural-language parser

Two-layer parser handles absolute clocks, relative offsets, day-parts, ordinal dates, ranges, spelled-out times (half past nine), and chat shorthand. Picks up an explicit zone if you typed one; otherwise assumes yours.

Replace, append, or copy

Replace the selection in-place. Or keep the original with the converted time in parentheses. Or just put the result on the clipboard. Each is a toggle.

Private by default

The text you select never leaves your Mac. Anonymous events (names and counters — never selection contents) are toggleable in Preferences → Privacy. Read the policy.

Signed & auto-updating

Developer ID signed and Apple-notarized — no Gatekeeper warnings. Sparkle handles silent over-the-air updates so you don't redownload anything by hand.

Always one glance away.

The status item shows your primary conversion direction in real time, flashes a ✓ when a conversion lands, and the dropdown lists the current time in every zone you've configured — click one to copy it.

One permission, then it's invisible.

macOS guards reading text from other apps behind a single Accessibility grant — TZC asks once, on first launch, and never needs anything else.

Accessibility

On first launch a short welcome screen walks you through granting Accessibility access in System Settings → Privacy & Security → Accessibility. That permission is what lets TZC read the selected text from any app — macOS gates cross-app reads on it, by design. If it's missing, the menu-bar icon shows a warning and conversions tell you what's wrong instead of failing silently.

TZC never writes anywhere outside its own preferences and the system clipboard. It is not sandboxed because Apple's sandbox forbids reading selections from other apps, which is the entire point of the tool.

If updates break the grant: remove TZC from the Accessibility list (— button, authenticate) and add it back. macOS occasionally invalidates the grant on signature changes even though the toggle still appears on.

Get TZC.

Free, donation-supported. Notarized DMG, signed with a Developer ID.

// install

tzc-latest.dmg
homebrewbrew install --cask tzc

macOS 13+ · cask submission pending acceptance

// keep it free

No price tag, no subscription, no plans for either. If TZC has saved you from one “wait, whose 9 AM?”, a coffee's worth of sponsorship keeps it signed, notarized, and shipping updates.

one-time or monthly · via GitHub Sponsors