Ground truth · live from NSIDC, recomputed in your browser
The Record Is Five Days Wide
Every story about Arctic sea ice quotes the same number: 3.39 million square kilometres, 17 September 2012, the lowest the Arctic has ever been. That number is an average of five days. The lowest day actually recorded is a different number on a different date, and NSIDC's own public API will hand you either one, depending on a single field in the query.
The Sea Ice Index is the record. It has run since 26 October 1978 and it is where the minimum you have read about comes from. Its published daily graph, and the sentence in every press release, use a five-day trailing mean: today's value is the average of today and the four days before it. NSIDC says so plainly in the user guide, and says why:
The daily extent series is smoothed using a 5-day trailing mean. The extent value for a given day is averaged with the extent value from the previous four days, and this average value is plotted. NSIDC, Sea Ice Index (G02135) Version 4 user guide
So the famous minimum is not a day. It is a window five days wide, dragged across the melt season until it finds its lowest resting place. Below is NSIDC's request for the 2012 season, exactly as this page issues it. One field is a button.
The request, with one field you can change
smoothing_window, the field this page is about
published in prose
This season's minimum, at this setting
not yet
not yet
The lowest single day actually observed
not yet
not yet
daily, as observed NSIDC's smoothed series interpolated day
not yet
Before it tells you anything new, it reproduces something published
A page that recomputes a moving number can say anything, because by the time you check it, it has moved. So this page earns the right to report tonight's figure by first reproducing figures NSIDC printed on a fixed date, using the same code path, from the primitive daily series alone. The trailing mean below is computed in your browser out of /data/{year}, which is the unsmoothed series. NSIDC's own smoothed endpoint is not used to produce our column.
Four published quantities, three kinds, recomputed from primitives
| published by NSIDC | their figure | ours, from the dailies | match |
|---|
The two minima are the ones that matter, because they are the ones the world repeats. NSIDC's post of 17 September 2025 says the 2025 minimum was 4.60 million square kilometers, reached on 10 September 2025, and gives the satellite-era record as 3.39 million square kilometers on 17 September 2012. Both are five-day means, and both fall out of our own arithmetic on the raw dailies, on the printed digits and the printed dates.
What this page does not do, stated plainly. An earlier version of this instrument reproduced these figures from the 25 km satellite concentration grids, one level below NSIDC's own arithmetic. Those grids sit on a host whose robots.txt reads Disallow: /, so we do not fetch them, and no number here descends below the daily series NSIDC publishes. This page checks NSIDC's derived numbers against NSIDC's primitive numbers. That is a real check and it is one level shallower than the one we wanted, and you should hold it to exactly that.
A rounding difference, then. Who cares.
Here is who cares. Rank every complete year in the satellite record by its annual minimum, once on the series NSIDC publishes as data and once on the series NSIDC quotes in prose. The two orderings are not the same ordering.
All-time rank, two settings of one parameter
not yet
| year | window 0 | date | rank | window 5 | date | rank | Δ |
|---|
The table above is a snapshot committed to this repository, so it loads instantly and so a returning reader can catch it going stale. It is not asking to be trusted:
The reason is not subtle once you see it, and NSIDC states it in the same user guide, two paragraphs after describing the smoothing:
the average value on the last day will be higher than the true daily value when ice is decreasing (during the melt season) and lower than the true daily value when ice is increasing (during freeze-up). The true, unaveraged extent values are available in the daily extent data files. NSIDC, Sea Ice Index (G02135) Version 4 user guide
A trailing window looking backwards during a melt is always carrying four days of ice that has already gone. So the smoothed minimum is higher than the true one, in every single one of the 47 years, without exception. That is not an error. It is what a trailing mean is for. But a year whose melt ended in a sharp, short trough loses more to the smoothing than a year that bottomed out slowly, and when several years sit within a few hundredths of each other, that difference is the whole ranking.
The date is a different story, and it is worth being exact about, because the tidy version of this sentence is wrong. The smoothed minimum usually arrives later, on average 1.74 days later. It does not always: in three of the 47 years it arrives earlier instead. Separately, the widest disagreement of all is 1997, where the smoothed minimum lands 20 days later than the unsmoothed one. That is the ordinary direction taken to an extreme, not a fourth exception. The cause of both is visible in the chart above if you pick those seasons: a melt with two nearly equal troughs. The single lowest day belongs to one of them, and the five-day mean can settle on the other. The years are listed here rather than rounded off, because a rule with three exceptions is a more useful thing to know than a rule.
How big is a flip, though?
"Sixteen of forty-seven change rank" is a count, and a count with no magnitude beside it is the easiest way to make a small thing sound large. So here is the magnitude. Those sixteen moving years are produced by a handful of pairs of years swapping over, and each swap rests on the distance between that pair on the unsmoothed series. Every one of those distances is printed below, none of them rounded up.
Every pair that swaps, and the gap it swaps across
The smoothing is not decoration. It was built to cover a real hole.
It would be easy, and wrong, to read all this as NSIDC dressing up its numbers. The opposite is true, and the evidence is in the data itself. Here is how many days of the 92 between 1 August and 31 October carry an observation, year by year.
Days observed, 1 August to 31 October
The early record is not worse ice data. It is a different satellite duty cycle: SMMR, the first instrument in the chain, sampled every other day. A daily series with every second day missing is not a daily series, and a five-day trailing mean over a gap-filled version of it is a perfectly reasonable thing to publish. The smoothing was built for that hole, the hole closed in the late 1980s, and the smoothing stayed. That is the whole story, and it is a normal one.
The other field in the same URL
One path segment along, extent becomes area. Extent counts every grid cell that is at least 15 per cent ice, and counts the whole cell. Area counts only the ice. On the lowest day the Arctic has ever had, the gap between them is this:
Extent against area, on the record day
Neither is the wrong number. Extent is the one with the long, consistent record and the one every headline uses. But when you read that the Arctic fell to 3.34 million square kilometres, roughly a third of what was counted was open water inside the ice edge. Not quite all of the gap is open water: 0.029 of it is the circle at the pole the sensor could not see, which extent assumes is ice and area leaves out, and the figure in the panel above has that subtracted. It survives the subtraction and stays about a third. NSIDC's user guide is direct about the 15 per cent cutoff too: values below it "are too uncertain to use". We have no instrument here that could move that cutoff and show you the consequence, because the concentration grids it would need are on a host we do not fetch. It is a choice, it is theirs, and this page can only tell you it exists.
Now tonight's number, which is why this page is worth reloading
The current season, as of the newest row NSIDC has served
Checking the newest row inside the data against the clock.
HTTP 200 is not freshness. A server can answer, cheerfully, with well-formed JSON whose newest row is two years old, and this wave has already caught two feeds doing exactly that. So the check above is not on the status code and not on the Last-Modified header. It is on the newest date inside the data, and it is not decorative: past six days of lag this page stops printing a current-season number at all rather than printing one with a caveat under it. As it happens there is no header here to disagree with. This service sends no Last-Modified on any request anyone has made of it, which is also why the "has it moved since you were here?" line above is answered from the newest row in the data rather than from the source's clock. That is the signal this page actually has, so it is the one it uses.
A claim you can score against us, in about five weeks
Filed 2026-08-15, settles late September 2026
open
This is a climatological extrapolation and nothing more. No atmosphere, no ice motion, no model: just the ratio between the mid-August value and the eventual minimum in each of the last fifteen years, and the spread of those ratios. Its stated hazard is that the ratio was fitted mostly on SSMIS-era years and is being applied to an AMSR2-era August, and 2025, the only complete AMSR2 year, sat near the top of that distribution. If it misses, the interval and the method are on the page, so the miss is informative.
Where this instrument stops saying anything
The window buttons go past 5. They should, because the place this page's comparison dies is worth walking to. Push the window to three weeks and every year's minimum gets dragged up toward its own seasonal mean, until what you are reading is not a melt season at all: it is a low-pass filter, and you are watching the filter.
A correction, kept in place of what it replaced. An earlier version of this section finished that thought with a mechanism: that as the window widens the differences between years shrink faster than the ranking can respond, so the ordering settles down and starts to look like agreement. It reads well, nothing on this page measured it, and it is false. The measurement is the chart below, and it says the ordering does the opposite of settling. The sentence is gone rather than softened, because it was not too strong, it was wrong.
The ranking as the window widens, which is the part that was asserted
measuring
And the minimum itself, for the season you have selected
Press a window button above to add it here. Each point is 2012's minimum at that setting.
Two settings on that axis carry published meaning and the rest are illustration. 0 is the series NSIDC publishes as data. 5 is the series NSIDC quotes in prose. Everything else is a number no one has ever cited, and the page labels it that way while you are looking at it, rather than in a footnote afterwards. There is a gap at 1: that value returns HTTP 500 from the service. It is a bug in their API, it is not meaningful, and we are not going to dress it up as one.
The check, and everything it does not cover
Recomputed live in this browser, from the same module the verifier imports. Run it yourself: node research/five-days-wide/verify-five-days-wide.mjs
| what was checked | result |
|---|
The sentinel, run in front of you rather than described. When you ask NSIDC's derived endpoint for smoothing_window=0, days with no observation come back as -1.0 rather than being omitted. A naive minimum over 1980 finds that sentinel, reports the lowest Arctic extent in history as -1.000, and, applied across the record, produces the confident and entirely false result that all 47 years change rank. The scout who specified this page walked into it. Both numbers below come from the same fetched object:
not yet
Free choices and uncertainties, named.
- The 15 per cent concentration cutoff is NSIDC's choice, not ours, and we cannot move it. Doing so needs the daily concentration grids, which live on a host that disallows all robots. This page reproduces NSIDC's arithmetic from NSIDC's own primitives and goes no deeper than that.
- The sensor changed on 1 January 2025. The Sea Ice Index switched input from NSIDC-0051 (SMMR, SSM/I and SSMIS, NASA Team) to NSIDC-0803 (AMSR2), announced 31 July 2025, because the DMSP record ended. The API does not expose which product a value came from, so this page cannot detect a future switch from the data. The break date is a committed constant and a human has to revisit it.
- Our trailing mean and NSIDC's disagree on some days by about 0.0008, and we cannot tell you why. This page used to say the cause was NSIDC rounding each daily value to three decimals before averaging. That was an assumption, it was never measured, and it is wrong: every value the API publishes already carries at most three decimals, so rounding them is arithmetically a no-op. The measurement is below, and it changes zero days in every year we can test. The disagreement also runs in both directions, seventeen days high and nineteen days low in 2012, which is not what a missing rounding step looks like. The likeliest remaining explanation is that NSIDC averages inputs carrying more precision than the API hands out, and we cannot see those inputs, so this page reports the disagreement and stops there rather than explaining it with something that sounds right.
not yet
- Interpolation, and where it does not reproduce NSIDC. We fill gaps linearly between the bracketing observations. That is not NSIDC's rule. Their user guide gives a one-sided one: the first missing day is the average of the previous four, a second is the average of the three before the gap, a third is the average of the two before it, and past three missing days "the code will not compute an average extent". Ours uses the day after the gap, so in the every-other-day SMMR years it cannot be their series, and the table below is how far apart the two get. Consequently no figure this page reports comes from our trailing mean in a year with gaps: the anchors, the current season and the forward-claim fit are all gap-free, and the 47-year ranking reads NSIDC's own smoothed endpoint rather than recomputing it.
not yet
- Revision. A date already published can be republished with a different value, because gaps are filled by interpolation as neighbours arrive. The ledger records every value it has seen for every date, so a silent revision shows up as a diff rather than being absorbed.
- NSIDC is not wrong and this page does not say it is. Their 17 September 2025 post says 2025 "shares the tenth lowest spot" with 2008 and 2010. Those three years sit within 0.03 million square kilometres of each other, which is inside the width of this entire argument. Two published series, and a post that grouped three effectively tied years, is the honest description.
- Their caveat, carried: "The extent values are useful in a temporal series, but caution should be used citing the numbers apart from the time series or comparing with values derived from other studies." And, from the same page of the same guide, the sentence that bounds everything above: "The extent values have uncertain significance when taken individually. For example, the 15 percent concentration cutoff for extent is somewhat arbitrary. Using a 20 percent or 30 percent cutoff gives different numbers, although similar trends, for extent." Every rank flip this page reports is smaller than that caveat, which is why the gaps are printed beside the count.
- The service is undocumented in the sense that matters. It publishes an OpenAPI 3.0.2 contract and calls itself version 2.0.2, but carries no stability guarantee. If its shape changes, this page shows the committed snapshot with the snapshot's date on it and says the live feed failed. It does not render stale numbers as live ones.
- Sea Ice Today's services were reduced from 15 October 2025 for non-renewed funding, which means no new monthly or mid-month analysis posts and a Basic Level of Service for G02135. The data has not stopped and this API served fresh values this morning. The 2026 minimum is likely to arrive with less narration than the 2025 one did. That is all that says. NSIDC has no involvement in this page and does not endorse it.
The refusal paths, which are asserted too. A page that only tests the half that was never going to fail has tested nothing. Current state of each:
not yet
The ledger
Every verifier run appends one line to research/five-days-wide/record.jsonl, committed. It stores the newest data date, the running minimum on both series, our five-day mean beside NSIDC's with the signed difference, any date whose value changed since the previous run, and the live status of the forward claim. The first line and the newest line, side by side:
First run against latest run
| field | first line | latest line |
|---|
Where all of this came from, and under what terms
Data. NOAA/NSIDC Sea Ice Index, version 4, reached through https://nsidc.org/api/seaiceservice, which is the service behind NSIDC's own Charctic graph and publishes an OpenAPI 3.0.2 contract at /openapi.json. Data citation, which is the one condition attached to the data set:
Fetterer, F., Knowles, K., Meier, W. N., Savoie, M., Windnagel, A. K. and Stafford, T. (2025). Sea Ice Index. (G02135, Version 4). Boulder, Colorado USA. National Snow and Ice Data Center. https://doi.org/10.7265/a98x-0f50. Credit: Sea Ice Index, National Snow and Ice Data Center.
Permission. nsidc.org/robots.txt was read at 2026-08-15T00:26:07Z, before any fetch code for this page was written. It sets Crawl-delay: 5 and disallows faceted-search querystrings, /core/, /profiles/, /sites/nsidc.org/files/, /admin/, /search/, /media/oembed, and four specific account paths (/user/register, /user/password, /user/login, /user/logout) rather than /user/ as a whole, which is what this page said until it was checked against the file again. It does not disallow /api/.
The crawl delay, honestly. The build-time harvest honours it exactly: one request every five seconds, single threaded. The live page does not, and saying that an hourly cache honours it would be a sleight of hand, because a cache TTL bounds how OFTEN we ask and a crawl delay bounds how FAST. What the hour-long edge cache does is real and worth stating in its own terms: every distinct query costs NSIDC at most one request per hour no matter how many people load this page. Five requests go out on load. The 47-year sweep behind the button is 94 requests, paced at one year every 350 milliseconds rather than fired at once, and it is cold only for the first reader to press it in a given hour. That is a smaller footprint than a single person browsing the site, and it is still faster than five seconds apart, so we are telling you rather than dressing it up.
Where we did not go. The Sea Ice Index file server, noaadata.apps.nsidc.org, carries the daily concentration grids that would let this page move the 15 per cent cutoff itself. Its robots.txt, read at 2026-08-14T23:35:40Z, is User-agent: * / Disallow: /. So we did not fetch it, and the layer that needed it is not in this page. A different institution's grids (Bremen's AMSR2 ASI product) are reachable, and were rejected: a different algorithm on a different grid cannot reproduce an NSIDC figure, so it would have bought back an interaction at the cost of the anchor.
This site never sends you to them. Your browser makes no request to nsidc.org. It asks this site's own worker, which holds a fixed allowlist and caches each distinct query for an hour.
Sources for the quotations. G02135 v4 user guide; NSIDC, 17 September 2025; version 4 release announcement; Sea Ice Today services reduced; G02135 v4 landing page.