Run Java applications
in the browser.

No plugins. No desktop installs.
No application rewrite required.

Oracle Receivables
erp.internal/forms/AR_RECEIPT_ENTRY
Receipt No
Date
Manual No
Document
Currency
Customer
Type
Svc Group
Pay Mode
Reason
Cust Code
Cust Name
Inv No
Description
Date
Amount
Applied
Status
Ref No
INV-0891
Professional Services - Q3
15/11/24
4,250.00
4,250.00
Cleared
PO-44201
INV-0892
Consulting Fees Q4 2024
02/12/24
3,100.00
3,100.00
Pending
PO-44315
INV-0878
Annual Support Contract
01/10/24
5,750.00
5,750.00
Cleared
PO-43891
INV-0855
Software License Renewal
15/09/24
1,720.00
1,720.00
Cleared
PO-43210
INV-0901
Implementation Services
20/12/24
2,400.00
2,400.00
Review
PO-44502
$17,220.00
Bank Code
Branch
GL Date
Batch No
Auth Code
Remarks

Powering Enterprise Software

DalkiaNASAEuronextTicketmasterLeonardoSiemens

Your Java applications still work.
CheerpJ makes them run everywhere.

Rewriting critical systems is expensive, risky, and rarely necessary. CheerpJ runs Java applications in the browser, preserving your investment while simplifying deployment.

Oracle Forms — Accounts Payable
https://apps.company.com/forms/ap_invoice.fmx?runtime=cheerpj
Oracle Forms Services — Accounts Payable
_
FileEditViewNavigateActionHelp
Navigator
General Ledger
Accounts Payable
Receivables
Purchasing
Inventory
System Admin
Invoice Workbench
Invoice Approval Session: FIN-OPS-2048
Supplier
Northbridge Industrial Components Ltd
Invoice No
INV-104893
Invoice Date
16 Mar 2026
Currency
GBP
Description
Monthly hardware maintenance contract and replacement parts for regional branch systems.
LineCost CentreDescriptionAmountStatus
001FIN-221Maintenance services£31,200Validated
002OPS-118Replacement hardware£9,880Validated
003IT-074Shipping£1,500Pending
Application loaded
Java application running in browser via CheerpJ
Ready
CheerpJ is loading Oracle Forms

Initializing Java runtime, loading application classes, and starting the Oracle Forms session directly inside the browser.

Loading runtime and application assets 0%

Java Versions

8, 11, 17 (preview)

UI Frameworks

Swing, AWT, Oracle Forms

Browsers

Chrome, Edge, Firefox, Safari

Deployment

On-premise or CDN

Architecture

How CheerpJ runs Java applications in the browser

1

Java Runtime in the Browser

CheerpJ includes a full OpenJDK runtime compiled to WebAssembly and JavaScript. Supports Java 8, Java 11, and Java 17 applications entirely inside modern browsers.

2

JVM Executes Java Bytecode

Applications are loaded as standard JAR, class, or WAR deployments. CheerpJ executes the bytecode using a browser-based Java Virtual Machine.

3

Interpreter + JIT Optimization

Java bytecode starts in an interpreter, while frequently used code is compiled Just-in-Time into optimized JavaScript for higher performance.

4

Browser Integration Layer

CheerpJ provides system services needed by enterprise applications, including virtual file system support, HTTP networking, Java ↔ JavaScript interoperability, and AWT/Swing rendering through HTML Canvas.

Deployment

Easily deploy CheerpJ

CheerpJ is delivered as static WebAssembly and JavaScript assets. It can be hosted on any web server or CDN and integrated into a page with a simple <script> tag. No browser plugins or server-side components are required.

CheerpJ provides a browser-based JVM built on OpenJDK, with full Java language compatibility and bytecode-level execution. Supports standard JAR and WAR deployments, including Swing and AWT applications, without requiring a client-side JVM.

<script src="https://cjrtnc.leaningtech.com/4.0/cj.js"></script>
<script>
  await cheerpjInit();
  cheerpjCreateDisplay(800, 600);
  await cheerpjRunJar("/app/myapp.jar");
</script>

Latest

Learn More About CheerpJ

View all →

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.

Request a demo ›