Java End-of-Life Dates by Vendor: Why "When Does Java 17 Die?" Has Eight Different Answers
There is no such thing as “the” Java end-of-life date. Java is one specification shipped by many vendors, and each vendor retires each version on its own calendar. Java 17 — still one of the most-deployed versions in production — is the perfect specimen: Oracle's free OpenJDK builds abandoned it in March 2022, Oracle JDK 17 Premier Support ends September 30, 2026, SapMachine 17 ends September 1, 2026, Eclipse Temurin carries it free to October 31, 2027, and Amazon Corretto to October 31, 2029. Same Java, seven-year spread — and which date applies to you depends on a single line of java -version output.
September 2026 is also a double date on the Oracle side: the same month Oracle JDK 17 leaves Premier Support, Oracle JDK 21's free-for-everyone (NFTC) updates end, one year after Java 25 shipped. This page is the reference for all of it: every LTS version (8, 11, 17, 21, 25) across eight distributions, the Oracle licensing layer that decides whether a date costs you money, how to identify the vendor you are actually running, and what to do when your date arrives. Per-version detail lives on the product pages: Oracle JDK, Eclipse Temurin, Amazon Corretto, Azul Zulu, Red Hat build of OpenJDK, Microsoft Build of OpenJDK, IBM Semeru, OpenJDK builds from Oracle.
java -version names the vendor), look up that vendor's date in the tables below — and if the answer is “Oracle JDK 17” or “Oracle JDK 21 without a subscription,” you have a decision to make before September 30, 2026.Key Dates at a Glance
- SapMachine 17: end of support 2026-09-01
- Oracle JDK 17: Premier Support ends 2026-09-30; Extended Support (fee waived) ends 2029-09-30
- Oracle JDK 21: free NFTC updates end September 2026; Premier Support ends 2028-09-30
- Red Hat build of OpenJDK 8: end of support 2026-11-30
- Microsoft Build of OpenJDK 17: end of support 2027-09-30
- Eclipse Temurin 17: end of support 2027-10-31
- Eclipse Temurin 11: end of support 2027-10-31
- Red Hat build of OpenJDK 17: end of support 2027-12-31
- Azul Zulu 17: standard support ends 2029-09-30
- Amazon Corretto 17: end of support 2029-10-31
- Oracle JDK 8: Extended Support ends 2030-12-31
- Eclipse Temurin 8: end of support 2030-12-31
- Oracle JDK 25: Premier Support ends 2030-09-30
- Oracle JDK 11: Extended Support ends 2032-01-31
Java EOL Risk Scores — Same Bits, Different Numbers
An end-of-life date on its own does not tell you how urgent a version is. We publish an EOL Risk Score (0–100) for every tracked version, combining four factors: how long past — or how close to — end of life it is, the attack surface of the software class, whether CISA lists the product in its Known Exploited Vulnerabilities catalog, and whether commercial extended support exists. Because Java's lifecycle is per vendor, so is the score — and the comparison is instructive.
| Distribution / version | EOL Risk Score | What drives it |
|---|---|---|
| Oracle JDK 8 | 70 | Premier Support ended March 31, 2022 (recency factor high); Oracle Java SE is named in CISA's KEV catalog; Extended Support to December 2030 exists. |
| Oracle JDK 11 | 70 | Premier Support ended September 30, 2023; same KEV exposure; Extended Support to January 2032. |
| Oracle JDK 17 | 45 | Premier Support ends September 30, 2026; the recency factor climbs monthly toward that date. |
| Oracle JDK 21 | 30 | Premier Support to September 30, 2028; the KEV-catalog baseline for an Oracle runtime. |
| Oracle JDK 25 | 30 | Premier Support to September 30, 2030; same baseline. |
| Eclipse Temurin 17 | 10 | Free support to October 31, 2027; not separately named in the KEV catalog. |
| Amazon Corretto 17 | 10 | Free support to October 31, 2029. |
| Red Hat build of OpenJDK 8 | 25 | Support ends November 30, 2026; the recency factor is rising toward it. |
Read carefully, the table says something useful: Java 17 from Oracle scores 45, Java 17 from Temurin scores 10, and the class files are the same. The score follows the lifecycle and the catalog naming of the distribution you run, not the bytecode — which is exactly why the vendor line in java -version is the fact that matters. Scores update automatically at every site build as dates pass and the KEV catalog changes; the methodology is on the EOL Risk Score page.
Java 17 LTS — Support End Dates by Vendor
| Vendor / distribution | Standard support ends | Extended support ends | Status |
|---|---|---|---|
| Oracle JDK Paid (Premier/Extended) | Sep 30, 2026 | Sep 30, 2029 | Active |
| Oracle OpenJDK builds Free (6-month window) | Mar 22, 2022 | — | Ended |
| Eclipse Temurin Free | Oct 31, 2027 | — | Active |
| Amazon Corretto Free | Oct 31, 2029 | — | Active |
| Azul Zulu Free base / paid extended | Sep 30, 2029 | Sep 30, 2031 | Active |
| Red Hat OpenJDK With RHEL subscription | Dec 31, 2027 | — | Active |
| Microsoft OpenJDK Free | Sep 30, 2027 | — | Active |
| IBM Semeru Free | Oct 31, 2027 | — | Active |
The September 30 decision, spelled out. Oracle JDK 17 leaves Premier Support and enters Extended Support on September 30, 2026 — and Oracle's roadmap waives the Extended Support fee for Java SE 17 from October 2026 through September 2029, so subscribers keep receiving updates at no additional charge for three more years. That makes the date far less dramatic than it sounds for paying customers. It changes nothing for non-paying users either, because the free (NFTC) update window for Oracle JDK 17 closed in September 2024: every Oracle JDK 17 update since October 15, 2024 has been under the OTN license, free only for personal and development use. If you run Oracle JDK 17 commercially without a Java SE Subscription, you have been out of free updates for two years already. The three exits: pay — a Java SE Universal Subscription; switch — a recompile-free swap to Temurin (free to October 2027), Corretto (free to October 2029) or Zulu (free to September 2029), since all ship the same OpenJDK core; or upgrade — Java 21 or 25 resets the clock. The full anatomy of the date is in Java 17's September 30 deadline is Oracle's, not Java's; the licensing side is in the Oracle Java licensing trap.
Java 8 — The Version That Will Not Die
| Vendor / distribution | Standard support ends | Extended support ends | Status |
|---|---|---|---|
| Oracle JDK Paid (Premier/Extended) | Mar 31, 2022 | Dec 31, 2030 | Active |
| Oracle OpenJDK builds | Does not offer Java 8 | ||
| Eclipse Temurin Free | Dec 31, 2030 | — | Active |
| Amazon Corretto Free | Dec 31, 2030 | — | Active |
| Azul Zulu Free base / paid extended | Dec 31, 2030 | Dec 31, 2032 | Active |
| Red Hat OpenJDK With RHEL subscription | Nov 30, 2026 | — | Active |
| Microsoft OpenJDK | Does not offer Java 8 | ||
| IBM Semeru Free | Dec 31, 2030 | — | Active |
Java 8 turned twelve in March 2026 and will be commercially supported into the 2030s — Oracle Extended to December 31, 2030 (uplift fee waived), Azul's extended tier to December 2032, and Temurin, Corretto and IBM free to December 31, 2030. The date that matters soonest is Red Hat's: OpenJDK 8 support inside RHEL ends November 30, 2026. Every RHEL estate still compiling against Red Hat's Java 8 packages needs a vendor switch or an upgrade path before December; BellSoft's standard Liberica 8 support ends the same day.
Java 11 LTS — Support End Dates by Vendor
| Vendor / distribution | Standard support ends | Extended support ends | Status |
|---|---|---|---|
| Oracle JDK Paid (Premier/Extended) | Sep 30, 2023 | Jan 31, 2032 | Active |
| Oracle OpenJDK builds Free (6-month window) | Mar 19, 2019 | — | Ended |
| Eclipse Temurin Free | Oct 31, 2027 | — | Active |
| Amazon Corretto Free | Jan 31, 2032 | — | Active |
| Azul Zulu Free base / paid extended | Jan 31, 2032 | Jan 31, 2034 | Active |
| Red Hat OpenJDK With RHEL subscription | Oct 31, 2024 | — | Ended |
| Microsoft OpenJDK Free | Sep 30, 2027 | — | Active |
| IBM Semeru Free | Oct 31, 2027 | — | Active |
Note the trap pattern: Red Hat retired its Java 11 build on October 31, 2024 while Temurin and IBM run to October 2027 and Corretto/Zulu to January 2032 — so “Java 11 is EOL” and “Java 11 is supported for six more years” are both true statements, about different binaries. Oracle's Extended Support for JDK 11 runs to January 31, 2032 with the uplift fee waived.
Java 21 LTS — Support End Dates by Vendor
| Vendor / distribution | Standard support ends | Extended support ends | Status |
|---|---|---|---|
| Oracle JDK Paid (Premier/Extended) | Sep 30, 2028 | Sep 30, 2031 | Active |
| Oracle OpenJDK builds Free (6-month window) | Mar 19, 2024 | — | Ended |
| Eclipse Temurin Free | Dec 31, 2029 | — | Active |
| Amazon Corretto Free | Oct 31, 2030 | — | Active |
| Azul Zulu Free base / paid extended | Sep 30, 2031 | Sep 30, 2033 | Active |
| Red Hat OpenJDK With RHEL subscription | Dec 31, 2029 | — | Active |
| Microsoft OpenJDK Free | Sep 30, 2028 | — | Active |
| IBM Semeru Free | Dec 31, 2029 | — | Active |
Java 21 has a licensing date the table cannot show: Oracle JDK 21 has been free for all users — commercial included — under the No-Fee Terms and Conditions since September 2023, and Oracle's roadmap states that JDK 21 updates released after September 2026 move to the OTN license, free only for personal and development use. That is the “one year after the next LTS” rule doing what it did to JDK 17 in 2024. Commercial users of Oracle JDK 21 who want to keep updating for free must move to Oracle JDK 25 or switch to another vendor's Java 21 build; the support dates above for subscribers are unaffected.
Java 25 LTS — Support End Dates by Vendor
| Vendor / distribution | Standard support ends | Extended support ends | Status |
|---|---|---|---|
| Oracle JDK Paid (Premier/Extended) | Sep 30, 2030 | Sep 30, 2033 | Active |
| Oracle OpenJDK builds Free (6-month window) | Mar 17, 2026 | — | Ended |
| Eclipse Temurin Free | Sep 30, 2031 | — | Active |
| Amazon Corretto Free | Oct 31, 2032 | — | Active |
| Azul Zulu Free base / paid extended | Sep 30, 2033 | Sep 30, 2035 | Active |
| Red Hat OpenJDK With RHEL subscription | Dec 31, 2030 | — | Active |
| Microsoft OpenJDK Free | Sep 30, 2030 | — | Active |
| IBM Semeru Free | Sep 30, 2030 | — | Active |
Even the newest LTS illustrates the rule: Oracle's OpenJDK 25 builds ended in March 2026 — six months after release, by design — while the same bits ship free from Temurin to September 2031 and Corretto to October 2032. Oracle JDK 25 itself is free for all users under NFTC, and on Oracle's stated pattern will stay that way until about a year after the next LTS, Java 29, ships in September 2027.
The Oracle Licensing Layer: NFTC, OTN and Subscription
Oracle's dates only cost money if you are on Oracle's binaries, and even then it depends which license the binary came under. Three regimes matter:
| License | Applies to | What it means |
|---|---|---|
| NFTC (No-Fee Terms and Conditions) | Oracle JDK 21 (until September 2026) and Oracle JDK 25 | Free for all users including commercial production, but only until one year after the next LTS ships. Then updates move to OTN. |
| OTN (Oracle Technology Network license) | Oracle JDK 8, 11, 17 today; JDK 21 updates from October 2026 | Free for personal, development and a few other named uses only. Commercial production use requires a subscription. |
| Java SE Universal Subscription | Any Oracle JDK | Priced per employee since January 2023. Buys Premier and Extended Support and the right to run OTN-licensed builds commercially. Extended Support fees are currently waived for JDK 8, 11 and 17 for the periods in the tables above. |
The practical reading: if java -version says Java(TM) SE Runtime Environment and you have no subscription, you are either on an NFTC build (21 until September 2026, or 25) or you are running unlicensed. Every other vendor in the tables above ships under open-source terms with no commercial-use fee. The full treatment, including audit exposure, is in Java support deadlines and the Oracle licensing trap.
Why the Fragmentation Exists
Upstream OpenJDK only maintains each version for six months — until the next release. Everything beyond that is a vendor choosing to backport security fixes: Oracle sells the service (Premier → Extended tiers), Red Hat bundles it with RHEL, and Adoptium (Temurin), Amazon, Microsoft, Azul and IBM give their builds away on their own schedules, each ending support when it stops serving their business. The specification is shared; the lifecycle is not. Treat “Java EOL” claims that do not name a vendor as unanswerable — and treat vendor switches as cheap, because they usually are: these builds pass the same compatibility kit and differ mainly in packaging, cadence and who answers the phone. The LTS cadence itself is now two years — 21 (2023), 25 (2025), and Java 29 planned for September 2027 — so each LTS gets a shorter free-vendor tail than the six-year gaps between 8, 11 and 17 trained everyone to expect.
Other Distributions
Three more builds appear often enough in inventories to know their dates. SapMachine (SAP) ends Java 17 support on September 1, 2026 — the earliest of any Java 17 date still ahead — Java 21 on September 1, 2028 and Java 25 on September 30, 2030. BellSoft Liberica ends standard support for 8 on November 30, 2026 and 17 on October 31, 2027, with paid extended tiers into 2030–2034. Alibaba Dragonwell ends 8 on June 30, 2026 and 17 on September 30, 2027. Each has a product page with every version.
How to Check Your Java Version and Vendor
Run java -version. The first line gives the version; the second names the vendor, which is the fact that decides your date:
Java(TM) SE Runtime Environment (build 17.0.16+…-LTS)— Oracle JDKOpenJDK Runtime Environment Temurin-17.0.16+8— Eclipse TemurinOpenJDK Runtime Environment Corretto-17.0.16.8.1— Amazon CorrettoOpenJDK Runtime Environment Zulu17.60+17-CA— Azul ZuluOpenJDK Runtime Environment (Red_Hat-17.0.16…)— Red Hat build of OpenJDKOpenJDK Runtime Environment Microsoft-…— Microsoft Build of OpenJDKEclipse OpenJ9 VMon the third line — IBM Semeru
For a machine-readable answer, java -XshowSettings:properties -version 2>&1 | grep -E "java.vendor|java.runtime.version"; on a running JVM, jcmd <pid> VM.version. Fleet-wide, the same two properties come from your CMDB or agent; the EOL Checker takes vendor and version and returns the date, and the Stack Scanner flags JDK and framework layers together from a pasted inventory.
The Compound Problem: Frameworks Pin JDKs
JDK end-of-life rarely travels alone. Spring Boot 2.x estates sit on Java 8/11; older Tomcat, Hibernate and Struts lines pin similar vintages — so a dead framework and a dying JDK usually arrive as a pair, and the framework is typically the harder migration. If that pairing describes your estate, the framework side has its own extended-support market: see Spring Boot, Tomcat, Hibernate and Struts lifecycles, or compare extended-support options →
What Happens When Your Java Build Reaches End of Support
The JVM keeps running — and every vulnerability disclosed afterwards stays open on it. Java runtimes are a recurring entry in CISA's Known Exploited Vulnerabilities catalog and a common initial-access and deserialization target, so an unpatched JDK under a public-facing application is a live exposure, not a paperwork problem. Compliance frameworks (PCI DSS, NIS2, ISO 27001, SOC 2) treat unsupported runtimes as a control failure, and Oracle's licence terms add a second dimension: an OTN-licensed Oracle JDK in commercial production without a subscription is a licensing exposure regardless of patch status.
Your Options When a Java Date Arrives
- Switch vendor, same version. The cheapest move and usually a binary swap: Oracle JDK 17 → Temurin/Corretto/Zulu 17 keeps you on Java 17 with free updates to 2027–2029. Regression-test, watch for Oracle-only features and GC tuning.
- Upgrade to Java 21 or 25. Resets the clock by years and, for Oracle users, restores NFTC free use (25). Real work if the code is on 8 or 11 — module system, removed APIs, framework upgrades — which is why estates on 8 tend to switch vendors first and upgrade second.
- Buy Oracle support. A Java SE Universal Subscription, priced per employee. Rational when you need Oracle-specific features, Oracle-backed SLAs, or are already licensed; the fee waivers make 8, 11 and 17 cheaper to keep than they were.
- Buy third-party extended support. Independent vendors sell security patches for Java versions past their free dates, including Java 8 and 11 on the older frameworks that pin them. See extended support options for how these programs work.
The right choice usually comes down to how many more years the application has to run and whether the framework underneath can move: under a year, a vendor swap or a bridge; one to three, migrate once; indefinitely, get to 21 or 25 now and put Java 29's date in the calendar.
The Checklist
- Inventory by vendor, not version:
java -versionacross the fleet — “17” is half an answer; “Temurin 17” vs “Oracle 17” changes the deadline by years and the cost by thousands. - Oracle JDK 17 estates: subscribers — nothing to do until September 2029, fee waived; non-subscribers — you have been unlicensed for updates since October 2024; switch or subscribe.
- Oracle JDK 21 estates without a subscription: move to Oracle JDK 25 or another vendor's 21 before the September 2026 update.
- RHEL Java 8 estates: plan for November 30, 2026.
- Check the framework layer — it is usually the binding constraint.
Frequently Asked Questions
When does Java 17 reach end of life?
It depends entirely on whose build you run. Oracle's free OpenJDK 17 builds ended in March 2022; Oracle JDK 17 Premier Support ends September 30, 2026, with Extended Support (fee waived) to September 30, 2029; SapMachine 17 ends September 1, 2026; Microsoft's build ends September 30, 2027; Eclipse Temurin and IBM Semeru run to October 31, 2027; Red Hat to December 31, 2027; Azul Zulu to September 30, 2029 (extended to 2031); Amazon Corretto to October 31, 2029. There is no single Java 17 EOL date.
What happens to Oracle JDK 17 on September 30, 2026?
Premier Support ends and Extended Support begins. Oracle's roadmap waives the Extended Support fee for Java SE 17 from October 2026 through September 2029, so Java SE Subscription customers keep receiving JDK 17 updates at no additional charge until then. Nothing changes for free users on that date — the permissive (NFTC) update window for JDK 17 already closed in September 2024, and updates since October 2024 require either a subscription or a non-commercial OTN use. Anyone on Oracle JDK 17 without a subscription is already out of free updates.
When does free Oracle JDK 21 end?
September 2026. Oracle JDK 21 has been free for all users under the No-Fee Terms and Conditions since September 2023, and Oracle's roadmap states that JDK 21 updates released after September 2026 will move to the OTN license — free only for personal and development use. To stay on a permissively licensed Oracle JDK after that, move to Oracle JDK 25; to stay on Java 21 for free, switch to Temurin, Corretto, Zulu, Microsoft or IBM builds. Oracle Premier Support for JDK 21 subscribers runs to September 30, 2028.
Is Java 8 still supported in 2026?
Yes — by some vendors, into the 2030s. Oracle Extended Support runs to December 31, 2030 (uplift fee waived), and Temurin, Corretto, IBM and Azul all maintain free Java 8 builds to December 31, 2030 or beyond. The nearest cliff is Red Hat's: OpenJDK 8 in RHEL ends November 30, 2026, the same day BellSoft's standard Liberica 8 support ends.
Is Java 11 end of life?
Only some builds. Red Hat's OpenJDK 11 ended October 31, 2024, SapMachine 11 in December 2024 and Oracle Premier Support in September 2023 — but Eclipse Temurin, Microsoft and IBM ship free Java 11 updates to late 2027, Amazon Corretto and Azul Zulu to January 31, 2032, and Oracle Extended Support runs to January 31, 2032. 'Java 11 is EOL' and 'Java 11 is supported for six more years' are both true statements about different binaries.
Can I switch JDK vendors without changing code?
Usually yes. Oracle JDK, Temurin, Corretto, Zulu, Red Hat, Microsoft and IBM builds all derive from the same OpenJDK source and pass the same Technology Compatibility Kit; swapping is typically a binary replacement plus a regression run. The main exceptions are applications that depend on Oracle-only commercial features, on a specific JIT or garbage-collector implementation (IBM Semeru uses OpenJ9 rather than HotSpot), or on vendor-specific cryptographic providers.
How do I check which Java version and vendor I am running?
Run java -version. The second line names the vendor: 'Java(TM) SE Runtime Environment' is Oracle JDK; 'OpenJDK Runtime Environment Temurin-17…' is Eclipse Temurin; 'Corretto-17…' is Amazon; 'Zulu17…' is Azul; 'Red_Hat-17…' is Red Hat; 'Microsoft-…' is Microsoft; IBM Semeru shows OpenJ9. For a machine-readable answer use java -XshowSettings:properties -version and read java.vendor and java.runtime.version; on a running JVM, jcmd <pid> VM.version.
When is the next Java LTS release?
Java 29, planned for September 2027 — Oracle moved to a two-year LTS cadence with Java 21 (September 2023) and Java 25 (September 2025). Under Oracle's NFTC pattern, that would also make September 2028 the likely end of free Oracle JDK 25 updates for all users.
Which Java version is the safest long-term choice in 2026?
Java 21 or Java 25, both LTS. Java 25 carries the longest runway — free vendor support to September 2031 (Temurin) and October 2032 (Corretto), Oracle Extended to September 2033, Azul extended to 2035. The vendor choice matters as much as the version: Corretto and Zulu currently publish the longest free support windows, and Oracle JDK 25 is free for all users under NFTC until roughly a year after Java 29 ships.
Related Resources
- Java 17's September 30, 2026 deadline is Oracle's, not Java's — the full anatomy of the date
- Java support deadlines and the Oracle licensing trap — NFTC, OTN, per-employee pricing and audit exposure
- Product pages: Oracle JDK · Eclipse Temurin · Amazon Corretto · Azul Zulu · Red Hat build of OpenJDK · Microsoft Build of OpenJDK · IBM Semeru · OpenJDK builds from Oracle · SapMachine · BellSoft Liberica
- Spring Boot · Tomcat — the frameworks that pin the JDK
- EOL Watch · EOL Checker · EOL Risk Score methodology