Rhino is a JavaScript engine that implements the JavaScript language entirely in Java.
Rhino solves the problem of executing JavaScript code within Java applications and environments where a native JavaScript runtime is unavailable or impractical. It parses and interprets JavaScript source code, compiling it to Java bytecode for execution on the Java Virtual Machine. This approach allows developers to embed dynamic scripting capabilities directly into Java programs without external dependencies.
Rhino suits projects that need to execute untrusted or user-provided scripts within a Java application, integrate JavaScript logic into Java backends, or support scripting in Java-based tools and frameworks. It is particularly valuable for applications requiring a sandboxed execution environment where JavaScript can interact with Java objects and methods. The tool provides a compatibility table documenting support for ES6 and later JavaScript features, allowing developers to assess whether their target language features are available.
The project maintains a regular release cadence with multiple releases per year. Development activity shows consistent engagement with both new features and maintenance updates across the codebase. The project requires Java 17 or higher to run and Java 21 or higher to build, with Java 25 recommended for development.