This is the time left until:
This is the time left until:
Configure an event, generate a shareable link that stores nothing. No data is sent to any server — all of it lives in the link itself.
How this works, what it does with your data, and what it can’t protect you from.
A countdown timer where the whole timer lives in the link. You fill out a short form, get a URL, and share it. Anyone who opens it sees a live countdown. No account, no sign-up, no database.
The tick is the countdown itself — the seconds ticking down to your moment. The zero is everything the page deliberately does without:
And the countdown, of course, runs down to zero.
Open this page with no hash symbol () in the URL and you get the builder: an event title, a target date and time, which units to show (days/hours/minutes/seconds), and what happens at zero. Hit Generate link, then Start the countdown to open it right away, which is all you need if the timer is just for you — or Copy link to share it with someone else.
Paste the copied link anywhere — chat, email, a calendar invite. Opening the link is the timer; there’s nothing to install. Where your browser supports it, a Share button also appears beside Copy link and hands the link straight to your device’s share sheet.
You get the builder back with an inline message explaining what was wrong (bad timestamp, bad units, bad zero-behavior) rather than a blank page or an error. Nothing crashes. A link missing the units or the at-zero setting isn’t broken, though — those are optional, and a link that leaves them out shows all four units and stops at zero.
Yes. Your date and time are entered in your local timezone, but the link stores an absolute UTC instant. Everyone who opens it counts down to the exact same moment, whatever their timezone.
Under the countdown, that moment is spelled out as a full date and time, already converted into the reader’s own timezone — so there is no clock to convert from and nothing to work out.
No. Every tick recomputes from the current wall clock rather than subtracting one second from a counter, so it self-corrects after sleep/wake and after browsers throttle background tabs.
When the tab is in the background, the tab title shows the running clock (e.g. 02d:14h — Launch Day, or +00m:42s when counting up) so you can watch it from another tab. Focus the tab and the title goes back to just the event name.
Not in place — the link is the timer. Make a new one and share the new link. The old link keeps working until people stop using it.
No. Settings go after the hash symbol () in the URL, and browsers never send that fragment to the server. A host serving this file sees only GET /index.html — never your title or date.
No cookies, no localStorage, no sessionStorage, no IndexedDB.
None at runtime. No CDN scripts, web fonts, analytics, or remote images — even the favicon is inlined. A Content-Security-Policy blocks outbound requests at the browser level, so it’s enforced, not just promised. The same policy pins the page’s own inline code by its hash, so even a script injected downstream by a host or proxy is refused rather than run.
No.
Yes. Save this page as a single index.html and open it via file:// — builder and viewer both work with no internet.
Almost — four things are outside this page’s control and worth knowing:
No. It’s readable by anyone who has it — treat it like an unlisted link, not a password-protected one.
The toggle in the top-right cycles auto → light → dark for the current session only. Persisting it would require storage, which this page deliberately never uses, so it resets to auto on reload. Auto follows your operating system’s setting.
Yes — pick any combination under “Units to display.” Whatever you leave out gets rolled into the largest unit shown (turn days off and hours accumulate past 24, and so on). Display order is always days → hours → minutes → seconds regardless of how you check them.
Yes — the layout scales fluidly and the number boxes wrap on narrow screens.
Yes. Read or fork ZeroTick’s source code on GitHub. It’s one self-contained HTML file, MIT-licensed, with no build step. Drop it on any static host. Include the _headers file on Cloudflare Pages or Netlify to also get the CSP, HSTS, anti-clickjacking, and other headers, 404.html if you want unknown paths to return a real 404 instead of the homepage, favicon.ico so search engines have an icon to show beside your result, and og.png so chat apps have a picture to show beside a shared link — repointing the og:image tag at your own domain, since that URL can’t be relative. All four are optional — the app itself is still just index.html.