V8 vs SpiderMonkey vs JavaScriptCore

All three major JavaScript engines are primarily written in C++. V8 (Google) powers Chrome and Node.js. SpiderMonkey (Mozilla) powers Firefox and also uses Rust and JavaScript. JavaScriptCore (Apple/WebKit) powers Safari.

V8

V8 is Google's open-source JavaScript and WebAssembly engine, written in C++. It compiles JavaScript directly to machine code using JIT compilation. V8 powers Google Chrome, Node.js, Deno, and Electron. It was first released in 2008.

SpiderMonkey

SpiderMonkey is Mozilla's JavaScript engine, written in C++, Rust, and JavaScript. It was the first JavaScript engine ever created, written by Brendan Eich in 1995. SpiderMonkey powers Firefox. It uses a tiered JIT compilation system (Baseline JIT + IonMonkey).

JavaScriptCore

JavaScriptCore (also called Nitro) is Apple's JavaScript engine, written in C++. It is part of the WebKit project and powers Safari on macOS and iOS. All iOS browsers are required by Apple to use JavaScriptCore. It uses a four-tier architecture (LLInt, Baseline JIT, DFG JIT, FTL JIT).

Comparison

EngineCreatorWritten inPowers
V8GoogleC++Chrome, Node.js, Deno
SpiderMonkeyMozillaC++, Rust, JavaScriptFirefox
JavaScriptCoreApple/WebKitC++Safari, all iOS browsers

Related Pages

Explore JavaScript Relationships in Graph →