Advertisement
Advertisement
Skip to content
Follow Us on
Advertisement
TOP STORIES
CA, CS, CMA

How Web Browsers Work: Firefox, Chromium and Safari Compared

Advertisement

Summary: The supplied article explains how web browsers work by comparing Safari, Firefox, and Chromium, focusing on their browser engines, JavaScript engines, features, performance, compatibility, privacy, and use cases. It states that Safari uses WebKit and JavaScriptCore, Firefox uses Gecko and SpiderMonkey, while Chromium uses Blink and V8. The article discusses practical browser-selection considerations, including Firefox’s emphasis on privacy and customization, Chromium’s broad website compatibility and ecosystem, and Safari’s battery efficiency and Apple hardware integration. It notes that some websites and services are optimized for Chromium, citing YouTube as a documented historical example and referring to Excalidraw, Squoosh, and Google Meet as services that lean on Chromium capabilities. It also describes Firefox extensions such as “Chrome Mask” and “Open in Google Chrome Browser.” The article explains that JavaScriptCore, SpiderMonkey, and V8 execute the same JavaScript language while using different implementations and optimization approaches. It further compares their parsing, bytecode, interpretation, JIT compilation, memory management, WebAssembly, security, debugging, performance, ecosystem, internal pipelines, and design philosophies.

How a Web Browser Works

What it is

a. Today, the way GUI (Graphic User Interface) of various applications is being developed, a web browser will rank among the top 5. Practically everybody is using one or the other web browser.

b. The author tries to analyse as to “how a web browser works”. To achieve the objective, I intend to proceed in a comparison manner of following three web browsers. It will enable the audience to choose the one as per their needs.

c. Before proceeding, one may usefully refer to https://www.webbrowserdirectory.com/browsers/

d. One may also usefully refer to https://zen-browser.app/, a Firefox based web browser. It is being recommended for its variety of features.

Why this article

e. When the season of Income Tax Return of non-business no audit with July 31, 2026 as due date was on, my office’s Income Tax return Application is integrated with Google Chrome Browser. The Google Chrome was opening 16-20 threads, and it is reducing the overall speed and at times the machine hangs.

f. I kept the Google Chrome as default browser but instructed the staff to use Microsoft Edge and / or Mozilla Firefox for other purposes. Though not 100%, it solved the issue and it made me think as to what happened.

g. It ignited a curiosity as to why such a phenomenon. In that period, there were multiple things that were happening including the development of Google-Chrome Web Browser. There were news items that Google-Chrome Web Browser was installing a 1.5 GB size file for AI.

Take away Point

h. In general, public at large will be using either Firefox or chromium (or variant thereof)

a. Firefox = focuses more on security

b. Chromium = focuses more on speed.

i. The above is a very broad statement. There are some websites which are specifically optimised for chromium-based web browsers. For those websites, chromium-based web browser will give better results.

j. For using any service from Google ecosystem, obviously, it is advisable to use a browser based on chromium

Real, citable example — a site favouring Chrome

k. The clearest documented case is YouTube. In 2018, a Mozilla engineer pointed out that YouTube’s redesign relied on a deprecated web technology (Shadow DOM v0) that only Chrome had implemented, and this made the site around five times slower on Microsoft Edge and Firefox at the time.

l. It’s an old story now and the specific bug has since been fixed, but it’s a real, widely-reported example you can point to: com, circa 2018, running noticeably worse on non-Chrome browsers because of a technical choice Google made.

Lean on chromium-based browser

m. Refer to the following websites one can open today that lean on Chrome-only capabilities. This is not a criticism (not controversial — just genuine feature gaps)

a. excalidraw.com — the “save to disk” / “open from disk” flow uses a Chromium-only API (File System Access). On Firefox it still works, just falls back to a plain download instead of live-editing a file on your computer.

b. squoosh.app — Google’s own image-compression tool, built to lean on Chromium’s fastest image codecs.

c. meet.google.com— Google has long recommended Chrome for the best video quality and background-blur performance; other browsers work but with more limited feature sets.

Extension namely “Chrome Mask,” in Firefox

n. A little Firefox Extension that provides a one-click toggle to spoof as Chrome in Firefox – or, in other words, to put on the Chrome Mask. There are a lot of generic “User Agent spoof” extensions. However, this extension does a few things differently:

o. Instead of overriding the User Agent string on all sites, this extension allows you to only look like Chrome on specific sites.

p. Unlike some extensions with outdated version numbers and UA strings, this extension automatically updates the Chrome version it pretends to be. It does that by querying a simple API every 24 hours.

q. You don’t have to pick the correct Operating System manually; this extension does it for you.

r. Even if you do not understand the following technical thing, it is perfectly alright.

Another Extension namely “Open in Google Chrome Browser” by Andy Portmen

s. In this case, it opens the current tab or links in the Google Chrome browser. Using this extension, you can send links to Google Chrome without the need to manually copy and paste links. It is even possible to define keyboard shortcuts for easier access.

Summary-:

t. The author could not find websites which lean towards Firefox as compared to chromium. The reason being the structure of firefox is asymmetric, i.e. it caters to a variety of users and a variety of purposes of browsing. It tries to accommodate every such permutation and combination whereby the users’ objective is served.

u. It tries to ensure that every user is able to accomplish their objective irrespective of the way in which a particular website is structured.

v. Another practical reason is that google has an eco-system which Firefox (Mozilla) does not have.

Browser Engine and Feature Comparison

Car Analogy

w. Every web browser can be divided broadly in two parts namely

a. an engine

b. other browsing features

x. Taking the above analogy slightly ahead, the driver never directly interacts with the engine.

y. The names of the cars and their features are used only for illustration. It does not intend to mean verbatim i.e. do not think that because BMW is better than Mercedes, so consequentially Firefox is better than Chromium.

z. The driver never directly interacts with the engine. Likewise, a browser user rarely interacts directly with WebKit, Gecko, or Blink.

Feature Safari Firefox Chromium
Browser Safari Firefox Chromium
Engine inside WebKit Gecko Blink
JavaScript Engine inside JavaScriptCore SpiderMonkey V8
Think of the browser as… A complete car A complete car A complete car
Think of the engine as… Toyota engine BMW engine Mercedes engine
Who builds the engine? Apple Mozilla Google
Who builds the browser? Apple Mozilla Chromium Project (Google-led)
Can the engine be reused? Limited Rarely Yes, by many browser vendors
Examples using the same engine Safari, Orion Firefox, LibreWolf, Waterfox Chrome, Edge, Brave, Opera, Vivaldi, Arc
Feature Safari Firefox Chromium
Car Model Toyota Camry BMW 5 Series Mercedes E-Class
Engine Toyota 2.5L Engine BMW B58 Engine Mercedes M254 Engine
Dashboard Apple-designed Mozilla-designed Chromium-designed
Seats & Interior Apple UI Firefox UI Chromium UI
Navigation System Apple Mozilla Chromium
Driving Experience Different Different Different
Engine’s Job Convert fuel into motion Convert fuel into motion Convert fuel into motion

Scope of the article

aa. Broadly speaking, following are the popular one and perhaps different ones the analysis of which will be useful.

a. Safari = Only on Mac machines or Mac Environment like i-phone, iPad. People would have heard about it but might not have worked on it. It is highly optimised with Apple’s hardware but it does not work on other operating systems and / or devices.

As contrary to above, the following works on every device and / or every operating system.

b. Firefox = Mozilla Foundation (non-profit) and Mozilla Corporation (commercial subsidiary). Other based on this are Firefox ESR, Tor Browser. com

c. Chromium = serves as the base for browsers such as Google Chrome, Microsoft Edge, Brave, Opera, and Vivaldi. org

Other Features

Website Contains Safari Firefox Chromium
2 + 3 JavaScriptCore calculates 5 SpiderMonkey calculates 5 V8 calculates 5
User clicks Login JavaScriptCore executes the click handler SpiderMonkey executes the click handler V8 executes the click handler
Validate email address JavaScriptCore validates it SpiderMonkey validates it V8 validates it
Fetch latest stock price JavaScriptCore executes the request SpiderMonkey executes the request V8 executes the request
Refresh dashboard every 5 seconds JavaScriptCore runs the timer SpiderMonkey runs the timer V8 runs the timer

Perceiving repetition for all features…? Most obvious question Are JavaScriptCore, SpiderMonkey, and V8 different programming languages? The answer is ‘No’. They all execute the same JavaScript language but in their own manner.

Question Answer
Do they perform different jobs? No. Their core responsibility is the same: execute JavaScript code.
Why are there three of them? Each browser vendor develops its own implementation, optimizing for different goals such as power efficiency, standards, security, or performance.
Can the same website run on all three? Yes. A standards-compliant website should work on all three engines, although performance characteristics may differ.

Overall Features

Feature Mozilla Firefox Chromium
Developer Mozilla Foundation / Mozilla Corporation Google (Open Source Project)
License Open Source (MPL 2.0) Open Source (BSD and others)
Browser Engine Gecko Blink
JavaScript Engine SpiderMonkey V8
Primary Platforms Windows, Linux, macOS, Android Windows, Linux, macOS
Availability on Linux Yes Yes
Availability on Windows Yes Yes
Privacy Philosophy Strong privacy-first approach Depends on the browser built on Chromium
Telemetry Limited; can be disabled Very little in Chromium itself; Chrome adds more telemetry
Ad/Tracker Blocking Enhanced Tracking Protection Basic; depends on browser implementation
Extension Support WebExtensions Chrome Extensions
Extension Ecosystem Large Very Large
Memory Usage Moderate Generally highest
CPU Efficiency Good Good but can consume more CPU
Battery Life (MacBook) Good Usually lower than Safari
Performance on Apple Silicon Very Good Very Good
Performance on Windows Very Good Very Good
Performance on Linux Excellent Excellent
Standards Compliance Excellent Excellent
Experimental Web APIs Moderate Fastest adoption
Developer Tools Excellent Excellent
Web Compatibility Excellent Best compatibility (many sites target Chromium)
Enterprise Management Good Good
Synchronization Firefox Sync Depends on browser (Chrome Sync, Edge Sync, etc.)
Open Source Yes Yes
Customization Extensive Moderate
UI Customization Excellent Moderate
Reader Mode Yes Depends on browser
Container Tabs Yes (unique feature) No
Picture-in-Picture Yes Yes
Password Manager Firefox Password Manager Depends on browser
Typical Security Update Speed Fast Very Fast
Best For Privacy, customization, developers Maximum compatibility and browser development
Browser à Safari Firefox Chromium
Major Advantages Best battery life, fastest on Apple Silicon, deep macOS integration, excellent privacy, lowest memory usage Strong privacy, independent browser engine, highly customizable, container tabs, excellent developer tools Largest extension ecosystem, best website compatibility, latest web technologies, foundation for many browsers
Major Dis-advantages Apple-only, fewer extensions, slower adoption of some new web APIs Some websites optimize primarily for Chromium, slightly slower JavaScript performance in some workloads Higher RAM usage, many websites become Blink-dependent, privacy depends on the specific Chromium-based browser

Rendering Engine Comparison

Engine Used By Strength
WebKit Safari Power efficiency and Apple ecosystem integration
Gecko Firefox Independent implementation, privacy focus, standards compliance
Blink Chromium, Performance, compatibility, rapid feature adoption

Which One Should You Choose?

Use Case Recommended Browser
MacBook battery life Safari
Apple ecosystem integration Safari
Lowest memory consumption on Mac Safari
Use Case Recommended Browser
Privacy Firefox
Web development Firefox or Chromium
Maximum website compatibility Chromium
Open-source preference Firefox or Chromium
Linux usage Firefox or Chromium
Windows usage Firefox or Chromium
Browser engine diversity (avoiding Blink monoculture) Firefox

Overall Assessment

Criterion Winner Criterion Winner
Battery efficiency Safari Customization Firefox
Privacy Firefox Performance on macOS Safari
Web compatibility Chromium Cross-platform availability Firefox
Extension ecosystem Chromium Independent browser engine Firefox

JavaScript Engine Comparison

For those interested in technical aspects or respective engines

Below is a comparison of the three JavaScript engines from an engineering perspective. All three implement the ECMAScript (JavaScript) standard, but their internal designs and optimizations differ.

Summary

Area JavaScriptCore (Safari) SpiderMonkey (Firefox) V8 (Chromium)
Best Known For Battery-efficient execution on Apple devices Independent standards-compliant implementation High-performance execution and extensive ecosystem
Major Strength Efficiency and integration Correctness, security, browser diversity Speed, optimization, and versatility
Typical Users Safari users Firefox users Chromium-based browsers and JavaScript server platforms
Technical Aspect JavaScriptCore (Safari) SpiderMonkey (Firefox) V8 (Chromium)
Developer Apple Mozilla Google
First Released 2003 1996 (oldest JS engine) 2008
Primary Goal Battery efficiency and Apple ecosystem optimization Standards compliance, security, maintainability Maximum execution speed and scalability
Written Mainly In C++ C++, Rust (some components) C++
01. JavaScript Parsing

02. Intermediate Representation

03. Interpreter

04. Just-In-Time (JIT) Compilation

05. Memory Management

06. Optimization Techniques

07. ECMAScript Support

08. WebAssembly

09. Multithreading

10. Debugging Support

11. Security Features

12. Performance Characteristics

13. Ecosystem

14. Internal Pipeline

15. Design Philosophy

1. JavaScript Parsing

Aspect JavaScriptCore (Safari) SpiderMonkey (Firefox) V8 (Chromium)
Reads JavaScript Source Code Yes Yes Yes
Lexical Analysis (Tokenizer) Yes Yes Yes
Syntax Parser Yes Yes Yes
Creates AST (Abstract Syntax Tree) Yes Yes Yes
Performs Syntax Validation Yes Yes Yes

2. Intermediate Representation

Aspect JavaScriptCore (Safari) SpiderMonkey (Firefox) V8 (Chromium)
Generates Internal Bytecode Yes Yes Yes
Optimizes Bytecode Yes Yes Yes
Internal Representation Bytecode Bytecode Bytecode

3. Interpreter

Aspect JavaScriptCore (Safari) SpiderMonkey (Firefox) V8 (Chromium)
Interpreter Name LLInt (Low-Level Interpreter) Interpreter Ignition
Executes Code Immediately Yes Yes Yes
Startup Performance Excellent Excellent Excellent

4. Just-In-Time (JIT) Compilation

Aspect JavaScriptCore (Safari) SpiderMonkey (Firefox) V8 (Chromium)
Baseline JIT Yes Baseline JIT Sparkplug
Optimizing JIT DFG + FTL Warp TurboFan
Dynamic Optimization Yes Yes Yes
Re-optimization Yes Yes Yes
De-optimization Yes Yes Yes

5. Memory Management

Aspect JavaScriptCore (Safari) SpiderMonkey (Firefox) V8 (Chromium)
Automatic Garbage Collection Yes Yes Yes
Generational GC Yes Yes Yes
Incremental GC Yes Yes Yes
Concurrent GC Yes Yes Yes
Compacting GC Yes Yes Yes

6. Optimization Techniques

Aspect JavaScriptCore (Safari) SpiderMonkey (Firefox) V8 (Chromium)
Inline Caching Yes Yes Yes
Hidden Classes / Shapes Structure IDs Shapes Hidden Classes (Maps)
Function Inlining Yes Yes Yes
Dead Code Elimination Yes Yes Yes
Constant Folding Yes Yes Yes
Escape Analysis Yes Limited Yes

7. ECMAScript Support

Aspect JavaScriptCore (Safari) SpiderMonkey (Firefox) V8 (Chromium)
ES5 Yes Yes Yes
ES6 (ES2015) Yes Yes Yes
Latest ECMAScript Features Yes Yes Yes
Modules Yes Yes Yes
Async/Await Yes Yes Yes
Promises Yes Yes Yes
Generators Yes Yes Yes
Classes Yes Yes Yes

8. WebAssembly

Aspect JavaScriptCore (Safari) SpiderMonkey (Firefox) V8 (Chromium)
WebAssembly Support Yes Yes Yes
Streaming Compilation Yes Yes Yes
JIT Compilation for WASM Yes Yes Yes

9. Multithreading

Aspect JavaScriptCore (Safari) SpiderMonkey (Firefox) V8 (Chromium)
Background Compilation Yes Yes Yes
Concurrent Garbage Collection Yes Yes Yes
Worker Threads Yes Yes Yes

10. Debugging Support

Aspect JavaScriptCore (Safari) SpiderMonkey (Firefox) V8 (Chromium)
Breakpoints Yes Yes Yes
Stack Traces Yes Yes Yes
Source Maps Yes Yes Yes
CPU Profiling Yes Yes Yes
Memory Profiling Yes Yes Yes

11. Security Features

Aspect JavaScriptCore (Safari) SpiderMonkey (Firefox) V8 (Chromium)
Sandboxing Support Yes (browser-provided) Yes (browser-provided) Yes (browser-provided)
Memory Safety Improvements Good Strong (with increasing Rust usage) Strong
Bounds Checking Yes Yes Yes
Type Checking Yes Yes Yes

12. Performance Characteristics

Aspect JavaScriptCore (Safari) SpiderMonkey (Firefox) V8 (Chromium)
Startup Time Excellent Excellent Excellent
Long-running Code Excellent Excellent Excellent
Battery Efficiency Excellent Good Good
Peak Throughput High High Very High
Apple Silicon Optimization Excellent Good Good

13. Ecosystem

Aspect JavaScriptCore (Safari) SpiderMonkey (Firefox) V8 (Chromium)
Primary Browser Safari Firefox Chromium
Mobile Browser Safari (iOS/iPadOS) Firefox Mobile Chrome Mobile
Standalone Embedding Limited Possible Extensive
Used by Node.js No No Yes
Used by Deno No No Yes (default)

14. Internal Pipeline

Processing Stage JavaScriptCore (Safari) SpiderMonkey (Firefox) V8 (Chromium)
Read Source Code Yes Yes Yes
Tokenize Yes Yes Yes
Parse Yes Yes Yes
Build AST Yes Yes Yes
Generate Bytecode Yes Yes Yes
Interpret Bytecode LLInt Interpreter Ignition
Baseline JIT Yes Baseline Sparkplug
Optimizing JIT DFG → FTL Warp TurboFan
Execute Optimized Machine Code Yes Yes Yes
Garbage Collection Yes Yes Yes

15. Design Philosophy

Aspect JavaScriptCore (Safari) SpiderMonkey (Firefox) V8 (Chromium)
Primary Focus Power efficiency, low memory usage, Apple hardware integration Open standards, maintainability, security, browser independence High performance, fast execution, scalability across browsers and server-side runtimes
Typical Deployment Apple ecosystem Firefox ecosystem Chromium ecosystem and server-side JavaScript
Most Distinguishing Feature Tight integration with Apple hardware and operating systems Independent implementation with strong emphasis on standards and memory safety Highly optimized execution pipeline and broad adoption beyond browsers (e.g., Node.js)

Advertisement

Author Info

Yogesh S. Limaye
Qualification: CA in Practice
Company: S A Limaye & Co.
Location: PUNE, Maharashtra
Articles Published: 76

Join TaxGuru's Network for the latest updates on Income Tax, GST, Company Law, Corporate Laws and other related subjects.

Leave a Reply

Your email address will not be published. Required fields are marked *