Category guide · 1 apps

Self-hosted world clock guide

Run your own world clock and timezone converter for exact time, UTC, city times, and developer timestamps.

Self-hosted world clock and timezone tools guide

Use case

Most people check the time on a website for one of three reasons. They want to know whether their own clock is right, they want to know what time it is somewhere else, or they need to turn a time in one zone into a time in another before they send a meeting invite. Sites like time.is and timeanddate.com do all three well, which is why so many people keep one of them open in a pinned tab.

A self-hosted world clock does the same job from a server you control. The reasons for running one are usually modest. Some people want the page without ads. Some teams want a clock on an internal domain that shows exactly the cities where their colleagues live. Developers often want Unix timestamps and ISO 8601 strings next to the time, without opening a terminal or a search engine. And some offices want a full-screen clock on a wall display that never asks for cookie consent.

This is a small category. A world clock holds no personal data and needs no database, so the stakes are low and the setup is quick. That also means the differences between tools come down to the details: how accurate the displayed time is, how the timezone converter handles daylight saving, and what else the page does.

Options worth comparing

Datetime.app is the app listed in this directory today. It shows local time, UTC, and a list of cities you choose, with an hour strip for finding overlap between zones. A developer panel shows the IANA zone name, the GMT offset, a daylight saving flag, the Unix timestamp, and ISO 8601 output. The same site includes a year progress bar, an age calculator, holiday lists by country, and pages for individual cities and timezones. It runs as one Docker container.

If you are looking for a time.is alternative, this is the closest match among open-source projects, since it covers the exact time check, the clock offset, and the city list in one page. Beyond that, the options get narrower. Plenty of dashboard and start page apps include a clock widget, and some can show a few extra zones, which is enough if all you want is the time in two or three cities. Terminal users can get far with the date command and the TZ variable. Neither of those gives you a shareable page with a converter, though.

Deployment notes

The first thing to understand about any self-hosted world clock is where the time comes from. In the browser, the time you see is your device clock. The page can format it, convert it, and label it with zones, but it cannot make it more accurate. What a good clock page adds is a check: it asks a trusted source for the current time and shows how far your device is off. Datetime.app does this by calling the public WorldTimeAPI from the browser every ten seconds.

That design has a practical consequence. On a network with no internet access, the clock still works, but the accuracy check stops updating. If that matters to you, keep the machines that display the clock on NTP, and treat the page as a display, not a time source.

The second thing is timezone data. Rules for daylight saving and offsets change several times a year somewhere in the world, and those changes reach applications through the IANA timezone database bundled with the runtime and with libraries. A clock that is never updated will eventually show the wrong offset for some city. Updating a stateless container is cheap, so pull new images every few months even when nothing looks wrong.

Resource needs are tiny. A Next.js app serving a clock page fits on the smallest VPS or a Raspberry Pi, and one instance can serve a whole company.

Data and recovery

There is very little to protect. Datetime.app keeps no server-side data at all. The cities a person adds and their 12 or 24 hour preference live in their browser’s local storage, so each viewer has their own setup, and clearing site data resets it.

Recovery is therefore a matter of redeploying the container. Keep the compose file, and any reverse proxy configuration, in a Git repository with your other infrastructure. If you run a shared wall display, write down the cities it shows, since that list lives in the display browser and nowhere else.

Security and access

A clock page is about as low-risk as web apps get, but a few points still apply. Serve it over HTTPS, because some browser features, including geolocation for sunrise and sunset times, only work on secure pages. Know which outside services the page talks to: in Datetime.app’s case that is WorldTimeAPI for the accuracy check and Open-Meteo for sunrise and sunset. If your policy forbids third-party calls from internal pages, check whether you can live without those two features.

Analytics and the advertising tag in Datetime.app only load when their environment variables are set, and the published image does not set them. If you build your own image, leave them empty unless you want tracking on your instance.

How to choose

Start with the question people actually ask. If it is mostly “what time is it for Priya in Bangalore”, a clock with saved cities and an hour strip is what you want. If it is “is my laptop clock right”, you want a page that shows the offset against a reference. If it is “what is 3 pm Berlin in Tokyo time”, you want a timezone converter that lets you type a time and see it everywhere at once.

Next, think about who opens it. A personal tab can be anything. A page for a distributed team should load fast, work on phones, and support the languages your team reads. A wall display needs a large, readable full-screen mode and should keep running for weeks without a reload.

Then decide how much else you want on the page. Some people like a single clock and nothing more. Others are glad to have holidays, a year progress bar, and a timestamp converter in the same place, because it saves opening three other sites.

Shortlist

Choose Datetime.app when you want the closest self-hosted world clock to time.is, with a developer panel and a converter, and you are fine with the browser making a call to WorldTimeAPI. Use a dashboard app’s clock widget when two or three extra zones on your start page are enough. Use the date command when you live in a terminal and never need to share the result. This self-hosted world clock guide will add more tools as the directory grows.

App notes

Datetime.app

Datetime.app is a Next.js app released under the MIT license. It shows the exact local time with an accuracy indicator, UTC, and the time in cities you add, plus Unix, UTC string, and ISO 8601 output for developers. Extra pages cover holidays, IANA timezones, a year progress bar, and an age calculator. It runs from one image on GitHub Container Registry with no database and no required configuration. The main limit is that the accuracy check and sunrise times depend on public APIs called from the browser.

Evaluation worksheet

Before you deploy, list the zones your team actually uses. Most teams have a short list, maybe five or six cities, and a clock that makes those easy to see is worth more than one with every city on Earth.

Check daylight saving handling with real dates. Pick a week in March and a week in October when Europe and North America change on different days, and confirm that the timezone converter gives the right answer for a meeting during that gap. This is where hand-rolled clocks most often fail.

Open the page on a phone and on the oldest laptop in the office. A clock is a page people glance at, so it should be readable at a glance and should not make the fan spin.

Block outside requests in your browser’s developer tools and reload. See what still works. That tells you what the page will do on a locked-down network.

Finally, leave it open on a display for a few days. A self-hosted world clock that drifts, freezes, or needs a manual refresh is not doing its one job.

Maintenance calendar

Every few months, pull the latest image and restart. That brings in timezone rule changes and any fixes. There is no data to migrate, so this takes a minute.

Twice a year, around the daylight saving changes in March and October, glance at the city list and confirm the offsets look right. If a country changes its rules with short notice, which happens, an update may be needed sooner.

Once a year, check that the outside services the page relies on still respond, and review whether the people using the clock still need the same cities.

People land on this self-hosted world clock guide while looking for a time.is alternative, a timezone converter they can run on their own domain, or a clean full-screen clock for a wall display. If that is you, start with the deployment notes above, since knowing where the time comes from matters more than how the page looks.

Apps in this category

Self-hosted world clock guide

1 curated apps. Sorted alphabetically.