OpenJDK, built for browsers.
A full OpenJDK distribution in WebAssembly. Run any Java application, using the full Java runtime, right in the browser tab.
Supported in Chrome, Edge, Firefox and Safari.
CheerpJ is a full OpenJDK distribution for the browser, compatible with Java 8, 11, 17, 21 and 25. Build with Java, or run the applications you already have.
Trusted by organisations around the world
A full OpenJDK distribution in WebAssembly. Run any Java application, using the full Java runtime, right in the browser tab.
Supported in Chrome, Edge, Firefox and Safari.
Keep Oracle Forms and E-Business Suite working without Java on users' computers.
Write Java in an online editor and run it in your browser tab, with nothing to install.
Use the CheerpJ skill (https://cheerpj.com/skills/cheerpj/SKILL.md) to help me run our Java application in the browser. Run applets and Java Web Start applications in Chrome and Edge, with no changes to the site.
1M+ CheerpJ sessions every month from our public CDN
170,000+ users of the CheerpJ browser extensions
Figures as of September 2026.
CheerpJ is a JVM in WebAssembly and the full build of OpenJDK for the browser. Your bytecode runs with no changes.
How CheerpJ worksCheerpJ is a JavaScript library. One script tag loads the JVM and the OpenJDK runtime, from our CDN or your own server.
<script src="https://cjrtnc.leaningtech.com/4.3/loader.js"></script> Or install a browser extension, with no changes to the page:
Try a browser extensionCheerpJ reads your JARs and their dependencies as they are, and runs the bytecode in the browser.
A virtualised window manager draws the Swing and AWT interface with HTML elements and canvases. Files and networking go through the browser, inside its sandbox.
Load any Java library and use it from JavaScript, running fully client-side.
Java libraries in JavaScript<script src="https://cjrtnc.leaningtech.com/4.3/loader.js"></script>
<script type="module">
await cheerpjInit();
// Load a JAR and use its classes from JavaScript
const lib = await cheerpjRunLibrary("/app/pdfbox.jar");
const PDDocument = await lib.org.apache.pdfbox.pdmodel.PDDocument;
const doc = await new PDDocument();
console.log(await doc.getNumberOfPages());
</script> No Java to install on users' computers, and no legacy plug-ins.
286 ratings
A superb extension with great customer support! We have an large, extensive applet that displays automated weather reports from commercial aircraft-- that is used by weather services world-wide. You can see it at https://amdar.noaa.gov/demo_java/. Thanks to CheerpJ we can now run it again in a browser (chrome). The CheerpJ version is FAST -- able to display 800,000+ wind barbs in just a couple of seconds. In addition, the developers were able to quickly update the app to allow some obscure…
Cut-the-knot is a treasure trove of animated math, animated using java. Finally we are able to enjoy the whole website again. Thank you very much to the developers :)
This extension allowed me to use a suite of Interactive Differential Equations apps that I had not been able to run for years. Thank you, thank you, thank you!!
Fantastic job. My large JAVA applet https://math.la.asu.edu/~kawski/vfa2/vfa2sample.html for a visual interactive discovery of derivatives and integrals of vector fields had been used all around the world for almost 20 years -- then the browsers effectively killed it by withdrawing support for JAVA. I had not been able to rewrite it as a freestanding JAVA main program. So happy when I discovered CheerpJ in the spring. So many happy students, instructors, and folks from everywhere who just to…
This extension realy make my day! My web site have more than 400 physics simulations written in java (http://www.phy.ntnu.edu.tw/ntnujava/ ). Teachers complained that they are not able to run java applets for their teaching. Now, the problem is sloved by this extension. Thank you so much for your contribution!
This is great! I had a set of online “animated diagrams” as Java applets since about 1999. Over the years, support for Java in browsers has disappeared due to security concerns. Now I can see my old applets again: https://www.red3d.com/cwr/steer/Unaligned.html
No more scrambling to install old versions of Firefox, try exotic browsers, or stop by all means possible upgrades of IE. This product fills in an important need to keep functional excellent Java applets, pain free. Thank you!
Many java applets are made for educational purposes and I was affraid that all of them are lost for not-advanced users. This extension brings them back. Superb job, works flowlesly. Trying to find a way to donate developers..
There are 1,000's of crystal structure applets on webmineral.com that now work properly because of this applet. Thanks for a great product.
I'm so glad for this extension. In a perfect world old applets would all be updated now that NPAPI is depreciated, but that's not realistic, and a lack of modern browser support means that thousands of useful apps are now unavailable. I needed one in particular and was really worried I wouldn't be able to access it without downgrading my browser, and was so relieved to find this.
This extension is amazing - along with the core technology, CheerpJ, it allows my ReportMill products to run in the browser. This is the way Java in the browser should have been in the first place.
Perfect solution for those whose browsers won't load these older legacy applets. Easy to use. Excellent customer service (better than paid services I use). Literally nothing could be better.
Many thanks to Alessandro and all at leaningtech.com, I was able to play again my favourite java puzzles from clickmazes.com. Extra thanks for the speedy support Alessandro diagnosed that the puzzles also need the allow-cors-access-control plugin to allow the loading of cross-site java resources. Just installed both plugins and enabled CORS, then reloaded page. Very happy with my Christmas present!
I love this extension. I originally had an issue with the site I was trying to use this extension on, but they addressed it very quickly.
A little slow, but the applet I wanted to work seems to work.
Great for reviving an applet to use in my class. Only downside was that using the applet triggered a security issue on the host site (from a university), and my IP address was blocked from accessing that site from then on. Don't exactly know if that is an issue cheerpj can solve, but I had to find a workaround. If that wasn't an issue it would be perfect.
Great app for reviving old applets without having to resort to change the java files. Customer support also was able to solve my issue.
Using it for the 1st time and works. This is a game changer.
With Java no longer working with any of the apps that I use for teaching statistics as a university professor, I was not able to show hands visual on examples of regression concepts. I was lucky enough to stumble upon the CheerpJ extension and Alessandro is custimer service got back to me quickly and was able to help me! Great product!
Running Java applets from chrome where NPAPI is disabled is a heaven-send. Whoever created this and/or the parts of this is a genius.
Many thanks to the developers. This one have help me very much.
As an instructor, this extension is a life-saver - so many online teaching tools were made with Java. So far I have found that the CheerpJ Applet Runner extension is able to make around half of these legacy Java educational tools viewable. The customer support is also rapidly responsive - I was able to get help in a matter of minutes.
Works great for my need. I needed to access some old HP Procurve network switches that use Java for their GUI. This did the trick.
Fantastic Tool. All my Applets work again. Thank you. Great work!
This has finally managed to solve a problem I've been struggling to solve for quite a long time. The online AbDesigner tool failed to download the dat file so i couldn't see the results either online or on the heatmap viewer (downloaded for offline viewing). Now i can continues checking proteins for epitope and antibody designing :-)
Absolutely amazing. Rarely have I been so sceptical and so wrong. Your customer support is incredible and CheerpJ is like magic!
Runs my old math geometry items. Thanks Mathologer for the info!
The Java Applet I am using looks and behaves very similarly under CheerpJ on a modern computer, vs an ancient computer with an old browser that actually runs Java applets. Performance is good, too. Five stars! Note: You do have to explicitly enable CheerpJ every time you visit a page with an applet.
extension is very good but when im try to start lwjgl applet it hangs on "Extracting: lwjgl_applet.jar.pack to lwjgl_applet.jar"
Great extension to make old websites that rely on Java work again.
its pretty amazing, dont get me wrong. i have noticed some issues when an applet makes use of the older sun audio libraries. stuttering and the such. other than that, it got a game i haven't seen in ten years up and running again in the blink of an eye
It's a great tool. I had trouble with a web site, reported it and it was fixed. Thanks Alessandro and LearningTech.
Excellent! Seems to work well and allows Chrome to run Java Applets.
I like this app very much. I'm open Java applet from cheerpJ. It fine, But I can't paste text from clipboard and Thai font don't support. I have check box "Use System Clipboard" already. Sorry for my ENG and THX for great app.
I am a teacher and I use this for the many java applets available to math students. Well done and easy to use!
This was the online way to work on some premitive website, ty so much
Running JAVA applets with up to date Chromium browser is once again a reality! Just click on the icon and run the applets present on the current webpage... amazing! Thank you for the brilliant work, guys!
Great work! Although it didn't run applets with the tag <object> with type property="application/x-java-applet"
Worked perfectly on something I wanted to try for a long time... thanks
At first it wouldn't run run an applet I installed it for. I submitted a bug report and the developers were very responsive and eventually fixed the issue. Great app and great development support!
Makes it possible to run applet at https://beaujoli.se/CubeApplet/CubeApplet_gb.html and solve the Rubik's Cube
Nice to be able to see my java sites again after years of no access. BRAVO
Excellent, worked for what I needed it to, and judging by this first use case it seems it would have been very useful to know about years ago, and it sure will come in handy in future.
This app resurrected interactive math pages for me that I haven't been able to use for a long time. Thank you!
Nice but some of the applets I want don't work (maybe because they use opengl?)
The stop applet feature needs to return. Constant on is causing issues. I don't mind it auto-starting but having no way to turn it off short of removal is an issue for some sites now.
This applet runner allowed me to use the java based web configurator on an old procurve switch. Top Drawer!!
It's slow and imperfect but the fact that it works at all is pretty impressive.
this is a saver. a very good extension for running applets specially if the java on your system in no longer java8. Kudos to the maker of this extension.keep the good works!!!!
I use this Plugin to program our HPE Switches and some other Network devices and it is working great!
Thank you , you have solved a big problem with Java . good luck and keep going .
Great tool, and very important discovery that i found it, i'm using it to view the great interactive Java geometry applet on the website cut-the-knot.org. thank you very much.
Some Java Applet works and others don't. I send report to verify how to resolve the problem. Thanks
Amazing. It ran my 1990's Marilyn Monroe image animation applet!(www.twcdc.com/run)
Simply amazing semplicity and effectiveness. Very useful with old switches that only have a Java Applet interface and other similar appliances. Great job!
Its a great extension. I was struggling to find such solution for long. Thanks for making it easy.
awesome, this applet runner made my day. now i can use my old applet based website again.
My old applet game worked great! Only minor funny bug was that sound was played too fast:) http://imperialinvaders.fnfconsulting.no/imperialinvaders2.htm
Its working great. But 1 question. Will the applet still be able to communicate with the browser?
With no effort, we were able to bring an old java applet back to life. This was so easy to use!
This applet runner lets me use obsolete networking hardware that requires java web applets to function. Absolute lifesaver for the home network.
Great, java applet can be run with this extension, when mostly browser want to discontinued NPAPI
Allowed me to get into the Older Allen Bradley 1734-AENT/A units through Chrome! Life-saver!!!!!
Support for Internet Explorer is ending soon, but when?
Looking for an OpenWebStart alternative?
Learn how CheerpJ runs HTML5 Java Swing applications in modern browsers with no plugins or application rewrite required.