Fundamentals · Bytes to pixels
How browsers render content-style app
Illustrative system design for a bytes to pixels app like How browsers render content: 4 topics to read, from requirements to deep dives.
Illustrative design, not How browsers render content’s actual implementation. Arrowbox is not affiliated with How browsers render content’s owner. Disclaimer
Start with Bytes to pixels Read for freeUpdated 2 Oct 2026
Core
The browser turns HTML into a DOM and CSS into a CSSOM, combines them into a tree of boxes it can lay out, paints those boxes into layers and composites the layers into a frame.
Stylesheets hold back painting, classic scripts stop the HTML parser, and fonts can hide text; async, defer, modules and the preload scanner change who waits for whom.
After the first paint, every visual change waits for the event loop's next rendering opportunity: tasks and microtasks run, requestAnimationFrame callbacks fire, then style, layout and paint run once for the batch.
The browser paints parts of the page into separate layers and a compositor thread moves, fades and scrolls them on the GPU without asking the main thread, which is why transform and opacity animate smoothly and top does not.