Build with CheerpJ
CheerpJ brings Java into your web applications. Load it with one script tag, then run a Java application inside your page or call Java libraries from JavaScript.
What CheerpJ is
-
A complete Java runtime in the browser
CheerpJ is a Java runtime built from OpenJDK and compiled to WebAssembly. It runs inside the browser tab, with the full Java class library, including Swing and AWT.
-
Java 8, 11, 17, 21 and 25
CheerpJ runs code built for Java 8, 11, 17 and 21, with Java 25 in preview.
-
One script tag
CheerpJ loads with a single script tag and runs as static files, served from any web server or CDN, including your own. There is no server component, and self-hosted it runs on air-gapped networks.
-
Applications and libraries
CheerpJ runs a Java application inside an element of your page, or loads a Java library so your JavaScript can create its objects and call its methods.
-
Your compiled code as it is
CheerpJ runs your compiled bytecode unmodified, including third-party libraries, obfuscated code and custom class loaders. Native code runs when compiled to WebAssembly.
I want to build
-
Use Java components in web apps
Call Java libraries from JavaScript in your web application.
-
Modernise an Oracle Forms application
Run Oracle Forms and Oracle E-Business Suite front ends in Chrome, Edge, Firefox and Safari, on desktop and mobile.
-
Embed CheerpJ in your application
Ship your Java client as a web edition of your product.
-
Browser-enable an internal app
Release an internal Java application from one web server.
Tutorials
-
Run a Java app in the browser (SwingSet3)
Run the SwingSet3 demo application in the browser.
-
Run a Java applet in the browser (FoilSim)
Run the FoilSim applet in the browser.
-
Run JNLP apps in the browser
Run a Java Web Start application from its JNLP file.
-
Swing browser (networking)
A networking tutorial built around a Swing browser.
-
Server-client (networking)
A networking tutorial with a Java server and client.
-
Getting started guide
Load CheerpJ and run your first application.
Resources
-
Compatibility
What runs in the browser with CheerpJ.
-
Interoperability
How Java and JavaScript work together in CheerpJ.
-
Security
How CheerpJ runs Java in the browser’s sandbox.
-
Java versions
Java 8, 11, 17 and 21, with Java 25 in preview.
-
FAQs
Answers to common questions about CheerpJ.
-
Licensing
Application licences: free with attribution for individuals and open source, Small Business per developer, and Enterprise per application.