HOME

TheInfoList



OR:

A browser engine (also known as a layout engine or rendering engine) is a core software component of every major
web browser A web browser, often shortened to browser, is an application for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's scr ...
. The primary job of a browser engine is to transform
HTML Hypertext Markup Language (HTML) is the standard markup language for documents designed to be displayed in a web browser. It defines the content and structure of web content. It is often assisted by technologies such as Cascading Style Sheets ( ...
documents and other resources of a
web page A web page (or webpage) is a World Wide Web, Web document that is accessed in a web browser. A website typically consists of many web pages hyperlink, linked together under a common domain name. The term "web page" is therefore a metaphor of pap ...
into an interactive visual representation on a user's device.


Name and scope

Besides "browser
engine An engine or motor is a machine designed to convert one or more forms of energy into mechanical energy. Available energy sources include potential energy (e.g. energy of the Earth's gravitational field as exploited in hydroelectric power ge ...
", two other related terms are commonly used: "layout engine" and "rendering engine". In theory,
layout In general terms, a layout is a structured arrangement of items within certain limits, or a plan for such arrangement. Specifically, layout may refer to: * Page layout, the arrangement of visual elements on a page ** Comprehensive layout (comp), ...
and rendering (or "painting") could be handled by different engines. In practice, however, these
components Component may refer to: In engineering, science, and technology Generic systems *System components, an entity with discrete structure, such as an assembly or software module, within a system considered at a particular level of analysis * Lumped e ...
are tightly coupled and rarely encountered on their own outside of the browser engine. In addition to layout and rendering, a browser engine enforces the security policy between documents, handles navigation through
hyperlink In computing, a hyperlink, or simply a link, is a digital reference providing direct access to Data (computing), data by a user (computing), user's point and click, clicking or touchscreen, tapping. A hyperlink points to a whole document or to ...
s and data submitted through forms, and implements the document object model (DOM) exposed to scripts associated with the document. To provide a wide range of dynamic behavior for
web page A web page (or webpage) is a World Wide Web, Web document that is accessed in a web browser. A website typically consists of many web pages hyperlink, linked together under a common domain name. The term "web page" is therefore a metaphor of pap ...
s, every major browser supports
JavaScript JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior. Web browsers have ...
. However, JavaScript is implemented as a separate JavaScript engine, which has enabled its usage elsewhere. In a browser, the two engines are coordinated via the DOM and Web IDL bindings. Browser engines are also used in non-browser applications. An email client needs one to display HTML email. Beginning in the 2010s, many apps have been created with the frameworks based on
Google Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
's Chromium project; each of these standalone apps functions much like a
web app A web application (or web app) is application software that is created with World Wide Web, web technologies and runs via a web browser. Web applications emerged during the late 1990s and allowed for the server to Dynamic web page, dynamically ...
. (Two examples are
Spotify Spotify (; ) is a List of companies of Sweden, Swedish Music streaming service, audio streaming and media service provider founded on 23 April 2006 by Daniel Ek and Martin Lorentzon. , it is one of the largest providers of music streaming services ...
and Slack.)


Layout and rendering

The
layout In general terms, a layout is a structured arrangement of items within certain limits, or a plan for such arrangement. Specifically, layout may refer to: * Page layout, the arrangement of visual elements on a page ** Comprehensive layout (comp), ...
of a
web page A web page (or webpage) is a World Wide Web, Web document that is accessed in a web browser. A website typically consists of many web pages hyperlink, linked together under a common domain name. The term "web page" is therefore a metaphor of pap ...
is typically specified by Cascading Style Sheets (CSS). Each style sheet is a series of rules for how the page should be presented. For example, some rules specify
typography Typography is the art and technique of Typesetting, arranging type to make written language legibility, legible, readability, readable and beauty, appealing when displayed. The arrangement of type involves selecting typefaces, Point (typogra ...
details, such as
font In metal typesetting, a font is a particular size, weight and style of a ''typeface'', defined as the set of fonts that share an overall design. For instance, the typeface Bauer Bodoni (shown in the figure) includes fonts " Roman" (or "regul ...
, color, and text size, while others determine the placement of images. The engine combines all relevant CSS rules to calculate precise graphical coordinates for the visual representation it will paint on the screen. Some engines may begin rendering before a page's resources are downloaded. This can result in visual changes as more data is received, such as images being gradually filled in or a flash of unstyled content.


Notable engines

*
Apple An apple is a round, edible fruit produced by an apple tree (''Malus'' spp.). Fruit trees of the orchard or domestic apple (''Malus domestica''), the most widely grown in the genus, are agriculture, cultivated worldwide. The tree originated ...
created the WebKit engine for its
Safari A safari (; originally ) is an overland journey to observe wildlife, wild animals, especially in East Africa. The so-called big five game, "Big Five" game animals of Africa – lion, African leopard, leopard, rhinoceros, African elephant, elep ...
browser by forking the KHTML engine of the KDE project. Apple mandates that all browsers on iOS must use WebKit as their engine. (In 2024, the mandate was removed for the
European Union The European Union (EU) is a supranational union, supranational political union, political and economic union of Member state of the European Union, member states that are Geography of the European Union, located primarily in Europe. The u ...
, but it is still enforced elsewhere.) *
Google Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
originally used WebKit for its Chrome browser but eventually forked it to create the Blink engine. All Chromium-based browsers use Blink, as do applications built with CEF,
Electron The electron (, or in nuclear reactions) is a subatomic particle with a negative one elementary charge, elementary electric charge. It is a fundamental particle that comprises the ordinary matter that makes up the universe, along with up qua ...
, or any other framework that embeds Chromium. *
Microsoft Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
has two proprietary engines, Trident and EdgeHTML. Trident, also called MSHTML, is used in the
Internet Explorer Internet Explorer (formerly Microsoft Internet Explorer and Windows Internet Explorer, commonly abbreviated as IE or MSIE) is a deprecation, retired series of graphical user interface, graphical web browsers developed by Microsoft that were u ...
browser. EdgeHTML, being a fork of Trident, was the original engine of the Edge browser (now called Edge Legacy); it's still found in some UWP apps. The new, Chromium-based Edge was remade with the Blink engine. * Mozilla develops the
Gecko Geckos are small, mostly carnivorous lizards that have a wide distribution, found on every continent except Antarctica. Belonging to the infraorder Gekkota, geckos are found in warm climates. They range from . Geckos are unique among lizards ...
engine for its
Firefox Mozilla Firefox, or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. It uses the Gecko rendering engine to display web pages, which implements curr ...
browser and the Thunderbird email client.


Development timelines

This figure shows for various browser engines the duration of its active development, the period when relevant new web standards continue to be added to it. # header ImageSize = width:750 height:170 PlotArea = left:80 right:5 bottom:20 top:5 AlignBars = justify DateFormat = dd/mm/yyyy Period = from:01/01/1997 till:31/05/2022 TimeAxis = orientation:horizontal format:yyyy Colors = id:microsoft value:rgb(0.3, 0.5, 1) id:gecko value:rgb(1, 0, 0) id:khtml value:rgb(0.3,0.3,0.3) id:webkit value:rgb(0.3, 0.36, 0.36) id:blink value:rgb(0.3, 0.39, 0.39) id:mgray value:rgb(0.5, 0.5, 0.5) id:lgray value:rgb(0.75, 0.75, 0.75) ScaleMajor = gridcolor:mgray unit:year increment:1 start:01/01/1997 ScaleMinor = unit:month increment:3 start:01/01/1997 BackgroundColors = bars:lgray BarData = bar:Gecko text:Gecko bar:Trident text:Trident bar:EdgeHTML text:EdgeHTML bar:KHTML text:KHTML bar:WebKit text:WebKit bar:Blink text:Blink PlotData= align:center textcolor:black fontsize:8 mark:(line,black) width:15 shift:(0,-4) bar:Gecko from: 01/05/1997 till: 31/05/2022 color:gecko mark:(line,white) bar:Trident from: 01/10/1997 till: 15/07/2015 color:microsoft mark:(line,white) bar:EdgeHTML from: 12/11/2014 till: 15/12/2018 color:microsoft mark:(line,white) bar:KHTML from: 04/11/1998 till: 15/10/2016 color:khtml mark:(line,white) bar:WebKit from: 25/06/2001 till: 31/05/2022 color:webkit mark:(line,white) bar:Blink from: 03/04/2013 till: 31/05/2022 color:blink mark:(line,white)


See also

* Comparison of browser engines


References

{{Browser engines Browser engines