FreeToGenerate.com

The complete list, and it runs the proof in your own browser.

Where things stand

Leap seconds ever
27
TAI ahead of UTC
37 s
Most recent
December 31, 2016
Years since
Negative ones
0

Atomic time has drifted 37 seconds ahead of the clock on your wall — 10 seconds when modern UTC began in 1972, plus one for each leap second since.

That is already the longest gap in the whole record. The previous longest was exactly seven years, between the end of 1998 and the end of 2005.

Every leap second so far has added a second. Removing one is allowed and has never happened — though the Earth has been spinning fast enough lately that the first negative leap second is now a live possibility.

Your browser cannot represent any of these

This is not a claim about browsers in general — it is running right now, in yours, on the most recent leap second.

Reading your browser…

Two seconds really passed. POSIX time counts every day as exactly 86,400 seconds, so the extra second has nowhere to go — it is not recorded wrongly, it is absent. That is also why the same day looks identical to an ordinary one, and why software that needs real elapsed time uses TAI or a monotonic clock instead.

All 27 leap seconds

DateThe instantTAI − UTC after
June 30, 19721972-06-30T23:59:60Z11 s
December 31, 19721972-12-31T23:59:60Z12 s
December 31, 19731973-12-31T23:59:60Z13 s
December 31, 19741974-12-31T23:59:60Z14 s
December 31, 19751975-12-31T23:59:60Z15 s
December 31, 19761976-12-31T23:59:60Z16 s
December 31, 19771977-12-31T23:59:60Z17 s
December 31, 19781978-12-31T23:59:60Z18 s
December 31, 19791979-12-31T23:59:60Z19 s
June 30, 19811981-06-30T23:59:60Z20 s
June 30, 19821982-06-30T23:59:60Z21 s
June 30, 19831983-06-30T23:59:60Z22 s
June 30, 19851985-06-30T23:59:60Z23 s
December 31, 19871987-12-31T23:59:60Z24 s
December 31, 19891989-12-31T23:59:60Z25 s
December 31, 19901990-12-31T23:59:60Z26 s
June 30, 19921992-06-30T23:59:60Z27 s
June 30, 19931993-06-30T23:59:60Z28 s
June 30, 19941994-06-30T23:59:60Z29 s
December 31, 19951995-12-31T23:59:60Z30 s
June 30, 19971997-06-30T23:59:60Z31 s
December 31, 19981998-12-31T23:59:60Z32 s
December 31, 20052005-12-31T23:59:60Z33 s
December 31, 20082008-12-31T23:59:60Z34 s
June 30, 20122012-06-30T23:59:60Z35 s
June 30, 20152015-06-30T23:59:60Z36 s
December 31, 20162016-12-31T23:59:60Z37 s

Every one has fallen at the end of 30 June or 31 December. Those are the preferred dates in the standard, and no other has ever been used.

By decade

DecadeCount
1970s9
1980s6
1990s7
2000s2
2010s3

They are being abolished

In 2022 the General Conference on Weights and Measures resolved that the maximum difference between UT1 and UTC will be increased in, or before, 2035 — which ends the leap second, since leap seconds exist only to keep that difference under 0.9 seconds. What the resolution does not do is say what the new maximum will be. It asks the CIPM to propose one and to draft a resolution for agreement at the 28th meeting of the CGPM in 2026. So the ending is settled and the replacement is not.

Data from IANA's leap-seconds.list, shipped inside the tz database, cross-checked against the IERS Earth Orientation Centre's own table. The two are produced by different institutions in different formats and agree on every row.

Also available in: Español · Português · Français · العربية

Leap Seconds: The Complete List

Every leap second ever inserted, why they are ending, and why no JavaScript date can hold one.

What is a leap second?

A leap second is an extra second added to the world's clocks to keep them in step with the Earth's rotation. Atomic clocks keep a perfectly steady second; the planet does not spin at a perfectly steady rate. When the two drift more than about 0.9 seconds apart, a second is inserted at the end of a day, and that day's final minute has 61 seconds instead of 60 — 23:59:59, then 23:59:60, then midnight.

There have been 27 of them, all since modern UTC began in 1972, and they are all listed above. The running total matters as much as the individual dates: atomic time is now 37 seconds ahead of the clock on your wall, being the 10 seconds UTC started behind plus one for each leap second since.

Every one so far has added a second. Removing one is permitted by the same rules and has never been needed — although the Earth has been spinning slightly fast in recent years, which makes the first ever negative leap second a genuine possibility rather than a footnote.

How to read this page

  1. Check the running offset. TAI minus UTC is the number most systems actually need. It is 37 seconds and has been since the start of 2017.
  2. Look at the gap. The page computes how long it has been since the last one, live. That figure is now the longest gap in the entire record.
  3. Read the demonstration. Underneath, your own browser is asked to parse a real leap second. Watching it fail is the point — see below.

Why your computer cannot represent one

POSIX time, which is what almost every computer counts in, defines every day as exactly 86,400 seconds. There is no room in that definition for a day with 86,401. So the leap second is not stored wrongly — it has nowhere to be stored at all.

The consequences are visible on this page and are worth seeing rather than being told. Asking JavaScript to parse 2016-12-31T23:59:60Z returns NaN: the instant is not merely unusual, it is unrepresentable. And measuring from 23:59:59 to the following midnight gives one second, though two really elapsed. A leap day and an ordinary day are indistinguishable to the clock.

That is also the answer to why the same string is legal in some standards and not others. RFC 3339's grammar explicitly permits a seconds value of 60, precisely so a timestamp can record a leap second; the format JavaScript defines stops at 59. A timestamp that is valid on the wire can be unparseable by the language reading it, which is a real source of bugs in log processing.

Software that genuinely needs elapsed time — measuring a duration, ordering events, timing a network round trip — uses a monotonic clock or TAI rather than UTC, for exactly this reason. If you have ever seen a duration come out one second short across New Year, this is why.

They are being abolished, and the replacement is not decided

In November 2022 the General Conference on Weights and Measures passed Resolution 4, which resolved that the maximum permitted difference between UT1 and UTC will be increased in, or before, 2035. Increasing that tolerance is what ends the leap second: they exist only to hold the difference under 0.9 seconds, and a larger tolerance means decades pass before any correction is needed.

What the resolution notably does not do is say what the new maximum will be. It asks the CIPM to propose a value and to draft a resolution for agreement at the 28th meeting of the CGPM, in 2026. So the decision to stop is settled and the thing that replaces it is still open, which is an unusual state for a reference page to describe and the reason this one says so plainly rather than rounding it to “leap seconds end in 2035”.

The data had already been heading that way before any vote. There were nine leap seconds in the 1970s, six in the 1980s, seven in the 1990s, two in the 2000s, three in the 2010s, and none at all since the end of 2016. Whether the Earth cooperates until 2035 is not something anyone can promise, which is why the list above is generated from the authoritative tables rather than typed out.

Where the data comes from

Two sources, cross-checked against each other. IANA publishes leap-seconds.list, which ships inside the tz database that nearly every operating system uses, keyed on NTP timestamps. The IERS Earth Orientation Centre at the Paris Observatory publishes its own table in a completely different format, keyed on Modified Julian Date. They are produced by different institutions and agree on every row, which is worth more than either alone.

One trap is worth mentioning because it is easy to fall into. Neither file lists the leap seconds directly — each row records the moment the offset changed, which is the midnight after the leap second. Reading those dates as the leap second dates puts every entry in the wrong month: the row dated 1 July 1972 is the leap second at the end of 30 June. That is also why 28 rows describe 27 leap seconds, since the first row is the 1972 starting offset rather than an insertion.

The IANA file carries its own expiry date, which is the maintainers telling you when to stop trusting a stale copy — a good habit that most published tables lack.

Why is it free?

The whole list is a couple of kilobytes shipped with the page, and the demonstration runs in your browser. Nothing is uploaded, nothing is logged, and there is no account to make.

No sign-up, no limits, and no watermark on anything you copy out.