Rhino: JavaScript in Java


Rhino is an implementation of JavaScript in Java.


Rhino is licensed under the MPL 2.0.


Rhino 1.7R5January 29, 2015
Rhino 1.7.6April 15, 2015
Rhino 1.7.7June 17, 2015
Rhino 2, 2016
Rhino 24, 2017
Rhino 1.7.8January 22, 2018
Rhino 1.7.9March 15, 2018
Rhino 1.7.10April 9, 2018
Rhino 1.7.11May 30, 2019
Rhino 1.7.11January 13, 2020

Release Notes for recent releases.

Compatibility table which shows which advanced JavaScript features from ES6, and ES2016+ are implemented in Rhino.


Information for script builders and embedders:


JavaDoc for all the APIs:


More resources if you get stuck:



How to Build

Rhino builds with Gradle. Here are some useful tasks: ./gradlew jar Build and create Rhino jar in the buildGradle/libs directory. git submodule init git submodule update ./gradlew test Build and run all the tests. ./gradlew testBenchmark Build and run benchmark tests.

Releasing and publishing new version

  1. Ensure all tests are passing
  2. Remove -SNAPSHOT from version in gradle.properties in project root folder
  3. Create file gradle.properties in $HOME/.gradle folder with following properties. Populate them with maven repo credentials and repo location. mavenUser= mavenPassword= mavenSnapshotRepo= mavenReleaseRepo=

  4. Run Gradle task to publish artifacts to Maven Central. ./gradlew publish

  5. Increase version and add -SNAPSHOT to it in gradle.properties in project root folder.
  6. Push gradle.properties to GitHub


Rhino can run as a stand-alone interpreter from the command line: java -jar buildGradle/libs/rhino-1.7.12.jar -debug -version 200 Rhino 1.7.9 2018 03 15 js> print('Hello, World!'); Hello, World! js> There is also a "rhino" package for many Linux distributions as well as Homebrew for the Mac.

You can also embed it, as most people do. See below for more docs.


Most issues are managed on GitHub:


More Help

The Google group is the best place to go with questions: