HomeOracle HubJava 21 Free Updates
Oracle Java  |  Java 21 Cliff Buyer Guide 2026

Java 21's last free update shipped July 21, 2026, and the October 20, 2026 patch converts every server that installs it to a paid OTN license

Oracle's No Fee Terms and Conditions grant for JDK 21 runs out on September 16, 2026, one year after Java 25 shipped. Nothing breaks on that date: the exposure starts when an unattended patch job pulls 21.0.13 from a URL that never changed, at which point Oracle can price your entire headcount at $15 per employee per month. Your decision window is the weeks before October 20, not the months after.

Prepared by Redress Compliance · August 26, 2026 · Oracle Java advisory. NFTC transition and audit engagements, 2023 to 2026.

Executive summary

The free window closed on September 16, 2026, and the last permissively licensed build was 21.0.12, delivered in the July 21, 2026 Critical Patch Update.

Every Oracle JDK 21 install you have today remains free to run in production indefinitely under the NFTC terms it was downloaded under, which is the single fact most estates get wrong in both directions.

Exposure begins with a single act: applying 21.0.13 or later, starting with the October 20, 2026 CPU, which Oracle licenses under the Java SE OTN terms that permit no production use without a fee.

The download URLs are unchanged across update releases by design, so the same patch script that ran cleanly in July silently pulls a differently licensed binary in October.

The price of getting this wrong is not per server, it is per employee: $15 per employee per month at the top band, so a 12,000-employee enterprise pays $1,188,000 a year at list whether it runs four Oracle JDK installs or four thousand.

A 5,000-employee company needing Oracle Java on 40 servers pays $630,000 a year, or $15,750 per server, because deployment count is not an input to the calculation.

Oracle's stated escape hatch is a version upgrade to JDK 25, which buys free updates only until September 2026 plus two years, and the market is not taking it: 81% of organizations are migrating all or part of their Oracle Java estate to non-Oracle OpenJDK.

Roughly 80% of enterprise Java applications move to another OpenJDK build with no code change, which is why the JDK 21 cliff is more often a migration trigger than a purchase trigger.

July 21, 2026
Last free Oracle JDK 21 build (21.0.12), shipped under NFTC terms.
Oct 20, 2026
First paid build (21.0.13) under Java SE OTN license. The real exposure date.
$1,188,000
Annual list cost for a 12,000-employee firm, regardless of Java install count.
81%
Organizations migrating all or part of their Oracle Java estate off Oracle (Azul 2026, 2,000+ respondents).
1.

The three dates that matter, and why only one of them is a risk event

Three dates get quoted in every vendor deck and internal memo about Java 21, and two of them are administrative noise. On July 21, 2026, Oracle shipped 21.0.12 in the quarterly Critical Patch Update, the last Oracle JDK 21 build distributed under the No Fee Terms and Conditions.

On September 16, 2026, the NFTC grant for JDK 21 expires, exactly one year after Java 25 shipped on September 16, 2025. Neither date changes a single byte on your estate. Binaries you already installed under the NFTC stay under the NFTC in perpetuity, and Oracle has never argued otherwise.

The date that creates liability is October 20, 2026, when 21.0.13 lands under the Java SE OTN license, the same terms that already govern Java 8, 11 and 17.

Licensing attaches to the artifact, not to the calendar, so the question your team must answer is not "what is our license position in September" but "which machines are going to pull an October build, and who authorized it."

DateEventBuildLicense in forceWhat changes on your estate
July 21, 2026Q3 2026 CPU, final free JDK 21 patch21.0.12NFTCNothing. This is the build you freeze on.
September 16, 2026NFTC grant for JDK 21 expires (Java 25 plus one year)none shippedNFTC on installed 21.0.12 and earlierNothing. Paperwork date only.
October 20, 2026Q4 2026 CPU, first paid JDK 21 patch21.0.13Java SE OTN (production use is fee-bearing)Any host that installs it becomes a licensable trigger for the whole employee count.
January 2027 onwardSubsequent CPUs21.0.14 and laterJava SE OTNSame exposure, compounding back-license claims.

The detail no table can carry: Oracle does not change the download URL between update releases, and Oracle's own documentation says the URLs stay stable precisely so they can be scripted.

That means the Ansible playbook, Dockerfile base image, or Jenkins step that has quietly pulled Oracle JDK 21 every quarter since 2023 will pull an OTN-licensed binary on October 20 with no prompt, no click-through, no changed checksum in your change record.

And no human decision anywhere in the chain.

This is the single most common way estates convert from free to fee-bearing, and in our audit-defense work it is almost never a deliberate act by anyone with signing authority.

Freeze 21.0.12 in your artifact repository, block the Oracle download host at the proxy, and put a named owner on every automated Java fetch before the October CPU. The cost of that housekeeping is a few engineer-days. The cost of missing it is priced per employee, not per server.

2.

NFTC versus OTN: what actually changes in the license text

The two grants are not variations on a theme. The NFTC, in Oracle's own summary, permits free use for all users, including commercial and production use.

The Java SE OTN license permits free use only for personal use, development, testing, prototyping, demonstrating and a handful of similar limited purposes.

Everything that pays your bills, application servers, batch estates, middleware, containerized microservices, and anything a customer touches, sits outside the OTN free grant and becomes fee-bearing the moment an OTN-licensed binary runs it.

There is no grace period, no notification requirement, and no proportionality: one production host on 21.0.13 is a licensable event, and Oracle's remedy is the employee-metric subscription for the entire organization.

The rule producing this cliff is Oracle's stated one-year overlap policy, under which the current and previous LTS releases both stay permissively licensed, so Java 21 falls out of the grant one year after Java 25 arrives. Two adjacent exposures get missed in nearly every inventory we review.

First, GraalVM for JDK 21 moves on the same October 2026 CPU to the GraalVM OTN License Including License for Early Adopter Versions, and Oracle's guidance is simply to move GraalVM users onto Oracle JDK or Oracle OpenJDK, which is a migration, not a patch.

Second, the non-LTS releases 22, 23 and 24 also sit outside the no-fee grant after September 2026. Those builds tend to live in developer laptops, proof-of-concept clusters and forgotten container layers, which is exactly where discovery tooling under-reports.

Scan for them before Oracle's LMS team does, and read our breakdown of which Java versions remain free and which bill your whole headcount before you accept any vendor version map at face value.

Free white paper

What Oracle ERP Cloud really costs per employee

Oracle prices Fusion ERP Cloud per employee, not per user, which inflates true cost. The buyer side guide to module economics and the modernization discount.

Get the white paper →
3.

What paid actually costs: the employee metric turns 40 servers into 5,000 licenses

The Java SE Universal Subscription does not care how much Java you run. It prices your payroll.

Oracle counts every full-time, part-time, and temporary employee, plus every contractor, consultant, and outsourcer body supporting your internal operations, and there is no deployment input to the calculation whatsoever. Forty servers and four thousand servers produce the identical invoice.

The published band structure runs seven tiers from $15.00 per employee per month down to $5.25, and the public schedule stops at 49,999 employees, above which pricing goes to negotiation.

Critically, that rate is all-in: there is no separate 22% support line on top, so any budget model that bolts a support percentage onto the subscription rate is double counting by roughly a fifth.

Buyers moving from the old Named User Plus and processor metrics should expect a 2x to 5x increase at the same footprint, which is Azul's published estimate for large organizations and consistent with what we see in live negotiations.

ScenarioEmployees countedList cost per yearEffective cost per server
Mid-market, 40 Oracle JDK servers5,000$630,000$15,750
Just below the 10,000 band boundary9,999$1,259,874varies with footprint
One employee over the boundary10,000$990,000varies with footprint
Typical enterprise estate12,000$1,188,000varies with footprint
Audit-inflated headcount (1,000 badged)1,800 after contractors$324,000 vs $180,000 budgetedn/a

Read row two and three together. Crossing from 9,999 to 10,000 employees removes $269,874 from the annual bill, because the lower per-employee rate applies to the whole population rather than the marginal head.

If your count lands within a few hundred of a band boundary, the definition of "employee" is worth more in negotiation than any discount percentage you will extract on the rate itself.

Push Oracle to write the counting method into the ordering document: which affiliates, which contractor categories, and the measurement date.

The second trap is credit. If you hold perpetual Java SE Advanced or Java SE Suite licenses, they give you audit cover and migration runway for the versions they were bought against, but they earn zero credit against the Universal Subscription price.

Do not let a rep model your renewal as an upgrade path. It is a fresh purchase on a metric your old contract never contemplated.

Watch the briefing · 4:12What a ULA Actually IsSession 1 of the Oracle ULA Series. Unlimited deployment of a defined product set, for defined entities, in defined territories, for a fixed term, ending in a certification that fixes your position for a decade. Every word in that sentence is a limit.Open the full page, with the transcript →
4.

Why Oracle sells you a version upgrade instead of a subscription, and why that is the tell

Oracle's official guidance on the JDK 21 cliff is not "buy a subscription." It is "upgrade to Oracle JDK 25 or later" for continued permissive licensing. Read charitably, that is helpful.

Read as a licensing analyst who has watched Oracle build these mechanics for two decades, it is the most revealing sentence in the whole transition, because it tells you Oracle does not need you to buy anything to make money here.

It needs you to fail to upgrade on schedule, which a meaningful share of any large estate will do by arithmetic alone.

Look at the cadence the NFTC creates. An LTS ships, and the free grant runs until one year after the next LTS. Java 21 shipped September 2023, Java 25 shipped September 16, 2025, free updates for 21 end September 16, 2026. That gives you a three-year permissive window per version.

Now put that against how enterprises actually run: a business application certified against a JVM in year one typically stays on it for three to five years, and regulated or vendor-packaged workloads stretch longer because the ISV, not you, controls the supported JDK matrix.

The free option is therefore structurally positioned about two years ahead of where a normal estate sits. Some percentage of your servers is non-compliant by default, always, not through negligence but through the mismatch between a three-year license clock and a five-year application lifecycle.

That is design, not accident.

The JDK 17 transition already ran this exact sequence, which converts the pattern from prediction to confirmation. Two cycles in, we know what the October CPU does.

We also know the collateral damage: JDK 22, 23, and 24 fall outside the no-fee grant on the same date, and those non-LTS builds are the ones inventories miss, because nobody documents a JVM they installed for a six-month project. GraalVM for JDK 21 moves to its own OTN terms in the same October CPU.

The blast radius is wider than the headline version.

Then there is the friction that produces accidental installs, and this is where the design gets deliberate. Oracle's download URLs are deliberately stable across update releases "so they can be used in scripts." That is a documented convenience.

It is also the mechanism by which a Chef recipe, an Ansible playbook, or a base container image written in 2024 pulls 21.0.13 in late October 2026 and silently changes the license terms on every host it touches.

Add Oracle's own inconsistency between the September anniversary and the October CPU (its FAQ says September 2028 for JDK 25 while its blog says October 2028) and you have a compliance boundary that even the vendor states two ways. Ambiguity in the vendor's favor is not a documentation bug.

The audit economics follow from this cleanly. If Oracle had to convince a CIO to sign a $630,000 subscription for forty servers, it would lose most of those conversations. It does not have to.

It has to wait for a routine patch job nobody reviews, then present download telemetry showing 21.0.13 pulled to production hosts, then price the whole employee population plus back-license fees for the interval. The trigger costs Oracle nothing and requires no salesperson.

That asymmetry is why your decision window is the weeks before October 20, not the quarters after, and why your fallback plan needs to be a non-Oracle OpenJDK build rather than a rollback to an older Oracle binary.

Which brings you to where leverage actually sits, because there is real leverage here.

The Java binary is substitutable in a way almost nothing else in the Oracle catalog is: Temurin, Corretto, Zulu, and Liberica build from the same OpenJDK source, and the JVM itself is rarely what breaks in a migration.

That substitutability is the only reason advisor-assisted negotiation reliably lands 20% to 40% below list on this product, which is a wider spread than Oracle concedes on database. Second, structure beats rate.

Licensing only the legal entities that still run Oracle Java after a partial migration, rather than the consolidated group, has produced reductions on the order of 78% against a group baseline in our casework.

Third, timing: a signed entity-scoped agreement negotiated in September, with migration already underway, prices very differently from one negotiated in December after telemetry shows you installed the paid patch. Move before the trigger, and you are a buyer with options.

Move after, and you are settling a claim. Map which versions still carry a free grant using the current free-versus-billable Java matrix before you talk to anyone at Oracle.

5.

The four exits after September 2026, priced and ranked

Four routes exist after the September 16, 2026 anniversary, and only one of them is a spending decision.

Freezing at 21.0.12 costs nothing and changes nothing on disk, but it stops the security clock: every CVE disclosed from October 20, 2026 forward stays unpatched on those JVMs, which makes freeze a bridge measured in weeks, not a posture.

Upgrading to Oracle JDK 25 is Oracle's own recommended escape and the one it publishes in the support roadmap: users wanting permissively licensed Java after September 2026 should move to JDK 25 or later, which carries NFTC coverage until September 2028 by the anniversary rule (Oracle's blog phrases the same cutoff as October 2028.

And both wordings appear in Oracle's own material, so diarize the earlier one).

Premier support for 25 runs to September 2030. Migrating to a non-Oracle OpenJDK build of Java 21 keeps you on the version you tested against, and in our engagement experience roughly 80 percent of applications move with no code change at all, with third-party vendors patching 21 well past 2028.

Buying the Universal Subscription is the only option priced on headcount rather than deployment.

Separate the license question from the support question before anyone escalates this. Java 21 premier support runs to September 2028 and extended support to September 2031, but that timeline only tells you how long Oracle will produce fixes.

It says nothing about whether you are permitted to install them for free, and confusing the two is how estates end up paying for entitlements they already had via the free Java version rules.

ExitYear one cash at listSecurity patching after Oct 20, 2026EffortVerdict
Freeze at 21.0.12$0NoneNear zeroBridge only, 90 days maximum
Upgrade to Oracle JDK 25$0 until Sept 2028Yes, under NFTCVersion testing across estateBuys 24 months, resets the same cliff
Migrate to non-Oracle OpenJDK 21$0 to modest vendor support feeYes, past 2028 from third-party vendors~80% of apps move unchangedRanked first for most estates
Java SE Universal Subscription$630,000 for 5,000 employees on 40 servers ($15,750 per server)YesContract onlyLast resort, price it against the other three

The table hides the single fact that decides the whole exercise: partial migration provides zero financial relief. The Universal Subscription is priced on total employee headcount, including contractors and outsourcer staff supporting internal operations, with no input from deployment count.

One unlicensed Oracle JDK binary left on one build agent triggers the full headcount subscription, so an estate that migrates 39 of 40 servers pays exactly what an estate that migrated none pays.

That asymmetry sets the ranking. Migration to a non-Oracle OpenJDK build ranks first because it is the only exit that both removes the liability and survives 2028.

Oracle JDK 25 ranks second and is best used as cover while migration completes, not as the destination, and your rollback plan should target OpenJDK rather than Oracle.

6.

What the evidence and the audit pattern show

81%
Estates already leaving Oracle Java

The Azul 2026 State of Java Survey of over 2,000 professionals found 81% migrating all or part of their Java estate off Oracle, with 63% intending a full estate migration.

2 to 5x
Cost increase from the employee metric

Azul's April 2026 analysis puts the switch from processor to employee-based licensing at a 2 to 5 times increase for large organizations, which matches what we see in engagement modeling.

The rest of the survey data points the same direction: 92 percent of respondents concerned about Oracle Java pricing, cost named the top migration driver at 37 percent, and 21 percent already audited.

Oracle's own material corroborates the timeline rather than contradicting it, with the download page carrying explicit OTN language for post-September builds, the GraalVM release calendar fixing October 20, 2026 as the CPU date.

And the blog confirming that GraalVM for JDK 21 moves to OTN on the same day.

The JDK 17 transition is the confirmed precedent, not a forecast: two cycles in, the mechanic is identical, which is why the 2026 version support cliff should be read as a repeating pattern rather than a one-off event.

Three patterns recur in our audit-defense work and none of them are exotic.

First, headcount definitions inflate during audit: a 1,000-employee organization budgets $180,000 a year at list, then finds auditors counting 1,800 once contractors and outsourcer staff are pulled in, which is a 44 percent overrun before a single technical finding.

Second, back-license claims for periods preceding any subscription purchase, which converts an eight-week remediation conversation into a multi-year retroactive demand.

Third, and most underestimated, discovery is driven by Oracle download telemetry from your corporate IP ranges, not by on-premises scans, so the audit letter arrives citing binaries your own CMDB never recorded.

Every unattended patch job pulling 21.0.13 from an unchanged URL writes a line in that telemetry.

The pattern worth internalizing is that Oracle's evidence arrives before its questions do. By the time an audit notice lands, Oracle already has download records tied to your address space, which means the negotiation starts from their dataset, not yours.

Build your own binary inventory, including non-LTS 22, 23 and 24 installs, before October 20, 2026, or you will be arguing about a version of the facts you did not collect.

Try Vera AI · free 30 day trial
Do not send the counter until Vera has read the deal.
  • Percentile standing for your exact deal size and industry, from real closed transactions
  • Scenario simulation before the call: test alternative terms and see the financial impact of each
  • A negotiation playbook, talking points, and a two page executive brief on day one
Start the free Vera AI trial →30 days free · no credit card · cancel anytime
7.

Your first five moves

  1. Freeze the download path before October 20, 2026. Block or pin Oracle JDK 21 artifacts in CI/CD, Docker base images, Ansible and Chef recipes, and internal artifact repositories, because Oracle keeps the download URLs identical across update releases and 21.0.13 arrives under OTN through the same script that has pulled free builds for three years.
  2. Inventory by build number and license, not by version family. Record the exact build (21.0.12 is NFTC, 21.0.13 is not) and pull in the non-LTS releases almost every estate forgets, JDK 22, 23 and 24, plus GraalVM for JDK 21, which moves to the GraalVM OTN license in the same October CPU.
  3. Decide upgrade versus migrate application by application. Oracle JDK 25 carries free NFTC terms until September 2028, and an OpenJDK distribution carries none of Oracle's terms at all; treat the two paths as per-app engineering decisions and read why the JVM is almost never what breaks before you accept a vendor risk narrative.
  4. Model your employee count and the band boundary before Oracle sees a number. Contractors and outsourcer staff count, headcount often lands 1.5 to 2 times higher than HR's payroll figure, and the published bands are cliff-edged: 9,999 employees lists at $1,259,874 while 10,000 lists at $990,000. Our audit-defense work shows counts get inflated first, then back-dated.
  5. If a subscription is unavoidable, scope it narrowly and price it hard. License only the legal entities still running Oracle Java after partial migration, remember there is no separate 22% support line to negotiate, and target 20% to 40% off list on a multi-year term; see which Java versions remain free to keep entities out of scope.
8.

Frequently asked questions

When exactly do free Java 21 updates end?

The last free Oracle JDK 21 build was 21.0.12, shipped in the July 21, 2026 Critical Patch Update. The No Fee Terms and Conditions grant covers updates through and including September 2026, with September 16, 2026 as the anniversary date (one year after Java 25 shipped on September 16, 2025).

The first paid build is 21.0.13, delivered in the October 20, 2026 CPU under the Java SE OTN license.

Do I have to stop using Oracle JDK 21 after September 16, 2026?

No. Builds you downloaded under the NFTC stay under the NFTC, including for commercial production use, with no expiry and no fee. Nothing on your servers changes on September 16.

Liability arises only when you install 21.0.13 or later, because those builds carry OTN terms that do not permit production use without a subscription.

What is the difference between the NFTC and the OTN license?

The No Fee Terms and Conditions permit free use by all users, including commercial and production use. The Oracle Technology Network license for Java SE permits only personal use, development, testing, prototyping and demonstration at no cost.

Any production use under OTN requires a paid Java SE Universal Subscription.

How much does Oracle Java cost if I have to pay?

The Java SE Universal Subscription is priced per employee, not per install, starting at $15 per employee per month and falling through seven published bands to $5.25 above the largest published tier.

A 5,000-employee company running Oracle Java on 40 servers pays roughly $630,000 a year at list, or $15,750 per server. The rate is all-in, so there is no separate 22% support charge to add.

Does upgrading to Java 25 solve the problem?

It defers it. JDK 25 updates are planned under the NFTC until September 2026 plus two years, which Oracle states as September 2028 in its license FAQ and October 2028 in its blog, with premier support to September 2030.

You will face the identical cliff then, one year after the next LTS ships, so treat the upgrade as a two-year runway rather than a fix.

Can I keep some applications on Oracle JDK and migrate the rest?

Not without paying. If any single production application still runs an unlicensed Oracle JDK build, the full employee-based subscription is required, and the bill does not shrink with the number of remaining installs.

Individual applications can run different OpenJDK distributions, so you do not need to standardize on one vendor, but you do need to remove Oracle JDK entirely to avoid the subscription.

What about GraalVM for JDK 21?

It is caught in the same transition. Beginning with the October 2026 CPU, GraalVM for JDK 21 updates move to the GraalVM OTN License Including License for Early Adopter Versions, and Oracle directs users to move to Oracle JDK or Oracle OpenJDK.

GraalVM installs are frequently missed in inventories because they are tracked separately from JDK builds.

© 2026 Redress Compliance · Independent, buyer sideredresscompliance.com
Industry Recognized
500+ Enterprise Clients
$2B+ Under Advisory
11 Vendor Practices
100% Buyer Side Independent
Oracle Java White Paper

What Oracle ERP Cloud really costs per employee

Oracle prices Fusion ERP Cloud per employee, not per user, which inflates true cost. The buyer side guide to module economics and the modernization discount.

Gated with a work email on the download page. No sales follow up you did not ask for.

Get the White Paper →
Independent, buyer side. We never share your details with vendors.
Run the software spend health check against your Oracle Java estate in under five minutes.
Open the Tool → Oracle Hub →
Editorial boardroom interior

The advisor your vendors do not want.

500+ enterprise clients. 11 vendor practices. Industry recognized. One conversation can change what you pay for the next three years.

Stay ahead of Oracle Java pricing and contract moves.

One buyer side briefing a week. Renewal signals, discount bands, and the levers that work. No vendor spin.