Page Speed & Size Check

Paste a URL to see how quickly its HTML comes back and how much of it there is — the two server-side numbers that set the floor for every other speed metric. Free, instant, no signup.

What this measures & what it doesn't

It makes a single server-side fetch of the page and records two things: how long the full HTML took to arrive, and how many kilobytes of it there were, uncompressed. Fetch time is scored against 500 ms, 1.5 s, 3 s and 6 s bands; HTML weight against 100, 300, 700 and 1,500 KB. The overall score is the average of the two. Because the fetch goes through our rendering service, the time includes a little of that service's own overhead — treat it as a ceiling on your server's real time to first byte rather than an exact figure.

What it is not: this is not Lighthouse, PageSpeed Insights, or a Core Web Vitals report. It does not load images, scripts, fonts or stylesheets, and it cannot measure Largest Contentful Paint, Cumulative Layout Shift or Interaction to Next Paint — those need a real browser rendering the page. Use this to catch a slow origin or a bloated HTML document in a few seconds; use a lab or field tool for the full picture.

How to fix what it finds

  • Slow fetch time — cache rendered pages at the CDN or in the framework (full-page caching, static generation, ISR), take slow database queries out of the request path, and keep the origin close to a CDN edge. A cold serverless function or an uncached dynamic render is the usual culprit on modern stacks.
  • Heavy HTML — look for data that has been inlined: base64 images, large inline SVGs, hydration payloads (__NEXT_DATA__, __NUXT__) that duplicate the rendered content, and inline <style> or <script> blocks that belong in cacheable external files. Make sure gzip or Brotli compression is on, but fix the source too — the browser still parses the full document.

Frequently asked questions

Is this the same as Google PageSpeed Insights or Lighthouse?

No. Lighthouse loads the page in a real browser with every image, script and font, then measures what a visitor experiences — Largest Contentful Paint, Cumulative Layout Shift, Interaction to Next Paint. This tool makes one server-side fetch and reports two numbers from it: how long the HTML took to arrive and how large it was. It is a fast way to catch a slow origin or a bloated document, not a replacement for a Core Web Vitals report.

Why is the fetch time higher than what I see in my browser's Network tab?

The fetch goes through our rendering service, so the number includes that service's own queueing and processing on top of your server's response. It is also measured from a data centre rather than from your desk, and your browser may be hitting a warm cache your server keeps for repeat visitors. Read it as a ceiling on the real time to first byte, and use it to compare pages and sites against each other rather than as an absolute.

What is a good HTML size?

Most well-built content pages come in under 100 KB of HTML; 100–300 KB is normal for pages with a lot of structure or a modest hydration payload. Past 700 KB something is usually being inlined that should not be — base64 images, full datasets in a script tag, or an entire product listing. The figure here is uncompressed; gzip or Brotli will cut the transfer size by 70–90%, but the browser still has to parse every byte after decompression.

Does HTML size or response time affect rankings?

Indirectly. Google's page experience signals are built on Core Web Vitals, and both numbers here set the floor for those: nothing can paint before the HTML arrives, and a huge document delays everything that depends on it. Slow responses also reduce how many pages Googlebot crawls per visit on large sites. Neither number is a ranking factor on its own — the user-facing metrics are.

Why do I get the same numbers when I run it again?

Fetched pages are cached for 24 hours per URL and shared across every tool on this site, so a second run reads the stored result instead of fetching again. That keeps the tools fast and free, but it means the numbers reflect the first fetch of the day. If you have just deployed a fix, check back after the cache expires.

Related tools

Command Palette

Search for a command to run...