About Clock.now

What is Clock.now?

Clock.now is a precise, server-synced time service that shows you the exact current time for any city, country, or time zone in the world. Unlike your device clock - Which may drift by seconds or minutes - Clock.now syncs with our server every time you load a page and calculates the offset between your device and our server.

How does the clock sync work?

When you visit Clock.now, our JavaScript immediately fetches the current server time from /api/time/now. It then calculates the difference between the server's time and your device's clock. Every second thereafter, the displayed time is corrected by this offset - So even if your device clock is 30 seconds wrong, Clock.now shows the accurate time.

Time Zone Data

All time zone data is sourced from the IANA Time Zone Database (also known as the Olson database or tzdata). This is the authoritative source used by operating systems, programming languages, and internet standards worldwide. We use Python's zoneinfo module backed by the tzdata package.

Features

Contact

Found a bug? Have a suggestion? We'd love to hear from you.

Send Feedback

How Clock.now Works

Step 1

Server Sync via API

The moment any page loads, the browser sends a request to /api/time/now. The server responds with the precise UTC timestamp sourced from the system clock, which is kept accurate by the host's NTP (Network Time Protocol) daemon. This handshake takes milliseconds and establishes the ground truth for every clock on the page.

Step 2

Offset Calculation

Once the server timestamp arrives, the browser compares it against Date.now() - The device's own clock reading at that instant. The difference between the two values is stored as a signed offset in milliseconds. A positive offset means the device clock runs ahead of the server; a negative offset means it runs behind. This offset is calculated once per page load.

Step 3

Per-Second Correction

Every second, a setInterval tick fires. Instead of displaying the raw device time, Clock.now adds the stored offset to the current Date.now() value before formatting it. This means even if your laptop's clock has drifted by 45 seconds, every city clock on the site remains correct to within the round-trip latency of the initial API call - Typically under one second.

Our Data Sources

IANA Time Zone Database (tzdata)

Every offset, DST rule, and historical transition shown on Clock.now comes from the IANA Time Zone Database - The definitive, open-source record of how every political jurisdiction has defined local time since timekeeping was standardized. Maintained by a team of volunteer editors since 1986, the database is updated multiple times per year as governments announce changes. Python's zoneinfo module reads this data directly, ensuring Clock.now is always current within one package update cycle.

NTP - Network Time Protocol

The server that powers Clock.now synchronizes its system clock with a pool of atomic-clock-backed NTP servers. NTP is the internet's universal time-keeping protocol, operating since 1985. It works by measuring the round-trip delay between client and server, then correcting for that delay to set the local clock to within a few milliseconds of UTC. Our server typically maintains accuracy within 10 ms of true UTC at all times.

DST Transition Tracking

Daylight Saving Time rules are encoded directly in the IANA database as POSIX-style transition rules. Clock.now evaluates these rules at query time so that a time zone that transitions at 2:00 AM on a specific Sunday in March is handled correctly - Including the ambiguous "fall-back" hour and the skipped "spring-forward" hour. Cities that do not observe DST (Japan, India, China, and most of Africa, for example) are flagged accordingly and their offsets never change.

590+
Time Zones Tracked
200+
Countries Covered
1 sec
Live Update Interval
Global
DST Changes Tracked

Frequently Asked Questions

What makes Clock.now accurate? +
Clock.now accuracy rests on two pillars. First, our server is synchronized to UTC via NTP to within roughly 10 milliseconds. Second, the browser measures the latency of its own API call and stores the resulting offset, then applies that offset every second instead of trusting the device clock. Most consumer devices drift by tens of seconds per day; Clock.now corrects for that drift on every page load.
How do I convert time zones on Clock.now? +
Use the Time Zone Converter tool, accessible from the home page or the top navigation. Select a source time zone and a target time zone, enter any date and time, and the converter instantly displays the equivalent local time at both ends. You can also open any city or country page to see its current time displayed live alongside its UTC offset and DST status.
Is the time shown in UTC or local time? +
Clock.now shows local time for whichever location you are viewing. The home page defaults to your browser's detected time zone. City and country pages always display that location's local time. UTC is available as a dedicated time zone - Search for "UTC" in the time zone browser to view Coordinated Universal Time directly.
How is Daylight Saving Time handled? +
DST transitions are applied automatically using the IANA tzdata rules evaluated at the time of your request. When a time zone transitions - Say, New York springs forward from EST (UTC-5) to EDT (UTC-4) at 2:00 AM on the second Sunday in March - Our server-side Python code returns the corrected offset immediately. There is no manual update required; the tzdata package handles every jurisdiction's rules.
Can I embed a Clock.now clock on my site? +
Embeddable widgets are on the Clock.now roadmap. In the meantime, you can link directly to any city, country, or time zone page - Each has a clean, shareable URL. If you need a programmatic time source, the /api/time/now endpoint returns a JSON object with the current UTC timestamp, server offset, and ISO-formatted date string.

Explore Our Tools