Checks

HTML document size

Checks that the raw HTML document stays under 100KB, since an oversized markup payload slows parsing and pushes back everything that depends on it.

Updated 2026-07-19minorPerformance

What this check looks for

This check measures the page's HTML size, trusting the Content-Length response header when available and otherwise measuring the parsed document's serialized markup. At or under 100KB passes; between 100KB and 300KB warns; beyond 300KB fails.

Why it matters

The browser has to download and parse the entire HTML document before it can build the render tree and start painting content, so a bloated document — often from deeply nested markup, large inlined JSON payloads, or embedded SVGs — adds delay before rendering even begins, independent of network speed. This is a distinct problem from image weight or script size: it's specifically about the markup itself being too large, which is easy to overlook since it doesn't show up as a separate "asset" the way images and scripts do. A leaner HTML document parses faster on every device, but the effect is proportionally largest on lower-end phones, where parsing speed itself is a bigger bottleneck.

How to fix it

Trim what's inlined directly into the HTML response:

html
<!-- 40KB of product data inlined directly into the page -->
<script>window.__PRODUCTS__ = [ /* thousands of items */ ];</script>
html
<!-- Fixed: fetch it asynchronously instead of inlining -->
<script src="/api/products" async></script>

Paginate long listings server-side rather than rendering every item in one document, and move large inlined SVGs to external files the browser can cache separately.

See how your site scores on this check

Run a free scan

See how your site scores on this check.

The free teaser scan checks a sample of your pages — no account, no card.