How CheerpJ Works

CheerpJ is a WebAssembly-based Java Virtual Machine for the browser. This means Java applications can be executed from the browser with no Java installations. Amazing, right? but… How does it work?

Full Java Runtime

CheerpJ comes with a full OpenJDK runtime, providing full compatibility with any Java application

Full JVM in WebAssembly

CheerpJ runs Java bytecode thanks to a WebAssembly Just-In-Time compiler

Secure by Design

CheerpJ operates within the browser sandbox, using safe and secure Web APIs for system access

CheerpJ runs in any modern browser using standard Web technologies, particularly WebAssembly, JavaScript, and HTML5. It can either be integrated into a web page like any JavaScript library, by simply adding a <script> tag, or via a browser extension.

CheerpJ is very simple to use as it exposes an API for executing standalone Java applications, applets, Java Web Starts, and Java libraries – entirely in the browser. One of the strengths of CheerpJ is that it works directly with Java byte code/JARs, meaning no need to modify or have access to the application’s source code.

CheerpJ assets are static, which makes it easily self-hostable, and we provide a cloud version under the CheerpJ Community Licence (free to use for personal projects and technical evaluations).

Key Features

Full Java environment in HTML5

CheerpJ enables modern browsers to run any Java Application and Applet, as well as Java libraries.

Legacy Modernization

With CheerpJ, you can run legacy Java Applets and Applications on modern browsers, removing the requirement for IE, Edge IE mode, and for a local Java installation.

Effortless Deployment

CheerpJ does not need access to the source code at all, operating at the level of Java bytecode. Third-party libraries, dependencies and obfuscated code pose no issue.

JVM replacement

CheerpJ core component is a Java Bytecode JIT compiler in WebAssembly.

Full Runtime

CheerpJ comes with a full OpenJDK runtime environment, ensuring that existing applications ‘will just work’. This includes Java Swing, AWT, and any other runtime component.

Full Classloader Support

CheerpJ can now give full control to the appropriate Classloader for class resolution, including application-provided ones. This completely eliminates incompatibilities caused by duplicated classes as well.

Scalable JNI Architecture

CheerpJ compiles 100% of the OpenJDK native code to WebAssembly, providing a viable path for supporting modern versions of Java and potentially specific point versions if a user requires.

Java-JavaScript Interoperability

CheerpJ provides multiple mechanisms for Java and JavaScript to interoperate.

Networking and System Features

CheerpJ provides a full networking stack (HTTP(s), TCP/IP), as well as support for file access, networking (HTTP and TCP), clipboard, audio, printing, and more.

Our Tools

CheerpJ Core

A full runtime environment for running Java applications, Applets, and Libraries in the browser.

CheerpJ JNLP Runner

Run Java Web Start (JWS) applications on Chrome and Edge, without a local Java Desktop installation.

CheerpJ Applet Runner

Allows on-the-fly execution of Applet(s) exclusively on Chrome or Edge browsers.

Request a demo

Discover how to modernize and improve access to your legacy Java applications with CheerpJ.

Schedule a free demo with our team to learn how CheerpJ can help address your Java requirements.

Fill in the form or book a demo directly here

    Leaning Technologies needs the contact information you provide to contact you about our products and services. You may unsubscribe from these communications at any time. For information on how to unsubscribe, as well as our privacy practices and commitment to protecting your privacy, check out our Privacy Policy.

    en_GBEnglish (UK)