rhino
Rhino is an open-source implementation of JavaScript written entirely in Java
Rhino is an open-source project from Mozilla that implements JavaScript in Java. What that means in practice is that Rhino lets Java applications run JavaScript code without needing a browser or a Node.js server. If you have a Java program and want it to execute JavaScript, Rhino is one of the established tools for doing that.
The project has been around for a long time and has a long release history going back many years, with the most recent release in early 2026. It requires Java 11 or higher to run. Building it from source requires Java 17 or higher, and the README recommends Java 25 for the best experience.
The codebase is organized into separate modules so you only include what your application needs. The core module, called rhino, is necessary for running JavaScript and is what most applications use. Additional modules add a command-line shell and debugger, XML support, and an adapter for Java's standard scripting interface. There is also an all-in-one JAR that bundles the most common modules together for convenience.
Rhino supports many modern JavaScript features from ES6 and later versions of the language, and the project maintains a compatibility table on its website listing which features are and are not yet implemented.
Documentation lives at rhino.github.io, and full API documentation is available at javadoc.io. The README also links to a list of known projects that use Rhino, which gives a sense of the range of applications that embed it. The project is licensed under the Mozilla Public License 2.0.