At a glance the headline numbers for DOM size
How many elements the DOM holds after load.
The typical page contains 695 DOM elements.
Distribution & median LCP site count and median LCP at each level of DOM size
Passing LCP by DOM size which level passes the LCP most often
DOM size 695. p75 1,202. p99 6,465. At the low end (180–189): LCP 1.2s. At the high end (2080+): LCP 1.5s. computed
Why this matters for the Core Web Vitals, and where to start fixing it
A large DOM makes rendering work scale with the page. That hits two Core Web Vitals. The interaction side is INP. A click usually changes the DOM. Before the browser can paint the result it has to recalculate styles and update the layout. More elements means more work in that recalculation, so the response to every click lags. This cost repeats on every interaction for the whole session.
The loading side is LCP. On the first render the browser parses, styles and lays out every element, even the ones below the fold. The main content waits for that work (render delay in the LCP). If the page only rendered what is visible, the first paint and every later click would be faster. Pagination, virtualization and fewer wrapper divs all work towards that.
Chrome field data from 189,915 sites, representing millions of real page loads. How we measured.
Live queries (2) — admin only
SELECT COUNT(*) AS count,
quantile_disc(m.dom.element_count, 0.10) AS p10,
quantile_disc(m.dom.element_count, 0.25) AS p25,
quantile_disc(m.dom.element_count, 0.50) AS p50,
quantile_disc(m.dom.element_count, 0.75) AS p75,
quantile_disc(m.dom.element_count, 0.90) AS p90,
quantile_disc(m.dom.element_count, 0.99) AS p99
FROM sites WHERE m.dom.element_count IS NOT NULL;
SELECT CASE WHEN m.dom.element_count >= 180 AND m.dom.element_count < 190 THEN 0 WHEN m.dom.element_count >= 190 AND m.dom.element_count < 200 THEN 1 WHEN m.dom.element_count >= 200 AND m.dom.element_count < 210 THEN 2 WHEN m.dom.element_count >= 210 AND m.dom.element_count < 220 THEN 3 WHEN m.dom.element_count >= 220 AND m.dom.element_count < 230 THEN 4 WHEN m.dom.element_count >= 230 AND m.dom.element_count < 240 THEN 5 WHEN m.dom.element_count >= 240 AND m.dom.element_count < 250 THEN 6 WHEN m.dom.element_count >= 250 AND m.dom.element_count < 260 THEN 7 WHEN m.dom.element_count >= 260 AND m.dom.element_count < 270 THEN 8 WHEN m.dom.element_count >= 270 AND m.dom.element_count < 280 THEN 9 WHEN m.dom.element_count >= 280 AND m.dom.element_count < 290 THEN 10 WHEN m.dom.element_count >= 290 AND m.dom.element_count < 300 THEN 11 WHEN m.dom.element_count >= 300 AND m.dom.element_count < 310 THEN 12 WHEN m.dom.element_count >= 310 AND m.dom.element_count < 320 THEN 13 WHEN m.dom.element_count >= 320 AND m.dom.element_count < 330 THEN 14 WHEN m.dom.element_count >= 330 AND m.dom.element_count < 340 THEN 15 WHEN m.dom.element_count >= 340 AND m.dom.element_count < 350 THEN 16 WHEN m.dom.element_count >= 350 AND m.dom.element_count < 360 THEN 17 WHEN m.dom.element_count >= 360 AND m.dom.element_count < 370 THEN 18 WHEN m.dom.element_count >= 370 AND m.dom.element_count < 380 THEN 19 WHEN m.dom.element_count >= 380 AND m.dom.element_count < 390 THEN 20 WHEN m.dom.element_count >= 390 AND m.dom.element_count < 400 THEN 21 WHEN m.dom.element_count >= 400 AND m.dom.element_count < 410 THEN 22 WHEN m.dom.element_count >= 410 AND m.dom.element_count < 420 THEN 23 WHEN m.dom.element_count >= 420 AND m.dom.element_count < 430 THEN 24 WHEN m.dom.element_count >= 430 AND m.dom.element_count < 440 THEN 25 WHEN m.dom.element_count >= 440 AND m.dom.element_count < 450 THEN 26 WHEN m.dom.element_count >= 450 AND m.dom.element_count < 460 THEN 27 WHEN m.dom.element_count >= 460 AND m.dom.element_count < 470 THEN 28 WHEN m.dom.element_count >= 470 AND m.dom.element_count < 480 THEN 29 WHEN m.dom.element_count >= 480 AND m.dom.element_count < 490 THEN 30 WHEN m.dom.element_count >= 490 AND m.dom.element_count < 500 THEN 31 WHEN m.dom.element_count >= 500 AND m.dom.element_count < 510 THEN 32 WHEN m.dom.element_count >= 510 AND m.dom.element_count < 520 THEN 33 WHEN m.dom.element_count >= 520 AND m.dom.element_count < 530 THEN 34 WHEN m.dom.element_count >= 530 AND m.dom.element_count < 540 THEN 35 WHEN m.dom.element_count >= 540 AND m.dom.element_count < 550 THEN 36 WHEN m.dom.element_count >= 550 AND m.dom.element_count < 560 THEN 37 WHEN m.dom.element_count >= 560 AND m.dom.element_count < 570 THEN 38 WHEN m.dom.element_count >= 570 AND m.dom.element_count < 580 THEN 39 WHEN m.dom.element_count >= 580 AND m.dom.element_count < 590 THEN 40 WHEN m.dom.element_count >= 590 AND m.dom.element_count < 600 THEN 41 WHEN m.dom.element_count >= 600 AND m.dom.element_count < 610 THEN 42 WHEN m.dom.element_count >= 610 AND m.dom.element_count < 620 THEN 43 WHEN m.dom.element_count >= 620 AND m.dom.element_count < 630 THEN 44 WHEN m.dom.element_count >= 630 AND m.dom.element_count < 640 THEN 45 WHEN m.dom.element_count >= 640 AND m.dom.element_count < 650 THEN 46 WHEN m.dom.element_count >= 650 AND m.dom.element_count < 660 THEN 47 WHEN m.dom.element_count >= 660 AND m.dom.element_count < 670 THEN 48 WHEN m.dom.element_count >= 670 AND m.dom.element_count < 680 THEN 49 WHEN m.dom.element_count >= 680 AND m.dom.element_count < 690 THEN 50 WHEN m.dom.element_count >= 690 AND m.dom.element_count < 700 THEN 51 WHEN m.dom.element_count >= 700 AND m.dom.element_count < 710 THEN 52 WHEN m.dom.element_count >= 710 AND m.dom.element_count < 720 THEN 53 WHEN m.dom.element_count >= 720 AND m.dom.element_count < 730 THEN 54 WHEN m.dom.element_count >= 730 AND m.dom.element_count < 740 THEN 55 WHEN m.dom.element_count >= 740 AND m.dom.element_count < 750 THEN 56 WHEN m.dom.element_count >= 750 AND m.dom.element_count < 760 THEN 57 WHEN m.dom.element_count >= 760 AND m.dom.element_count < 770 THEN 58 WHEN m.dom.element_count >= 770 AND m.dom.element_count < 780 THEN 59 WHEN m.dom.element_count >= 780 AND m.dom.element_count < 790 THEN 60 WHEN m.dom.element_count >= 790 AND m.dom.element_count < 800 THEN 61 WHEN m.dom.element_count >= 800 AND m.dom.element_count < 810 THEN 62 WHEN m.dom.element_count >= 810 AND m.dom.element_count < 820 THEN 63 WHEN m.dom.element_count >= 820 AND m.dom.element_count < 830 THEN 64 WHEN m.dom.element_count >= 830 AND m.dom.element_count < 840 THEN 65 WHEN m.dom.element_count >= 840 AND m.dom.element_count < 850 THEN 66 WHEN m.dom.element_count >= 850 AND m.dom.element_count < 860 THEN 67 WHEN m.dom.element_count >= 860 AND m.dom.element_count < 870 THEN 68 WHEN m.dom.element_count >= 870 AND m.dom.element_count < 880 THEN 69 WHEN m.dom.element_count >= 880 AND m.dom.element_count < 890 THEN 70 WHEN m.dom.element_count >= 890 AND m.dom.element_count < 900 THEN 71 WHEN m.dom.element_count >= 900 AND m.dom.element_count < 910 THEN 72 WHEN m.dom.element_count >= 910 AND m.dom.element_count < 920 THEN 73 WHEN m.dom.element_count >= 920 AND m.dom.element_count < 930 THEN 74 WHEN m.dom.element_count >= 930 AND m.dom.element_count < 940 THEN 75 WHEN m.dom.element_count >= 940 AND m.dom.element_count < 950 THEN 76 WHEN m.dom.element_count >= 950 AND m.dom.element_count < 960 THEN 77 WHEN m.dom.element_count >= 960 AND m.dom.element_count < 970 THEN 78 WHEN m.dom.element_count >= 970 AND m.dom.element_count < 980 THEN 79 WHEN m.dom.element_count >= 980 AND m.dom.element_count < 990 THEN 80 WHEN m.dom.element_count >= 990 AND m.dom.element_count < 1000 THEN 81 WHEN m.dom.element_count >= 1000 AND m.dom.element_count < 1010 THEN 82 WHEN m.dom.element_count >= 1010 AND m.dom.element_count < 1020 THEN 83 WHEN m.dom.element_count >= 1020 AND m.dom.element_count < 1030 THEN 84 WHEN m.dom.element_count >= 1030 AND m.dom.element_count < 1040 THEN 85 WHEN m.dom.element_count >= 1040 AND m.dom.element_count < 1050 THEN 86 WHEN m.dom.element_count >= 1050 AND m.dom.element_count < 1060 THEN 87 WHEN m.dom.element_count >= 1060 AND m.dom.element_count < 1070 THEN 88 WHEN m.dom.element_count >= 1070 AND m.dom.element_count < 1080 THEN 89 WHEN m.dom.element_count >= 1080 AND m.dom.element_count < 1090 THEN 90 WHEN m.dom.element_count >= 1090 AND m.dom.element_count < 1100 THEN 91 WHEN m.dom.element_count >= 1100 AND m.dom.element_count < 1110 THEN 92 WHEN m.dom.element_count >= 1110 AND m.dom.element_count < 1120 THEN 93 WHEN m.dom.element_count >= 1120 AND m.dom.element_count < 1130 THEN 94 WHEN m.dom.element_count >= 1130 AND m.dom.element_count < 1140 THEN 95 WHEN m.dom.element_count >= 1140 AND m.dom.element_count < 1150 THEN 96 WHEN m.dom.element_count >= 1150 AND m.dom.element_count < 1160 THEN 97 WHEN m.dom.element_count >= 1160 AND m.dom.element_count < 1170 THEN 98 WHEN m.dom.element_count >= 1170 AND m.dom.element_count < 1180 THEN 99 WHEN m.dom.element_count >= 1180 AND m.dom.element_count < 1190 THEN 100 WHEN m.dom.element_count >= 1190 AND m.dom.element_count < 1200 THEN 101 WHEN m.dom.element_count >= 1200 AND m.dom.element_count < 1210 THEN 102 WHEN m.dom.element_count >= 1210 AND m.dom.element_count < 1220 THEN 103 WHEN m.dom.element_count >= 1220 AND m.dom.element_count < 1230 THEN 104 WHEN m.dom.element_count >= 1230 AND m.dom.element_count < 1240 THEN 105 WHEN m.dom.element_count >= 1240 AND m.dom.element_count < 1250 THEN 106 WHEN m.dom.element_count >= 1250 AND m.dom.element_count < 1260 THEN 107 WHEN m.dom.element_count >= 1260 AND m.dom.element_count < 1270 THEN 108 WHEN m.dom.element_count >= 1270 AND m.dom.element_count < 1280 THEN 109 WHEN m.dom.element_count >= 1280 AND m.dom.element_count < 1290 THEN 110 WHEN m.dom.element_count >= 1290 AND m.dom.element_count < 1300 THEN 111 WHEN m.dom.element_count >= 1300 AND m.dom.element_count < 1310 THEN 112 WHEN m.dom.element_count >= 1310 AND m.dom.element_count < 1320 THEN 113 WHEN m.dom.element_count >= 1320 AND m.dom.element_count < 1330 THEN 114 WHEN m.dom.element_count >= 1330 AND m.dom.element_count < 1340 THEN 115 WHEN m.dom.element_count >= 1340 AND m.dom.element_count < 1350 THEN 116 WHEN m.dom.element_count >= 1350 AND m.dom.element_count < 1360 THEN 117 WHEN m.dom.element_count >= 1360 AND m.dom.element_count < 1370 THEN 118 WHEN m.dom.element_count >= 1370 AND m.dom.element_count < 1380 THEN 119 WHEN m.dom.element_count >= 1380 AND m.dom.element_count < 1390 THEN 120 WHEN m.dom.element_count >= 1390 AND m.dom.element_count < 1400 THEN 121 WHEN m.dom.element_count >= 1400 AND m.dom.element_count < 1410 THEN 122 WHEN m.dom.element_count >= 1410 AND m.dom.element_count < 1420 THEN 123 WHEN m.dom.element_count >= 1420 AND m.dom.element_count < 1430 THEN 124 WHEN m.dom.element_count >= 1430 AND m.dom.element_count < 1440 THEN 125 WHEN m.dom.element_count >= 1440 AND m.dom.element_count < 1450 THEN 126 WHEN m.dom.element_count >= 1450 AND m.dom.element_count < 1460 THEN 127 WHEN m.dom.element_count >= 1460 AND m.dom.element_count < 1470 THEN 128 WHEN m.dom.element_count >= 1470 AND m.dom.element_count < 1480 THEN 129 WHEN m.dom.element_count >= 1480 AND m.dom.element_count < 1490 THEN 130 WHEN m.dom.element_count >= 1490 AND m.dom.element_count < 1500 THEN 131 WHEN m.dom.element_count >= 1500 AND m.dom.element_count < 1510 THEN 132 WHEN m.dom.element_count >= 1510 AND m.dom.element_count < 1520 THEN 133 WHEN m.dom.element_count >= 1520 AND m.dom.element_count < 1530 THEN 134 WHEN m.dom.element_count >= 1530 AND m.dom.element_count < 1540 THEN 135 WHEN m.dom.element_count >= 1540 AND m.dom.element_count < 1550 THEN 136 WHEN m.dom.element_count >= 1550 AND m.dom.element_count < 1560 THEN 137 WHEN m.dom.element_count >= 1560 AND m.dom.element_count < 1570 THEN 138 WHEN m.dom.element_count >= 1570 AND m.dom.element_count < 1580 THEN 139 WHEN m.dom.element_count >= 1580 AND m.dom.element_count < 1590 THEN 140 WHEN m.dom.element_count >= 1590 AND m.dom.element_count < 1600 THEN 141 WHEN m.dom.element_count >= 1600 AND m.dom.element_count < 1610 THEN 142 WHEN m.dom.element_count >= 1610 AND m.dom.element_count < 1620 THEN 143 WHEN m.dom.element_count >= 1620 AND m.dom.element_count < 1630 THEN 144 WHEN m.dom.element_count >= 1630 AND m.dom.element_count < 1640 THEN 145 WHEN m.dom.element_count >= 1640 AND m.dom.element_count < 1650 THEN 146 WHEN m.dom.element_count >= 1650 AND m.dom.element_count < 1660 THEN 147 WHEN m.dom.element_count >= 1660 AND m.dom.element_count < 1670 THEN 148 WHEN m.dom.element_count >= 1670 AND m.dom.element_count < 1680 THEN 149 WHEN m.dom.element_count >= 1680 AND m.dom.element_count < 1690 THEN 150 WHEN m.dom.element_count >= 1690 AND m.dom.element_count < 1700 THEN 151 WHEN m.dom.element_count >= 1700 AND m.dom.element_count < 1710 THEN 152 WHEN m.dom.element_count >= 1710 AND m.dom.element_count < 1720 THEN 153 WHEN m.dom.element_count >= 1720 AND m.dom.element_count < 1730 THEN 154 WHEN m.dom.element_count >= 1730 AND m.dom.element_count < 1740 THEN 155 WHEN m.dom.element_count >= 1740 AND m.dom.element_count < 1750 THEN 156 WHEN m.dom.element_count >= 1750 AND m.dom.element_count < 1760 THEN 157 WHEN m.dom.element_count >= 1760 AND m.dom.element_count < 1770 THEN 158 WHEN m.dom.element_count >= 1770 AND m.dom.element_count < 1780 THEN 159 WHEN m.dom.element_count >= 1780 AND m.dom.element_count < 1790 THEN 160 WHEN m.dom.element_count >= 1790 AND m.dom.element_count < 1800 THEN 161 WHEN m.dom.element_count >= 1800 AND m.dom.element_count < 1810 THEN 162 WHEN m.dom.element_count >= 1810 AND m.dom.element_count < 1820 THEN 163 WHEN m.dom.element_count >= 1820 AND m.dom.element_count < 1830 THEN 164 WHEN m.dom.element_count >= 1830 AND m.dom.element_count < 1840 THEN 165 WHEN m.dom.element_count >= 1840 AND m.dom.element_count < 1850 THEN 166 WHEN m.dom.element_count >= 1850 AND m.dom.element_count < 1860 THEN 167 WHEN m.dom.element_count >= 1860 AND m.dom.element_count < 1870 THEN 168 WHEN m.dom.element_count >= 1870 AND m.dom.element_count < 1880 THEN 169 WHEN m.dom.element_count >= 1880 AND m.dom.element_count < 1890 THEN 170 WHEN m.dom.element_count >= 1890 AND m.dom.element_count < 1900 THEN 171 WHEN m.dom.element_count >= 1900 AND m.dom.element_count < 1910 THEN 172 WHEN m.dom.element_count >= 1910 AND m.dom.element_count < 1920 THEN 173 WHEN m.dom.element_count >= 1920 AND m.dom.element_count < 1930 THEN 174 WHEN m.dom.element_count >= 1930 AND m.dom.element_count < 1940 THEN 175 WHEN m.dom.element_count >= 1940 AND m.dom.element_count < 1950 THEN 176 WHEN m.dom.element_count >= 1950 AND m.dom.element_count < 1960 THEN 177 WHEN m.dom.element_count >= 1960 AND m.dom.element_count < 1970 THEN 178 WHEN m.dom.element_count >= 1970 AND m.dom.element_count < 1980 THEN 179 WHEN m.dom.element_count >= 1980 AND m.dom.element_count < 1990 THEN 180 WHEN m.dom.element_count >= 1990 AND m.dom.element_count < 2000 THEN 181 WHEN m.dom.element_count >= 2000 AND m.dom.element_count < 2010 THEN 182 WHEN m.dom.element_count >= 2010 AND m.dom.element_count < 2020 THEN 183 WHEN m.dom.element_count >= 2020 AND m.dom.element_count < 2030 THEN 184 WHEN m.dom.element_count >= 2030 AND m.dom.element_count < 2040 THEN 185 WHEN m.dom.element_count >= 2040 AND m.dom.element_count < 2050 THEN 186 WHEN m.dom.element_count >= 2050 AND m.dom.element_count < 2060 THEN 187 WHEN m.dom.element_count >= 2060 AND m.dom.element_count < 2070 THEN 188 WHEN m.dom.element_count >= 2070 AND m.dom.element_count < 2080 THEN 189 WHEN m.dom.element_count >= 2080 THEN 190 END AS bucket_idx, COUNT(*) AS n,
quantile_disc(crux."desktop".lcp, 0.5) AS median,
COUNT(*) FILTER (WHERE crux."desktop".lcp IS NOT NULL AND crux."desktop".lcp <= 2500) * 1.0 / NULLIF(COUNT(*) FILTER (WHERE crux."desktop".lcp IS NOT NULL), 0) AS good_pct
FROM sites WHERE m.dom.element_count IS NOT NULL GROUP BY bucket_idx;