Page size checker

How many bytes does your page make visitors download? Total weight, a breakdown by file type, the heaviest files and anything served without compression.

What a megabyte costs on a phone

Download time is page weight divided by bandwidth — before latency, parsing and rendering are added. Drag the weight and compare connections (throughput figures follow the presets in Chrome DevTools and typical measured speeds).

  • Slow 3G-like (0.4 Mbps)41.0 s
  • Fast 3G / weak 4G (1.6 Mbps)10.2 s
  • Typical 4G (9 Mbps)1.8 s
  • Cable (50 Mbps)328 ms

Halving a 2 MB page saves about 5.1 s on a 1.6 Mbps connection — more than most server optimisations ever will.

Where page weight comes from

  • Images — usually the largest share. Serve AVIF/WebP, use srcset and sizes so phones get phone-sized files, and add loading="lazy" to images below the fold (never to the LCP image).
  • JavaScript — costs twice: download and then parse/execute on the main thread, which also hurts INP. Audit bundles and third-party tags.
  • Fonts — each weight and style is a file. Subset, use WOFF2, and consider a variable font instead of four static ones.
  • CSS — rarely large, but it's render-blocking, so every KB delays first paint.

Check that text files are compressed: the report flags any HTML, CSS, JS, JSON or SVG over 1.4 KB served without Content-Encoding: gzip or br.

Questions developers ask

What is a good page size?

There is no official limit, but lighter is faster, especially on mobile data. The HTTP Archive Web Almanac reports the median mobile home page at roughly 2 MB transferred, with images and JavaScript the two biggest parts. A content page under 1 MB is a solid target.

Is "transferred" the same as file size?

No. Transferred bytes are what travels over the network, after gzip or Brotli compression. Decoded size is what the browser has to parse. Text files like HTML, CSS and JavaScript usually compress to 20–30% of their size; images and fonts are already compressed.

Why does the checker find fewer files than my browser?

It discovers resources from the HTML and CSS without running JavaScript, so images lazy-loaded by scripts, tag-manager payloads and widgets added at runtime are not counted. For a complete list, record a HAR file in DevTools and open it in the HAR analyzer.

What reduces page weight the most?

Usually images: serve AVIF or WebP, resize to the displayed dimensions with srcset, and lazy-load below-the-fold images. Next is JavaScript: remove unused libraries and split code per route. Then fonts: subset to the characters you use and ship only WOFF2.