A station clock owes its technology to the particular requirements of operating a railway. On the one hand, railway timetables don’t list any seconds; trains always leave the station on the minute. On the other, all the clocks at a railway station have to run synchronously in order to indicate a reliable time for both passengers and railway personnel anywhere on or around the station premises.

That’s why station clocks are slave minute-stepper clocks which receive an electrical impulse from a central master clock at each full minute, allowing the minute hand to electromechanically advance one minute further.

The second hand is driven by an electrical motor independent of the master clock. It requires only about 58.5 seconds to circle the face once, then the hand pauses briefly at the 60 second position. It starts a new rotation as soon as it receives the next minute impulse from the master clock. This so-called ‘stop to go’ second hand was designed in 1955 by Hans Hilfiker, a Swiss engineer, together with Mobatime, a clock manufacturer.


The design template for most national clocks in Germany is the “Swiss Railway Station Clock” that Hans Hilfiker designed back in 1944 and remains a classic in industrial design to this day. In 2004 the Swiss Post Office dedicated its 85 rappen stamp from its ongoing series “Swiss Design Classics” to Hilfiker’s station clock.

True to legend, in Germany things like these are taken very precisely. Subcommittee 713.5, entitled “Electrical Horological Service Systems and Electrical Clocks”, from the German Electrotechnical Commission regarding the German standards DIN and VDE (DKE) addressed the subject of railway station clock design. It issued a number of German standards pursuant to the topic (DIN 41071, DIN 41090, DIN 41091 and DIN 41092). These industrial norms are comprised of several sections and can only be procured from Deutsches Institut für Normung e.V. and its affiliated publisher, although please note that the documents cost a bundle.

Other countries, other clocks

Even though Hilfiker’s clock is the standard and basis for all railway station clocks that I’m familiar with, each country has ended up developing its own version. Here are 3 examples from the German-speaking region.

By the way, I’m still looking for other national railway station clocks. I would be very glad to receive a high-resolution photo of clocks like that.

Own Station Clock

In this section the clock casing, clock dial, hands and hands axis cover can all be changed, as well as the way the minute and second hands move.


Clock Dial

Hour Hand

Minute hand

Second Hand

Hands Axis Cover

Minute Hand Behavior

Second Hand Behavior

Technical enactment

The station clock presented here was enacted using JavaScript and the <canvas> tag. This HTML element is an integral component of HTML 5 and is already supported by nearly all modern browsers; sadly, Internet Explorer is not one of them. To make the <canvas> tag usable for Internet Explorer users as well, the open-source project explorercanvas at least makes the basic functions available with the help of a small JavaScript library.

The following describes how you can integrate the Station Clock into your HTML pages on a website. All you need to do this is the JavaScript class “StationClock” and, if you want to give consideration to Internet Explorer users, the abovementioned JavaScript library.

Integration into the HTML document

Like any other HTML tag, the <canvas> tag is declared and possesses the 3 attributes id, width and height. Issue an id that makes sense and any appropriate width and height for the element. The clock is centred in the <canvas> tag, its size is adapted to match. If a browser is unable to display the clock, the user is shown the the enclosed text.

<canvas id="clock" width="200" height="200">
  Your browser is unfortunately not supported.

JavaScript code

The JavaScript code below is generated automatically from the settings in the section “Own Station Clock”. That way you click together your own station clock, then simply copy the source code that has been generated.

The first 3 lines are only of interest for Internet Explorer. You integrate the JavaScript library excanvas.js via a conditional comment; other browsers ignore this instruction.

The script assumes that the two JavaScript libraries station-clock.js and excanvas.js are located in the same directory as the HTML page with the <canvas> tag. If this is not the case on your website, then you have to change the two path specifications appropriately.

The script furthermore presumes that you are using the name clock as <canvas> id on the HTML page. If you prefer using another id, then you’ll have to adapt the source code here, too.



The two JavaScript files station-clock.js and excanvas.js have been combined in a ZIP file for downloading along with a sample HTML page:

My work is published under the terms of the Creative Commons 3.0 License. The station clock may be used freely for private and commercial purposes when indication of the author or a link to this website is made.