Pour les articles homonymes, voirMoteur de rendu.

Unmoteur de rendu web est lecomposant logiciel de tous lesnavigateurs permettant d'afficher unepage web : il transforme un document HTML, ainsi que toutes les autres ressources associées à la page, en une représentation visuelle interactive pour l'utilisateur. Il est de ce fait lecœur d'unnavigateur web.
Depuis le début d'Internet, de nombreux moteurs de rendu ont été utilisés. Néanmoins, avec la complexification des standards, nous assistons ponctuellement à une réduction du nombre de ceux-ci au profit de l'emploi d'un même moteur dans plusieurs navigateurs.
Par exemple, depuis2018, le moteur dominantBlink, deGoogle est suivi parGecko etWebkit. Progressivement, quelques navigateurs internet principaux, utilisantTrident ouPresto, les ont remplacés par Blink.

Un moteur de rendu web n'est pas unlogiciel à part entière, mais une pièce critique d'un autre logiciel, par exemple unnavigateur web. Le motmoteur dérive d'une analogie avec la voiture.
Il sera question dans cet article de «moteur de rendu web», sans distinguer rendu et mise en page. En anglais, on distingue parfois le «moteur de mise en page» (layout engine)[1],[2] et le «moteur de rendu» (rendering engine)[3],[2], mais le plus souvent c'est du «moteur de navigateur» (browser engine) dont on parle, car les deux moteurs, distincts sur le plan théorique, sont en réalité difficiles à considérer individuellement.
Outre la mise en page, le moteur de rendu web doit connaître et appliquer les règlesContent Security Policy entre les documents et établir la structure de donnéesDocument Object Model (DOM), qui sera sujette aux modifications via leslangages de script. Ils gèrent aussi leshyperliens et les formulaires web.
L'exécution des programmesJavaScript est gérée par lemoteur JavaScript dédié de chaque navigateur. Le langage JavaScript fut créé à l'origine pour être utilisé au sein des navigateurs, mais aujourd'hui, il est aussi utilisé hors des navigateurs. Dans un navigateur Web, les deux moteurs travaillent de concert via lastructure de données DOM, partagée.
Les moteurs de rendu web peuvent être utilisées dans des logiciels qui ne sont pas des navigateurs (tout comme un moteur de voiture peut être réutilisé ailleurs). Par exemple, unclient de messagerie électronique peut en utiliser un pour afficher un courriel en HTML. Leframework Electron, qui prend sa source dans le navigateur webGoogle Chrome, a été par exemple utilisé pour créer de nombreux logiciels.
La mise en page d'une page Web est généralement déclarée dans desfeuilles de style en cascade (CSS). Chaque feuille de style est une série de règles que le moteur interprète. Par exemple, certaines règles disposent lesdétails typographiques de la page web, tels que lapolice de caractère (ou fonte), la couleur, la taille du texte. Le moteur combine toutes les règles CSS utiles pour calculer précisément les coordonnées graphiques afin d'obtenir une représentation conforme sur l'écran.
Certains moteurs de rendu commencent leur travail avant même que toutes les ressources de la page soient téléchargées. Cela peut alors entraîner des changements visuels au fur et à mesure que les données sont téléchargées : les images apparaissent peu à peu, parfois se produit unFOUC.
En 2022, les principaux moteurs encore utilisés sont au nombre de trois :
Voici une liste des moteurs de rendu web et des logiciels les utilisant ou les ayant utilisé.
| |||||||||||||||
| |||||||||||||||
| |||||||||||||||