https://github.com/ivankra/javascript-zoo
JavaScript engines zoo
https://github.com/ivankra/javascript-zoo
ecmascript javascript javascript-engine
Last synced: 10 days ago
JSON representation
JavaScript engines zoo
- Host: GitHub
- URL: https://github.com/ivankra/javascript-zoo
- Owner: ivankra
- License: mit
- Created: 2025-08-26T16:41:30.000Z (4 months ago)
- Default Branch: master
- Last Pushed: 2025-12-04T12:47:49.000Z (15 days ago)
- Last Synced: 2025-12-04T13:27:33.509Z (15 days ago)
- Topics: ecmascript, javascript, javascript-engine
- Language: JavaScript
- Homepage: https://zoo.js.org
- Size: 5.43 MB
- Stars: 137
- Watchers: 1
- Forks: 4
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome - ivankra/javascript-zoo - JavaScript engines zoo (JavaScript)
README
# JavaScript engines zoo
* [docker](docker/): Dockerfiles to build open-source engines.
Play around with pre-built binaries:
* `docker run -it ivankra/javascript-zoo`
* `podman run -it docker.io/ivankra/javascript-zoo`
* [container](https://github.com/apple/containerization) run -it docker.io/ivankra/javascript-zoo
* [engines](engines/): notes on each JavaScript engine. Structured data: [engines.json](engines.json).
* [parsers](parsers/): notes on JavaScript parsers.
* [bench](bench/): benchmarking on V8's old test suite.
[Results](https://ivankra.github.io/javascript-zoo/).
* [conformance](conformance/): conformance testing. [Results](conformance/results/).
## List of JavaScript engines
| Engine | Language | Description | Standard | Years | LOC | License |
|---|---|---|---|---|---|---|
| [V8](engines/v8.md)
[

](https://github.com/v8/v8) | C++ | JavaScript engine of Chrome, Node.js etc. | ESnext | 2008- | 1.3M | BSD-3 |
| [SpiderMonkey](engines/spidermonkey.md)
[

](https://github.com/mozilla-firefox/firefox) | C++ | JavaScript engine of Firefox. | ESnext | 1996- | 1.0M | MPL-2.0 |
| [JavaScriptCore](engines/jsc.md)
[

](https://github.com/WebKit/WebKit) | C++ | JavaScript engine of Safari/WebKit. | ESnext | 2001- | 770K | LGPL-2.0 |
| [LibJS](engines/libjs.md)
[

](https://github.com/LadybirdBrowser/ladybird) | C++ | JavaScript engine of Ladybird browser and SerenityOS. | ESnext | 2020- | 73K | BSD-2 |
| [Hermes](engines/hermes.md)
[

](https://github.com/facebook/hermes) | C++ | JavaScript engine from Facebook optimized for running React Native mobile apps. | ES2023 | 2019- | 170K | MIT |
| [QuickJS](engines/quickjs.md)
[

](https://github.com/bellard/quickjs) | C | Lightweight embeddable JavaScript engine by Fabrice Bellard and Charlie Gordon. | ES2023 | 2019- | 74K | MIT |
| [ChakraCore](engines/chakracore.md)
[

](https://github.com/chakra-core/ChakraCore) | C++ | JavaScript engine of Microsoft Edge Legacy. | ES2019 | 2015-2021 | 780K | MIT |
| [JerryScript](engines/jerryscript.md)
[

](https://github.com/jerryscript-project/jerryscript) | C | Lightweight JavaScript engine for microcontrollers. | ES2022 | 2014-2024 | 109K | Apache-2.0 |
| [Duktape](engines/duktape.md)
[

](https://github.com/svaarala/duktape) | C | Embeddable Javascript engine with a focus on portability and compact footprint. | ES5 | 2013- | 73K | MIT |
| [QuickJS-NG](engines/quickjs-ng.md)
[

](https://github.com/quickjs-ng/quickjs) | C | Community-oriented fork of QuickJS. | ES2023 | 2023- | 74K | MIT |
| [njs](engines/njs.md)
[

](https://github.com/nginx/njs) | C | Lightweight embeddable JavaScript engine for use in nginx. | ES6 | 2015- | 59K | BSD-2 |
| [cesanta/v7](engines/cesanta-v7.md)
[

](https://github.com/cesanta/v7) | C | JavaScript engine for microcontrollers. | ES5 | 2013-2017 | 25K | GPL-2.0 |
| [XS](engines/xs.md)
[

](https://github.com/Moddable-OpenSource/moddable) | C | Lightweight engine for microcontrollers/IoT by Kinoma/Marvell. | ESnext | 2002- | 89K | Apache/LGPL |
| [PrimJS](engines/primjs.md)
[

](https://github.com/lynx-family/primjs) | C++ | QuickJS-based engine from ByteDance for their cross-platform mobile apps framework Lynx. | ES2019 | 2024- | 292K | Apache-2.0 |
| [MuJS](engines/mujs.md)
[

](https://github.com/ccxvii/mujs) | C | Embeddable JavaScript engine from MuPDF. | ES5 | 2013- | 18K | ISC |
| [42tiny-js](engines/42tiny-js.md)
[

](https://github.com/gfwilliams/tiny-js) | C++ | Fork of tiny-js with more features. | no | 2010-2014 | 9.2K | MIT |
| [tiny-js](engines/tiny-js.md)
[

](https://github.com/gfwilliams/tiny-js) | C++ | Primitive interpreter for a limited subset of JavaScript. | no | 2009-2012 | 2.4K | MIT |
| [iv / lv5](engines/iv-lv5.md)
[

](https://github.com/Constellation/iv) | C++ | JIT-enabled ES5 engine in C++. | ES5 | 2009-2015 | 70K | BSD-2 |
| [Mocha](engines/mocha.md)
[

](https://github.com/doodlewind/mocha1995) | C++ | The very first JavaScript engine that defined early JavaScript language (JS1.0/1.1), shipped in Netscape Navigator 2.0-3.0. | JS1.1 | 1995-1996 | 14K | Proprietary |
| [Escargot](engines/escargot.md)
[

](https://github.com/Samsung/escargot) | C++ | Lightweight JavaScript engine by Samsung for mid-range devices like phones/TVs. | ESnext | 2016- | 116K | LGPL-2.1 |
| [QV4 / QJSEngine](engines/qv4.md)
[

](https://github.com/qt/qtdeclarative) | C++ | JavaScript engine of Qt's QML framework (QJSEngine). | ES2016 | 2012- | 50K | Qt/GPL/LGPL |
| [Tamarin](engines/tamarin.md)
[

](https://github.com/adobe/avmplus) | C++ | JavaScript engine of Adobe Flash Player 9+. | ES4 | 2006-2013 | 193K | MPL-2.0 |
| [yrm006/miniscript](engines/yrm006-miniscript.md)
[

](https://github.com/yrm006/miniscript) | C | Primitive unfinished interpreter. | no | 2018 | 2.0K | Missing |
| [Flathead](engines/flathead.md)
[

](https://github.com/ndreynolds/flathead) | C | Buggy unfinished interpreter. | no | 2012-2017 | 7.1K | MIT |
| [QuickJIT](engines/quickjit.md)
[

](https://github.com/bnoordhuis/quickjit) | C | QuickJS fork that JIT-translates bytecode using TCC. | ES2019 | 2023 | 87K | MIT/LGPL-2.1+ |
| [jsish](engines/jsish.md)
[

](https://github.com/pcmacdon/jsish) | C | Buggy unfinished interpreter. | no | 2020-2022 | 51K | MIT |
| [KJS](engines/kjs.md)
[

](https://github.com/KDE/kjs) | C++ | Original JavaScript engine of KDE's Konqueror browser. | ES5 | 1998-2023 | 42K | LGPL-2.1 |
| [Epimetheus](engines/epimetheus.md)
[

](https://github.com/jrmuizel/mozilla-cvs-history) | C++ | Netscape's experimental "JavaScript 2.0" implementation towards ES4 proposal. | ES4 | 2000-2006 | 42K | MPL/GPL/LGPL |
| [SophonJS](engines/sophonjs.md)
[

](https://github.com/gkmail/SophonJS) | C | Small footprint embedded ES5 engine. | ES5 | 2015 | 23K | BSD-3 |
| [malbrain](engines/malbrain.md)
[

](https://github.com/malbrain/javascript-database) | C | JavaScript interpreter with a built-in NO-SQL database. | | 2016-2020 | 12K | Missing |
| [quad-wheel](engines/quad-wheel.md)
[

](https://github.com/radare/quad-wheel) | C | Buggy unfinished interpreter. | no | 2010 | 7.9K | MIT |
| [AWeb](engines/aweb.md)
[

](https://github.com/mirq/aweb) | C | JavaScript engine of AWeb, a web browser for Amiga. | ES3 | 2002-2007 | 23K | Custom |
| [stackluca/v3](engines/stackluca-v3.md)
[

](https://github.com/stackluca/v3) | C | Toy JavaScript interpreter. | | 2016 | 4.3K | MIT |
| [Quanta](engines/quanta.md)
[

](https://github.com/solarbrowser/quanta) | C++ | Buggy unfinished interpreter. | no | 2025- | 42K | MPL-2.0 |
| [Voyager](engines/voyager.md)
[

](https://github.com/zapek/Voyager) | C | Web browser for Amiga with own JavaScript implementation. | ES3 | 199x-2002 | 12K | GPL-3.0 |
| [DscriptCPP](engines/dscriptcpp.md)
[

](https://github.com/DigitalMars/DscriptCPP) | C++ | DMDScript version implemented in C++. | ES3 | 2000 | 44K | BSL-1.0 |
| [ixlib](engines/ixlib.md)
[

](https://github.com/inducer/ixlib) | C++ | C++ utility library with a rudimentary JavaScript interpreter. | | 2005 | 3.8K | LGPL-2.0 |
| [CRIScript](engines/criscript.md)
[

](https://github.com/hak/criscript) | C++ | Lightweight ES3 interpreter for game engines. | ES3 | 2008 | 37K | Custom |
| [NGS](engines/ngs.md)
[

](https://github.com/markkurossi/js) | C | An independent implementation of JavaScript from late 1990s. | JS1.4 | 1998-1999 | 36K | LGPL-2.0 |
| [QSA](engines/qsa.md)
[

](https://github.com/aschet/qsaqt5) | C++ | Qt 3's JavaScript engine: Qt Script for Applications. | ES4 | 2002-2007 | | GPL-2.0 |
| [Ejscript](engines/ejscript.md)
[

](https://github.com/embedthis/ejscript) | C | Embeddable JavaScript engine. | ES4 | 2003-2014 | 107K | GPL-2.0 |
| [Carakan](engines/carakan.md)
([archive.org](https://web.archive.org/web/20170113134110/https://github.com/prestocore/browser)) | C++ | JavaScript engine of Opera 10.50 – 12.18. | ES5 | 2010-2013 | 125K | Proprietary |
| [ChowJS](engines/chowjs.md)
([mp2.dk](https://mp2.dk/techblog/chowjs/)) | C | QuickJS-based optimizing AOT compiler to native code for game developers. | ES2020 | 2021 | | Proprietary |
| [Edbrowse](engines/edbrowse.md)
([edbrowse.org](https://edbrowse.org/)) | C | Edbrowse CLI browser had own small JavaScript engine until v2.2.10 (2006). | | 2004-2006 | 2.3K | GPL |
| [JScript](engines/jscript.md)
([microsoft.com](https://learn.microsoft.com/en-us/previous-versions/hbxc2t98%28v=vs.85%29)) | C++ | JavaScript engine of Internet Explorer 3.0 – 8.0. | ES3 | 1996-2011 | | Proprietary |
| [JScript9 / Chakra](engines/jscript9.md) | C++ | JavaScript engine of Internet Explorer 9.0 – 11.0. | ES6 | 2009-2013 | | Proprietary |
| [Links](engines/links.md)
([twibright.com](http://links.twibright.com/)) | C | Links browser had a basic JavaScript engine until version 2.1pre28. | ES3 | 2002-2007 | 14K | GPL-2.0+ |
| [Opera](engines/opera.md)
([opera.com](https://help.opera.com/en/operas-archived-history/)) | C++ | Early JavaScript engines of Opera browser: Linear A, Linear B, Futhark. | ES3 | 1997-2009 | | Proprietary |
| [QtScript](engines/qtscript.md)
([qt.io](https://code.qt.io/qt/qtscript.git)) | C++ | Qt 4.3-5.x's JavaScript engine based on JavaScriptCore. | | 2007-2023 | | GPL/LGPL |
| [ScriptEase](engines/scriptease.md)
([brent‑noorda.com](https://brent-noorda.com/nombas/history/HistoryOfNombas.html)) | C | Scripting engine of Nombas ScriptEase, most famous for being used by James Webb Space Telescope. | ES3 | 199x-2004 | | Proprietary |
| [SEE](engines/see.md)
([archive.org](https://web.archive.org/web/20100328145240/http://www.adaptive-enterprises.com.au/~d/software/see/)) | C | Simple ECMAScript Engine. | ES3, JS1.5 | 2003-2009 | 34K | BSD-3 |
| [Jint](engines/jint.md)
[

](https://github.com/sebastienros/jint) | C# | JavaScript interpreter for .NET. | ESnext | 2013- | 53K | BSD-2 |
| [Jurassic](engines/jurassic.md)
[

](https://github.com/paulbartrum/jurassic) | C# | JavaScript engine for .NET, a compiler to .NET IL. | ES5, ES6 | 2010- | 35K | MIT |
| [IronJS](engines/ironjs.md)
[

](https://github.com/fholm/IronJS) | C# | ES3 implementation for .NET, built on top of .NET DLR (Dynamic Language Runtime). | ES3 | 2010-2013 | 13K | Apache-2.0 |
| [NiL.JS](engines/niljs.md)
[

](https://github.com/nilproject/NiL.JS) | C# | JavaScript interpreter for .NET. | ES6 | 2013- | 42K | BSD-3 |
| [Topaz](engines/topaz.md)
[

](https://github.com/koculu/Topaz) | C# | Multithreaded JavaScript engine for .NET. | ES6 | 2021- | 22K | MIT |
| [Yantra](engines/yantra.md)
[

](https://github.com/yantrajs/yantra) | C# | JavaScript engine for .NET. Tree walking interpreter + expression compiler to .NET IL. | ES6 | 2020- | 55K | Apache-2.0 |
| [MuscalietJS](engines/muscalietjs.md)
[

](https://github.com/mcjs/mcjs) | C# | JavaScript interpreter / compiler to CIL. Abandoned prototype for a paper. | | 2014 | 50K | BSD-3 |
| [JANET](engines/janet.md)
([archive.org](https://web.archive.org/web/20050404081554/http://janet-js.sourceforge.net/)) | C# | JavaScript implementation for .NET by Steve Newman (of Writely). | JS1.4 | 2001 | | GPL |
| [JScript .NET](engines/jscript-net.md)
([microsoft.com](http://msdn.microsoft.com/en-us/library/x85xxsf4.aspx)) | C# | Old Microsoft's JavaScript engine for .NET Framework 1.0-4.x from early 2000s / ES4 era. | ES4 | 2000-2010 | | Proprietary |
| [Higgs](engines/higgs.md)
[

](https://github.com/higgsjs/Higgs) | D | JIT compiler for JavaScript targetting x86-64 platforms. | ES5 | 2012-2015 | 40K | BSD-3 |
| [DMDScript](engines/dmdscript.md)
[

](https://github.com/DigitalMars/DMDScript) | D | ECMAScript implementation by Digital Mars written in D. | ES3 | 2002- | 18K | BSL-1.0 |
| [otto](engines/otto.md)
[

](https://github.com/robertkrimen/otto) | Go | JavaScript engine in pure Go. | ES5 | 2012- | 26K | MIT |
| [goja](engines/goja.md)
[

](https://github.com/dop251/goja) | Go | JavaScript engine in pure Go. Fully ES5 compliant, partially ES6+. | ES2023 | 2016- | 46K | MIT |
| [Hako](engines/hako.md)
[

](https://github.com/andrewmd5/hako) | Go | Embeddable WebAssembly-sandboxed PrimJS fork. | ES2019 | 2025- | 18K | Apache-2.0 |
| [fastschema/qjs](engines/fastschema-qjs.md)
[

](https://github.com/fastschema/qjs) | Go | JavaScript in Go with QuickJS and Wazero. | ES2023 | 2025- | 14K | MIT |
| [Sobek](engines/sobek.md)
[

](https://github.com/grafana/sobek) | Go | Grafana's fork of goja engine. | ES2023 | 2024- | 47K | MIT |
| [ModerncQuickJS](engines/modernc-quickjs.md)
[

](https://gitlab.com/cznic/quickjs.git) | Go | QuickJS transpiled to pure Go. | ES2023 | 2024- | 167K | BSD-3/MIT |
| [hjs](engines/hjs.md)
([haskell.org](https://hackage.haskell.org/package/hjs-0.2.1)) | Haskell | Haskell JavaScript parser and interpreter. | ES3, JS1.5 | 2007 | 2.2K | BSD-3 |
| [Rhino](engines/rhino.md)
[

](https://github.com/mozilla/rhino) | Java | JavaScript engine from Mozilla for the Java platform, bundled with JDK 6-7. | ES2023 | 1997- | 84K | MPL-2.0 |
| [GraalJS](engines/graaljs.md)
[

](https://github.com/oracle/graaljs) | Java | High-performance JavaScript engine for JVM/GraalVM. | ESnext | 2018- | 192K | GFTC/UPL-1.0 |
| [Nashorn](engines/nashorn.md)
[

](https://github.com/openjdk/nashorn) | Java | JavaScript engine of JDK 8-14 (2014-2020), based on invokedynamic JVM opcode. | ES6 | 2011- | 89K | GPL-2.0 |
| [topchetoeu](engines/topchetoeu.md)
[

](https://github.com/TopchetoEU/jscript) | Java | ES5 interpreter written in Java. | ES5 | 2023-2025 | 16K | MIT |
| [LebJS](engines/lebjs.md)
[

](https://github.com/LebsterFace/LebJS) | Java | Unfinished JavaScript engine written in Java. | no | 2021- | 14K | Apache-2.0 |
| [YAJI](engines/yaji.md)
[

](https://github.com/neades/yaji-ecmascript-interpreter) | Java | Fork of FESI interpreter with ES5 support. | ES5 | 2011-2012 | 41K | LGPL-3.0 |
| [FESI](engines/fesi.md)
([archive.org](https://web.archive.org/web/20120523224913/http://www.lugrin.ch/fesi/)) | Java | JavaScript interpreter written in Java. | ES1 | 1998-2003 | 24K | LGPL-2.0+ |
| [Porffor](engines/porffor.md)
[

](https://github.com/CanadaHonk/porffor) | JavaScript | Optimizing AOT compiler for JavaScript/TypeScript targetting WebAssembly and native binaries. | | 2023- | 28K | MIT |
| [JS-Interpreter](engines/js-interpreter.md)
[

](https://github.com/NeilFraser/JS-Interpreter) | JavaScript | Sandboxed ES5 interpreter in JavaScript. | ES5 | 2013- | 5.0K | Apache-2.0 |
| [bramblex/jsjs](engines/bramblex-jsjs.md)
[

](https://github.com/bramblex/jsjs) | TypeScript | Toy metacircular JavaScript interpreter. | | 2018 | 662 | Missing |
| [ts2c](engines/ts2c.md)
[

](https://github.com/andrei-markeev/ts2c) | TypeScript | JavaScript/TypeScript to C transpiler. | ES3 | 2016- | 9.5K | ISC |
| [sablejs](engines/sablejs.md)
[

](https://github.com/sablejs/sablejs) | JavaScript | Closed-source bytecode-based sandboxed ES5 interpreter in JavaScript. | ES5 | 2020-2022 | | Custom |
| [Narcissus](engines/narcissus.md)
[

](https://github.com/mozilla/narcissus) | JavaScript | Metacircular JavaScript interpreter, was used for prototyping new language features in ES6. | ES5 | 2007-2012 | 6.3K | MPL/GPL/LGPL |
| [engine262](engines/engine262.md)
[

](https://github.com/engine262/engine262) | TypeScript | An implementation of ECMA-262 in JavaScript aiming for 100% spec compliance, fast prototyping, validating new spec versions and test262. | ESnext | 2018- | 39K | MIT |
| [eval5](engines/eval5.md)
[

](https://github.com/bplok20010/eval5) | TypeScript | ES5 interpreter written in TypeScript. | ES5 | 2019- | 1.7K | MIT |
| [EchoJS](engines/echojs.md)
[

](https://github.com/toshok/echojs) | JavaScript | AOT compiler and runtime for ES6. | ES6 | 2012-2023 | 39K | MIT |
| [sval](engines/sval.md)
[

](https://github.com/Siubaak/sval) | TypeScript | Metacircular JavaScript interpreter. | ES2017 | 2018- | 2.1K | MIT |
| [Tachyon](engines/tachyon.md)
[

](https://github.com/Tachyon-Team/Tachyon) | JavaScript | Metacircular VM for JavaScript (ES5) written in JavaScript. | ES5 | 2010-2012 | 58K | BSD-3 |
| [jscomp](engines/jscomp.md)
[

](https://github.com/tmikov/jscomp) | TypeScript | AOT compiler targetting native code via C++. | ES5 | 2015-2016 | 20K | Apache-2.0 |
| [SandboxJS](engines/sandboxjs.md)
[

](https://github.com/nyariv/SandboxJS) | TypeScript | Interpreter for a limited subset of ES6 for sandboxing untrusted code, preventing access to non-whitelisted functions/prototypes. | ES6 | 2019- | 4.2K | MIT |
| [metaes](engines/metaes.md)
[

](https://github.com/metaes/metaes) | TypeScript | Metacircular JavaScript interpreter. | ES2017 | 2015-2022 | 2.8K | MIT |
| [Tessel Colony](engines/tessel-colony.md)
[

](https://github.com/tessel/colony-compiler) | JavaScript | JavaScript to Lua compiler. | ES5 | 2013-2015 | 1.8K | Apache/MIT |
| [Continuum](engines/continuum.md)
[

](https://github.com/ivankra/continuum) | JavaScript | ES6 interpreter written in ES3. | ES6 | 2012-2014 | 22K | MIT |
| [Reeva](engines/reeva.md)
[

](https://github.com/ReevaJS/reeva) | Kotlin | JavaScript interpreter for JVM written in Kotlin. | | 2020- | 26K | BSD-2 |
| [Charon](engines/charon.md)
([bitbucket.org](https://bitbucket.org/inferno-os/inferno-os.git)) | Limbo | JavaScript engine of Inferno OS (Plan 9's successor)'s Charon browser. | | 2006 | 7.3K | MIT |
| [CL-JavaScript](engines/cl-javascript.md)
[

](https://github.com/akapav/js) | Lisp | JavaScript to Common Lisp compiler. | ES3 | 2009-2012 | 3.4K | MIT |
| [Ejacs](engines/ejacs.md)
[

](https://github.com/emacsattic/ejacs) | Lisp | Toy JavaScript interpreter for Emacs, inspired by Narcissus. | ES1 | 2008 | 9.9K | GPL-2.0 |
| [castl](engines/castl.md)
[

](https://github.com/PaulBernier/castl) | Lua | Self-hosting JavaScript to Lua compiler with a runtime library and eval(). | ES5 | 2014-2017 | 6.4K | LGPL-3.0+ |
| [Bali](engines/bali.md)
[

](https://github.com/ferus-web/bali) | Nim | Unfinished JavaScript engine written in Nim. | no | 2024- | 13K | BSD-3 |
| [BESEN](engines/besen.md)
[

](https://github.com/BeRo1985/besen) | Pascal | JIT-enabled ES5 engine written in Object Pascal. | ES5 | 2009-2020 | 57K | LGPL-2.1 |
| [DMonkey](engines/dmonkey.md)
([archive.org](https://web.archive.org/web/20250331235827/https://osdn.net/projects/dmonkey/)) | Pascal | ECMAScript engine written in Delphi. | | 2005 | 55K | BSD-3 |
| [je-perl](engines/je-perl.md)
([metacpan.org](https://metacpan.org/dist/JE)) | Perl | JavaScript engine in pure Perl. | ES3 | 2007-2014 | 11K | Artistic/GPL |
| [Js2Py](engines/js2py.md)
[

](https://github.com/PiotrDabkowski/Js2Py) | Python | JavaScript interpreter written in Python. | ES5 | 2014-2022 | 69K | MIT |
| [rpython-langjs](engines/rpython-langjs.md)
[

](https://github.com/progval/rpython-langjs) | Python | JavaScript interpreter for PyPy. | ES3 | 2009-2013 | 7.2K | Missing |
| [twostroke](engines/twostroke.md)
[

](https://github.com/haileys/twostroke) | Ruby | JavaScript interpreter written in Ruby. | ES3 | 2011-2012 | 4.7K | MIT |
| [Boa](engines/boa.md)
[

](https://github.com/boa-dev/boa) | Rust | Embeddable Javascript engine written in Rust. | ESnext | 2018- | 141K | MIT/Unlicense |
| [Nova](engines/nova.md)
[

](https://github.com/trynova/nova) | Rust | Experimental JavaScript engine written in Rust with a cache-friendly data-oriented design. | ES6+ | 2022- | 102K | MPL-2.0 |
| [Jawsm](engines/jawsm.md)
[

](https://github.com/drogus/jawsm) | Rust | JavaScript to WebAssembly compiler. | | 2024- | 12K | Apache-2.0 |
| [Rapidus](engines/rapidus.md)
[

](https://github.com/maekawatoshiki/rapidus) | Rust | JavaScript engine written in Rust, aiming at ES5. | ES5 | 2018-2021 | 11K | MIT |
| [Starlight](engines/starlight.md)
[

](https://github.com/Starlight-JS/starlight) | Rust | JavaScript engine written in Rust. | no | 2021 | 28K | MPL-2.0 |
| [echosoar/jsi](engines/echosoar-jsi.md)
[

](https://github.com/echosoar/jsi) | Rust | JavaScript interpreter written in Rust with QuickJS-inspired bytecode. | no | 2022- | 5.9K | MIT |
| [DelSkayn/toyjs](engines/toyjs.md)
[

](https://github.com/DelSkayn/toyjs) | Rust | Toy JavaScript interpreter written in Rust. | | 2020-2024 | 19K | Missing |
| [Yavashark](engines/yavashark.md)
[

](https://github.com/Sharktheone/yavashark) | Rust | JavaScript/TypeScript engine written in Rust. | | 2024- | 177K | MIT |
| [Brimstone](engines/brimstone.md)
[

](https://github.com/Hans-Halverson/brimstone) | Rust | Javascript engine written in Rust, with nearly complete ES2025 support. | ESnext | 2022- | 74K | MIT |
| [Kiesel](engines/kiesel.md)
[

](https://codeberg.org/kiesel-js/kiesel.git) | Zig | JavaScript engine written in Zig. | ESnext | 2023- | 59K | MIT |
## JavaScript-like
Engines that implement a rather non-standard JavaScript-like language or
dialect, sufficiently different by design to interoperate with
any common tooling and libraries:
| Engine | Language | Description | Years | LOC | License |
|---|---|---|---|---|---|
| [Nerd / NectarJS](engines/nerd.md)
[

](https://github.com/NerdLang/nerd) | C++ | Compiler for a subset of JavaScript targetting native binaries. | 2017-2022 | 12K | MIT |
| [Espruino](engines/espruino.md)
[

](https://github.com/espruino/Espruino) | C | Interpreter for a subset of JavaScript for Espruino microcontrollers. | 2013- | 28K | MPL-2.0 |
| [cesanta/mjs](engines/cesanta-mjs.md)
[

](https://github.com/cesanta/mjs) | C | Interpreter for a subset of JavaScript for microcontrollers. | 2016- | 10K | GPL-2.0 |
| [cesanta/elk](engines/cesanta-elk.md)
[

](https://github.com/cesanta/elk) | C | Toy interpreter for microcontrollers for a small JavaScript subset. | 2019- | 1.2K | AGPL |
| [tjs2](engines/tjs2.md)
[

](https://github.com/krkrz/krkrz) | C++ | JavaScript-like scripting engine of KRKR2/KRKRZ game engines. | 2000-2017 | 36K | Custom |
| [Microvium](engines/microvium.md)
[

](https://github.com/coder-mike/microvium) | C | Tiny interpreter for microcontrollers for a small JavaScript subset. | 2020-2023 | 21K | MIT |
| [ucode](engines/ucode.md)
[

](https://github.com/jow-/ucode) | C | Interpreter for a small ES6-like language for microcontrollers from OpenWrt project. | 2020- | 40K | ISC |
| [motet-a/toy](engines/motet-a-toy.md)
[

](https://github.com/motet-a/toy) | C | Tiny self-compiling interpreter for a subset of JavaScript. | 2017 | 2.0K | MIT |
| [Guile](engines/guile.md)
([gnu.org](https://git.savannah.gnu.org/git/guile.git)) | C | Features a toy unfinished ECMAScript interpreter as of version 1.9. | 2009 | 1.7K | LGPL-3.0+ |
| [JUCE](engines/juce.md) | C++ | JUCE music apps framework used to have own rudimentary interpreter for a JavaScript subset. | 2013-2023 | 3.1K | ISC |
| [AssemblyScript](engines/assemblyscript.md)
[

](https://github.com/AssemblyScript/assemblyscript) | TypeScript | Compiler for a restricted TypeScript dialect to WebAssembly. | 2017- | 72K | Apache-2.0 |
| [wasmnizer-ts](engines/wasmnizer-ts.md)
[

](https://github.com/web-devkits/Wasmnizer-ts) | TypeScript | Compiler for a TypeScript subset targetting WebAssembly. | 2023-2024 | 55K | Apache-2.0 |
| [Jispy](engines/jispy.md)
[

](https://github.com/polydojo/jispy) | Python | Interpreter for a JavaScript-like language written in Python. | 2014-2017 | 1.2K | MPL-2.0 |
## Links
* Allen Wirfs-Brock and Brendan Eich (2020). [JavaScript: the first 20 years](https://dl.acm.org/doi/pdf/10.1145/3386327).
* Other compendiums: [wikipedia](https://en.wikipedia.org/wiki/List_of_JavaScript_engines), [bkil](https://github.com/bkil/gemiweb0/tree/master/doc/javascript-interpreter-runtimes.md), [linusg](https://github.com/linusg/ecmascript-wiki), [ahaoboy](https://github.com/ahaoboy/js-engine-benchmark), [eatonphil.com](https://notes.eatonphil.com/javascript-implementations.html), [buttondown.com](https://buttondown.com/whatever_jamie/archive/the-many-many-many-javascript-runtimes-of-the-last-decade/), [guest271314](https://gist.github.com/guest271314/bd292fc33e1b30dede0643a283fadc6a), [bga](https://bga.github.io/list-of-ecmascript-engines/), [JsUnit](https://joehni.github.io/JsUnit/products.html) (early 2000s JavaScript landscape), [thaliaarchi](https://github.com/thaliaarchi/regexp-museum/tree/master/langs/javascript.md) (regex engines)
* [esvu](https://github.com/devsnek/esvu) / [jsvu](https://github.com/GoogleChromeLabs/jsvu) - installers for official releases of various engines
* [test262.fyi](https://test262.fyi/) - daily test262 runs for recent engines