Countdown Timer
Count down to a date and time — a launch, a deadline, a birthday — showing days, hours, minutes and seconds remaining.
How it works
The countdown is the gap between now and your target instant, recalculated every second. Because it measures against the clock rather than decrementing, it cannot drift no matter how long the tab sits in the background.
The target is interpreted in your own time zone. For an event in another country — a launch, a market open, a broadcast — convert it to your local time first, or the countdown will be off by the offset between you.
Once the target passes, the countdown flips to counting up, which is usually more useful than showing zeros: it tells you how long ago something happened.
The formula
Remaining
remaining = target − now
Breakdown
days, then hours, then minutes, then seconds from the remainder
After the target
counts up instead of stopping at zero
Worked examples
| Scenario | Working | Result |
|---|---|---|
| Counting down to midnight on 31 Dec | Target in your zone | Live days, hours, minutes |
| A deadline this afternoon | Seconds resolution | Ticks down live |
| A date that has passed | Negative remaining | Counts up since it happened |
When you'd use it
- Counting down to a launch or a deadline
- A birthday, holiday or new year countdown
- Tracking time remaining in a sale or window
- Seeing how long ago something happened
Common questions
Which time zone is the target in?
Your own, as your device reports it. For an event announced in another country, convert it to your local time first with the time zone converter — otherwise the countdown is off by the offset between you.
What happens when the countdown reaches zero?
It starts counting up, showing how long ago the target passed. That is usually more useful than a row of zeros, and it means a countdown left open overnight still tells you something.
Does it stay accurate in a background tab?
Yes. It measures the gap to the target against the clock each tick rather than decrementing a counter, so throttling changes how smoothly it redraws but never what it says.

