Shahin

DOMContentLoaded

Advanced
Updated Jul 11, 2026 Shahin editorial 2 min read
PronunciationEN/ˌdiː oʊ ɛm ˈkɑːntɛnt ˈloʊdɪd/

DOMContentLoaded time is how long it takes the browser to fully parse the page's HTML and build the DOM tree, without necessarily having loaded images and external resources.

This metric marks the “page skeleton is ready” line and differs from the load event: load is when everything including images has arrived, while DOMContentLoaded measures only building the document structure. Its worth is exposing the share of HTML parsing and initial script execution; if this time is high, the culprit is usually either heavy HTML or blocking scripts that run before parsing finishes. A common trap is that this number is counted from navigation start, so it also contains network and server time; to see the net front-end share you subtract time-to-first-byte from it. Like any skewed timing metric, it is better read at the 75th percentile than by the average.

How it is calculated

DOMContentLoaded = the moment the DOM tree is ready − navigation start time

The output is a time and, because it counts from navigation start, it includes network and server too. The proper verdict is at the 75th percentile of visits.