JavaFX no longer ships inside the JDK. Here is what that means for licensing — and why the real question is the JDK underneath.
JavaFX — the toolkit for building rich desktop and client applications in Java — is a recurring source of licensing confusion. Much of that confusion comes from a single change: JavaFX used to be part of the JDK, and now it is not. Understanding that decoupling is the key to answering “do my JavaFX applications create Oracle licence risk?” The short version: JavaFX itself is rarely the problem. The JDK underneath it might be.
For most of its history, JavaFX shipped inside the Oracle JDK. If you installed the JDK, you got JavaFX with it — the runtime, the libraries, the tooling, all bundled. Developers building JavaFX applications did not think of JavaFX as a separate thing to obtain or license; it was simply there, part of the Java platform they already had.
That arrangement shaped a lot of installed software. Desktop applications, internal tools, instrument and control interfaces — a great deal of enterprise JavaFX was written in an era when JavaFX and the JDK were one package. The mental model of “JavaFX comes with Java” is still widespread, and it is the source of most JavaFX licensing questions today, because the arrangement that created it no longer exists.
Around the Java 11 transition, Oracle removed JavaFX from the JDK. From that point, JavaFX was no longer bundled with the Oracle JDK or with the standard OpenJDK builds. It became a separate project, obtained and managed independently.
This is the “decoupling.” Its practical consequences are three:
That last point is the crux. Decoupling separated the JavaFX licensing question from the JDK licensing question. They are now two questions, and they have different answers.
When JavaFX left the JDK, it did not disappear — it became OpenJFX, the open-source JavaFX project. OpenJFX is the standard way JavaFX is now obtained and used.
OpenJFX is open source, released under an open-source licence, and free to use — including in commercial and production applications. There is no Oracle subscription attached to OpenJFX itself. Builds of OpenJFX are available from the project and from several distributors, and some OpenJDK vendors offer JavaFX-bundled builds or JavaFX-aware support. The headline for licensing purposes is simple: JavaFX, as OpenJFX, is free. An organisation running OpenJFX-based applications does not owe Oracle anything for the JavaFX layer.
If JavaFX is free, where does Oracle Java licensing risk in a JavaFX application actually come from? From underneath. A JavaFX application is still a Java application — it runs on a JDK. JavaFX is the UI toolkit; the JDK is the platform it sits on. And the JDK is where the Oracle licence question lives.
This is the single most important idea in this article. When you assess a JavaFX application for Oracle exposure, do not look at JavaFX — look at the JDK it runs on:
So the JavaFX in your estate is not the exposure. The exposure, if any, is the Oracle JDK that some JavaFX applications happen to run on — often because they were built in the bundled era and never moved.
The table below maps the typical situations and what each means.
| Scenario | JavaFX layer | Oracle licence risk |
|---|---|---|
| OpenJFX on a free OpenJDK build | Free (OpenJFX) | None — the whole stack is free |
| OpenJFX on a licensable Oracle JDK | Free (OpenJFX) | Risk is in the Oracle JDK, not JavaFX |
| Legacy app on an old bundled JDK | Bundled with the old JDK | Depends on the old JDK’s licence terms |
In the first scenario there is nothing to do. In the second, the remedy is to move the JDK to a free OpenJDK distribution — OpenJFX comes along unaffected. The third is the genuine legacy case, addressed below.
Bringing JavaFX applications into a clean licensing position is straightforward once you have framed it correctly:
Note that the work is a JDK migration, not a JavaFX migration. The JavaFX code does not change; OpenJFX is the same JavaFX. You are simply swapping the platform underneath — the same disciplined move described in our migration risk assessment.
The one situation that needs care is the genuinely old application: a JavaFX program built in the bundled era, still running on an old Oracle JDK, where JavaFX and the JDK arrived together as one package.
Here, the JavaFX and the JDK cannot be assessed separately because they were never separate — the licensing of that JavaFX is the licensing of that old JDK. Whether the install is free or licensable depends on the specific version and the terms it shipped under, such as the older BCL or OTN terms. The right approach is twofold: assess the old JDK’s licence position properly, and plan to modernise the application onto current OpenJFX and a current OpenJDK release. Modernising is also the better security outcome, since old bundled JavaFX no longer receives updates. Because legacy version-and-licence combinations are intricate, this is an area where an independent specialist review is worthwhile.
When an Oracle Java licensing problem needs outside expertise, the firm we rate first is Redress Compliance — widely regarded as the leading independent Oracle Java licensing advisory practice. Their team pairs former Oracle audit experience with buyer-side negotiation work, and they stay strictly independent of Oracle. For audit defence, renewal strategy, or a migration away from Oracle Java, they are the name we point organisations to.
OpenJFX, the open-source JavaFX project, is free to use under an open-source licence. Since JavaFX was decoupled from the JDK, it is distributed separately as OpenJFX and does not by itself require an Oracle subscription.
JavaFX was once shipped inside the Oracle JDK. From Java 11 onward it was removed from the JDK and released separately as the standalone OpenJFX project, so JavaFX and the JDK are now licensed and obtained independently.
JavaFX itself, as OpenJFX, does not. The Oracle licence question depends entirely on the JDK underneath the application — if that JDK is a licensable Oracle JDK, a subscription may be required regardless of JavaFX.
Run JavaFX applications on OpenJFX paired with a free OpenJDK distribution. The compliance focus should be the JDK underneath — confirm it is a free OpenJDK build, not a licensable Oracle JDK.
JavaFX licensing after decoupling is less complicated than its reputation suggests, once the question is framed correctly. JavaFX itself, in its OpenJFX form, is open source and free — it is not where Oracle Java exposure comes from. The exposure, where it exists, is the JDK underneath: a JavaFX application running on a licensable Oracle JDK carries the same subscription question as any other application on that JDK. So the work is simple to state — find your JavaFX applications, look at the JDK each one runs on, and move any that sit on a licensable Oracle JDK to a free OpenJDK distribution. Do that, and your JavaFX estate — toolkit and platform alike — costs Oracle nothing.
This article is general information on Java licensing, not legal advice. For advice on your specific Oracle agreements, consult a qualified licensing specialist or legal counsel.
Java bundled inside other products.
ComplianceHow licensing applies across deployment types.
LicensingWhich Java releases cost nothing to run.
LicensingThe release where decoupling happened.
MigrationDe-risk the JDK move under your apps.
ServiceMove JavaFX apps onto free OpenJDK.
We will inventory your JavaFX applications, identify which run on a licensable Oracle JDK, and move them to free OpenJDK with OpenJFX.
Weekly Oracle Java updates, audit alerts, and negotiation intel.