Menu
Home Explore People Places Arts History Plants & Animals Science Life & Culture Technology
On this page
List of JavaScript engines
Software component that runs JavaScript

The first engines for JavaScript were mere interpreters of the source code, but all relevant modern engines use just-in-time compilation for improved performance. JavaScript engines are typically developed by web browser vendors, and every major browser has one. In a browser, the JavaScript engine runs in concert with the rendering engine via the Document Object Model and Web IDL bindings. However, the use of JavaScript engines is not limited to browsers; for example, the V8 engine is a core component of the Node.js runtime system. They are also called ECMAScript engines, after the official name of the specification. With the advent of WebAssembly, some engines can also execute this code in the same sandbox as regular JavaScript code.

We don't have any images related to List of JavaScript engines yet.
We don't have any YouTube videos related to List of JavaScript engines yet.
We don't have any PDF documents related to List of JavaScript engines yet.
We don't have any Books related to List of JavaScript engines yet.
We don't have any archived web articles related to List of JavaScript engines yet.

History

The first JavaScript engine was created by Brendan Eich in 1995 for the Netscape Navigator web browser.6 It was a rudimentary interpreter for the nascent language Eich invented.7 (This evolved into the SpiderMonkey engine, still used by the Firefox browser.8) Google debuted its Chrome browser in 2008, with the V8 JavaScript engine that was faster than its competition.910 The key innovation was just-in-time compilation (JIT), which Mozilla had also been working on for SpiderMonkey.11 Because of V8's performance, the other browser vendors needed to overhaul their engines for JIT.12 Apple developed the Nitro engine for its Safari browser, which had 30% better performance than its predecessor.13 Mozilla then leveraged portions of Nitro to improve SpiderMonkey.14 Since 2017, these engines have added support for WebAssembly.15

List

EngineDescription
V8A JavaScript engine used in Google Chrome and other Chromium-based browsers (such as Microsoft Edge). Also used in Node.js, Deno, and V8.NET.
SpiderMonkeyA JavaScript engine in Mozilla Gecko applications, including Firefox. The engine currently includes the IonMonkey compiler and OdinMonkey optimization module, has previously included the TraceMonkey compiler (first JavaScript JIT) and JägerMonkey.
JavaScriptCoreA JavaScript interpreter and JIT originally derived from KJS. It is used in the WebKit project, applications such as Safari, and the Bun runtime. Also known as Nitro, SquirrelFish, and SquirrelFish Extreme.16
KJSThe engine used in Konqueror, and one component of KHTML, a predecessor to JavaScriptCore.
JScriptThe engine that is used in Internet Explorer for versions up to IE9, and one component of the MSHTML (Trident) browser engine.
Chakra (JScript9)A JScript engine used in Internet Explorer. It was first previewed at MIX 10 as part of the Internet Explorer 9 Platform Preview.17
ChakraA JavaScript engine used in Microsoft Edge [Legacy].18
Linear BThe ECMAScript engine of the Opera web browser versions 7.0 to 9.50, exclusive.
FutharkThe ECMAScript engine of the Opera web browser versions 9.50 to 10.10.
CarakanA JavaScript engine developed by Opera Software ASA, included in the 10.50 release of the Opera web browser, until switching to V8 with Opera 15 (released in 2013).192021
Graal.jsAn ECMAScript compliant JavaScript engine for GraalVM which supports language interoperability that can also execute Node.js applications.
RhinoOne of several JavaScript engines from Mozilla, using the Java platform.
NashornA JavaScript engine used in Oracle Java Development Kit (JDK) from Java versions 8-14.22 Now available as a standalone library which can be used with Java 11 and higher.23
JScript .NETA .NET Framework JScript engine used in ASP.NET based on Common Language Runtime and COM Interop. Support was dropped with .NET Core and CoreCLR so its future looks questionable for ASP.NET Core.
TamarinAn ActionScript and ECMAScript engine used in Adobe Flash.
GNU Guilefeatures an ECMAScript interpreter as of version 1.9
ivECMAScript Lexer / Parser / Interpreter / VM / method JIT written in C++.24
CL-JavaScriptCan compile JavaScript to machine language on Common Lisp implementations that compile to machine language.25
BESENA complete JIT-compiling implementation of ECMAScript Fifth Edition written in Object Pascal.26
Hermesdeveloped by Facebook for React Native mobile apps27 Can also be used independent from React Native.
ContinuumA self-interpreter that supports older drafts of the ECMAScript 2015 specification.28 Uniquely, the engine is implemented in ECMAScript 3, which made it possible to run ES2015 in browsers as old as IE6.29
InScriptAn obsolete proprietary library used for iCab 2 and 3.
JintJavascript interpreter with integrated engine for .NET
NarcissusJavaScript implemented in JavaScript (a meta-circular evaluator), intended to run in another JavaScript engine, of theoretical and educational nature only.
JS-InterpreterA lightweight JavaScript interpreter implemented in JavaScript with step-by-step execution.
QtScriptOriginally developed by Trolltech, now owned by The Qt Company. It provides QObject integration with JavaScriptCore.
V4 (QJSEngine)Qt's newer ECMAScript engine, powering QML and QtQuick. ES6-compliant and under active development at The Qt Company. V4 is JIT compiled.30
YAJIAn ECMAScript engine based on the FESI implementation by Jean-Marc Lugrin in 1999, using the Java platform, currently being developed to support the latest standards (ECMAScript spec. 262, v5.1).313233
MicroviumJavaScript engine for microcontrollers, supporting a restricted subset of the ECMAScript specification, using less than 16 kB of flash memory and 64 B of RAM while idle.34
DuktapeA small footprint, easily embeddable Ecmascript E5/E5.1 engine.35
XS JavaScript EngineAn ECMAScript 2020-compliant engine for microcontrollers with limited resources.3637 XS is maintained by Moddable as part of the Moddable SDK and was formerly part of the Kinoma Platform.38
JsishAn ES5.1 subset interpreter with builtin SQLite, JSON, WebSocket, and ZVFS support.39
EspruinoA very small footprint interpreter specifically for microcontrollers. Can run in less than 8 kB of RAM by executing from source (rather than bytecode).
MuJSA lightweight ECMAScript interpreter library, designed for embedding in other software to extend them with scripting capabilities. Originally developed for MuPDF.40
mJSRestricted JavaScript engine. Used for Internet of Things (IoT).
Tiny-JSA minimal JavaScript interpreter written in C++.
JerryScriptA lightweight JavaScript engine by Samsung for microcontrollers with less than 64 KB RAM.
njsA lightweight JavaScript interpreter optimized for web server scripting and fastest VM context creation; used in nginx.41
quickjsA lightweight ECMAScript 6 interpreter by Fabrice Bellard and Charlie Gordon; it features a compiler to produce binary executable from .js.
engine262A JavaScript engine written in JavaScript for development and exploration. It is primarily used to validate the ECMAScript specification.
BoaA JavaScript engine written in Rust.4243
ScriptEaseAn old proprietary engine last updated in 2003. Only notable for its use in the James Webb Space Telescope.44
LibJSJavaScript engine of the SerenityOS and Ladybird projects.45 Initially it was an AST interpreter, but has been upgraded to a bytecode-based one.46
KieselJavaScript engine by Linus Groh written in Zig.474849

References

  1. Looper, Jen (21 September 2015). "A Guide to JavaScript Engines for Idiots". Telerik Developer Network. Archived from the original on 8 December 2018. Retrieved 8 December 2018. https://web.archive.org/web/20181208123231/http://developer.telerik.com/featured/a-guide-to-javascript-engines-for-idiots/

  2. "How Blink Works". Google. Retrieved 12 March 2024. https://docs.google.com/document/d/1aitSOucL0VHZa9Z2vbRJSyAIsAz24kX8LFByQ5xQnUg

  3. "Documentation · V8". Google. Retrieved 3 March 2024. https://v8.dev/docs

  4. Nelaturu, Keerthi. "WebAssembly: What's the big deal?". medium.com. Retrieved 3 March 2024. https://medium.com/coinmonks/webassembly-whats-the-big-deal-662396ff1cd6

  5. "Documentation · V8". Google. Retrieved 3 March 2024. https://v8.dev/docs

  6. Eich, Brendan (21 June 2011). "New JavaScript Engine Module Owner". http://brendaneich.com/2011/06/new-javascript-engine-module-owner/

  7. Fin JS (17 June 2016), "Brendan Eich – CEO of Brave", YouTube, retrieved 7 February 2018 https://www.youtube.com/watch?v=XOmhtfTrRxc

  8. Eich, Brendan (21 June 2011). "New JavaScript Engine Module Owner". http://brendaneich.com/2011/06/new-javascript-engine-module-owner/

  9. "Big browser comparison test: Internet Explorer vs. Firefox, Opera, Safari and Chrome". PC Games Hardware. Computec Media AG. 3 July 2009. Archived from the original on 2 May 2012. Retrieved 28 June 2010. https://www.pcgameshardware.com/aid,687738/Big-browser-comparison-test-Internet-Explorer-vs-Firefox-Opera-Safari-and-Chrome-Update-Firefox-35-Final/Practice/

  10. Purdy, Kevin (11 June 2009). "Lifehacker Speed Tests: Safari 4, Chrome 2". Lifehacker. Archived from the original on 14 April 2021. Retrieved 8 May 2021. https://lifehacker.com/lifehacker-speed-tests-safari-4-chrome-2-and-more-5286869

  11. "TraceMonkey: JavaScript Lightspeed, Brendan Eich's Blog". Archived from the original on 4 December 2015. Retrieved 22 July 2020. https://brendaneich.com/2008/08/tracemonkey-javascript-lightspeed/

  12. "Mozilla asks, 'Are we fast yet?'". Wired. Archived from the original on 22 June 2018. Retrieved 18 January 2019. https://www.wired.com/2010/09/mozilla-asks-are-we-fast-yet/

  13. Safari 5 Released http://www.prnewswire.com/news-releases/apple-releases-safari-5-95817479.html

  14. Shankland, Stephen (2 March 2010). "Opera 10.5 brings new JavaScript engine". CNET. CBS Interactive. Archived from the original on 3 October 2013. Retrieved 30 January 2012. https://web.archive.org/web/20131003051354/http://news.cnet.com/8301-30685_3-20000110-264.html

  15. Nelaturu, Keerthi. "WebAssembly: What's the big deal?". medium.com. Retrieved 3 March 2024. https://medium.com/coinmonks/webassembly-whats-the-big-deal-662396ff1cd6

  16. "JavaScriptCore – WebKit". http://trac.webkit.org/wiki/JavaScriptCore

  17. Frequently Asked Questions, Microsoft, 13 March 2010, archived from the original on 22 March 2010, retrieved 18 March 2010 https://web.archive.org/web/20100322193213/http://ie.microsoft.com/testdrive/info/FrequentlyAskedQuestions/Default.html

  18. "Targeting Edge vs. Legacy Engines in JsRT APIs". Retrieved 10 September 2015. https://msdn.microsoft.com/en-us/library/dn903710(v=vs.94).aspx

  19. "Carakan". Archived from the original on 31 May 2009. Retrieved 9 July 2009. https://web.archive.org/web/20090531095136/http://labs.opera.com/news/2009/02/05/

  20. "Opera Desktop Team's Blog | Opera". Archived from the original on 3 March 2006. https://web.archive.org/web/20060303160759/http://my.opera.com/desktopteam/blog/

  21. "Dev.Opera — Blog". dev.opera.com. https://dev.opera.com/blog/

  22. "Oracle Nashorn: A Next-Generation JavaScript Engine for the JVM". http://www.oracle.com/technetwork/articles/java/jf14-nashorn-2126515.html

  23. "Using Nashorn with different Java versions". GitHub. Retrieved 23 January 2025. https://github.com/szegedi/nashorn/wiki/Using-Nashorn-with-different-Java-versions

  24. "Constellation/iv". GitHub. Retrieved 15 November 2015. https://github.com/Constellation/iv

  25. "CL-JavaScript". Retrieved 14 September 2018. http://marijnhaverbeke.nl/cl-javascript/

  26. "Support me". GitHub. 18 November 2021. https://github.com/BeRo1985/besen

  27. "Using Hermes". Facebook. Retrieved 9 April 2021. https://reactnative.dev/docs/hermes

  28. "ECMAScript 2015 Language Specification – ECMA-262 6th Edition". http://www.ecma-international.org/ecma-262/6.0/

  29. "An ES6 Virtual Machine Built in JavaScript". Archived from the original on 3 December 2012. Retrieved 1 December 2012. https://web.archive.org/web/20121203041426/http://benvie.github.com/continuum/

  30. "V4 - Qt Wiki". wiki.qt.io. Retrieved 24 April 2021. https://wiki.qt.io/V4

  31. "ECMAScript Language Specification ECMA-262 5.1 edition" (PDF). Ecma International. June 2011. Archived from the original (PDF) on 12 April 2015. Retrieved 31 January 2012. https://web.archive.org/web/20150412040502/http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf

  32. "YAJI: Yet Another JavaScript Interpreter". Google Code. Retrieved 31 January 2012. https://code.google.com/p/yaji-ecmascript-interpreter/

  33. "FESI". September 2003. Archived from the original on 6 September 2012. Retrieved 6 August 2012. https://web.archive.org/web/20120906033028/http://www.lugrin.ch/fesi/

  34. "Microvium is very small". 11 June 2022. Retrieved 23 August 2022. https://coder-mike.com/blog/2022/06/11/microvium-is-very-small/

  35. "Duktape". Retrieved 21 September 2013. http://www.duktape.org/

  36. "moddable/documentation/xs/XS Conformance.md at public". GitHub. https://github.com/Moddable-OpenSource/moddable/blob/public/documentation/xs/XS%20Conformance.md#results

  37. "Apps for IoT". Archived from the original on 28 December 2018. https://web.archive.org/web/20181228063939/http://www.moddable.com/faq.php

  38. "Xs7 @ Tc-39". https://www.moddable.com/XS7-TC-39

  39. "Jsish". Retrieved 30 April 2014. http://jsish.org/

  40. "MuJS". Retrieved 22 September 2014. http://mujs.com/

  41. "NGINX JavaScript in Your Web Server Configuration". YouTube. 26 October 2018. Archived from the original on 13 December 2021. Retrieved 30 October 2018. https://www.youtube.com/watch?v=Jc_L6UffFOs

  42. "Let's build a JavaScript Engine". 2019.jsconf.eu. Retrieved 23 March 2022. https://2019.jsconf.eu/jason-williams/lets-build-a-javascript-engine.html

  43. "GitHub - boa-dev/boa: Boa is an embeddable and experimental Javascript engine written in Rust". github.com. Retrieved 8 April 2022. https://github.com/boa-dev/boa

  44. Clark, Mitchell (18 August 2022). "The James Webb Space Telescope runs JavaScript, apparently". The Verge. Retrieved 2 September 2022. https://www.theverge.com/2022/8/18/23206110/james-webb-space-telescope-javascript-jwst-instrument-control

  45. "LibJS JavaScript engine". libjs.dev. Retrieved 30 June 2023. https://libjs.dev/

  46. "LibJS: Rip out the AST interpreter :^) · LadybirdBrowser/ladybird@2eaa528". GitHub. Retrieved 10 July 2024. https://github.com/LadybirdBrowser/ladybird/commit/2eaa528a0ea606b2be9a1868ba711b1987409d70

  47. "Kiesel JavaScript Engine". kiesel.dev. Retrieved 9 April 2025. https://kiesel.dev/

  48. kiesel-js. "kiesel". Codeberg.org. Retrieved 9 April 2025. https://codeberg.org/kiesel-js/kiesel

  49. "Linus Groh". linus.dev. Retrieved 18 April 2025. https://linus.dev/