Both widgets are plain <iframe> embeds. Pick your options, copy the snippet, paste it into your page. They work on any platform that lets you insert HTML — WordPress, Ghost, Notion, a static site, a school intranet page.
What you get
- No JavaScript to install. No
<script>tag, nothing added to your build, nothing that can break when we deploy. - No cookies and no tracking. The widgets store nothing in your visitors' browsers and send no analytics anywhere — there is no analytics on this site at all. Nothing to disclose in your cookie banner.
- No ads inside the frame. Deliberate: ads may only run on pages their publisher controls, so we do not serve any on yours.
- Small. The clock is about 2 KB of compressed JavaScript, the timer about 5 KB, plus a 5 KB font. With
loading="lazy"in the snippet, a widget below the fold costs your page nothing until it is scrolled into view.
Terms, in one sentence
Use them on as many sites as you like, commercial or not, for free — we just ask that you keep the small credit line the snippet puts under the frame. That link is the only thing we get out of this.
Countdown timer
Start, pause and reset a countdown. Plays a chime when it reaches zero.
<iframe src="https://vclock.eu/embed/timer/?minutes=25"
width="320" height="240" style="border:0"
title="Countdown timer by vclock.eu" loading="lazy"></iframe>
<p style="font-size:12px">Countdown timer by <a href="https://vclock.eu/timer/">vclock.eu</a></p>
Paste this anywhere in your page's HTML. The credit line below the frame is part of the snippet — please keep it.
Live clock
The current time, in any timezone you choose, updating every second.
<iframe src="https://vclock.eu/embed/clock/"
width="320" height="240" style="border:0"
title="Clock by vclock.eu" loading="lazy"></iframe>
<p style="font-size:12px">Clock by <a href="https://vclock.eu/">vclock.eu</a></p>
Paste this anywhere in your page's HTML. The credit line below the frame is part of the snippet — please keep it.
All parameters
The builders above cover the common cases. Every option is a query parameter on the iframe src, so you can also write the URL by hand — join parameters with & inside an HTML attribute. Anything missing, misspelled or out of range falls back to its default rather than breaking the widget.
Countdown timer — /embed/timer/
| Parameter | Values | Default |
|---|---|---|
minutes | 1–1440 | 5 |
presets | 0 hides the quick-duration chips | shown |
theme | dark, light, transparent | visitor's OS preference |
lang | en, de, fr, es, it, nl | visitor's browser language |
Live clock — /embed/clock/
| Parameter | Values | Default |
|---|---|---|
tz | any IANA name, e.g. Europe/Berlin | visitor's own timezone |
format | 12h, 24h | whatever lang implies |
seconds | 0 hides the seconds | shown |
date | 0 hides the date line | shown |
theme | dark, light, transparent | visitor's OS preference |
lang | en, de, fr, es, it, nl | visitor's browser language |
Sizing
The widgets scale to whatever width and height you give the iframe — the type, the buttons and the spacing are all in viewport units, so there is no minimum and nothing to configure. Two things worth knowing: below about 150 px tall the preset chips and the status label drop out rather than being clipped, and the frame never scrolls, so content that does not fit is cut off instead of adding a scrollbar inside your layout.
transparent removes the widget's own background so it sits on your page's colour instead of in a box. Its text stays light, so it is meant for dark backgrounds.
Troubleshooting
The frame is blank. Almost always a Content-Security-Policy on your site: if your pages send a frame-src directive, add https://vclock.eu to it. We permit any site to frame these two URLs, so nothing needs changing on our end.
Nothing happens when the timer finishes. Browsers block sound until the visitor interacts with the page. The chime is unlocked by the first click on Start, so it works from then on.
It says JavaScript is required. The widgets are live and need scripting; there is no static fallback beyond that message and a link here.
Questions
Anything not covered above — including if you want a variant that does not exist yet — use the contact form.