CheerpJ 5.0 is out. Run Java 21 in the browser, with Java 25 in preview. Read the announcement

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

  1. 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.

  2. Java 8, 11, 17, 21 and 25

    CheerpJ runs code built for Java 8, 11, 17 and 21, with Java 25 in preview.

  3. 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.

  4. 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.

  5. 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.

Build with Java for the browser.