Skip to content

Website Performance Checker

Measure how quickly a page's HTML arrives and how efficiently it is delivered. VoltKit's server makes one instrumented request, records time to first byte and full download time, and inspects the response for compression, cache headers, size before and after decoding, and the number of scripts, stylesheets, images and iframes the document references. Plain flags point at the things most worth fixing.

Server-assistedFreeNo sign-up

Server-assisted. What you enter here (a domain, URL or test payload) is sent to our server to run the check. We don't save it, but our web server logs record the request, including a domain or address you entered, for about 14 days. Details

How to use the website performance checker

  1. Enter the page URL and press Measure. Turn on 'Take 3 samples' to see how much time to first byte varies between requests.
  2. Read the findings first: uncompressed HTML, missing cache headers, oversized documents, excessive scripts and slow server response are called out.
  3. Check the size and compression tiles: the difference between decoded and transferred bytes shows how much gzip or Brotli is saving.
  4. Use the resource counts as a rough budget; a page that references dozens of scripts before any content is worth trimming.

Features

  • Time to first byte and download time measured separately, plus the redirect chain and its cost
  • Decoded HTML size versus bytes on the wire, with the compression ratio and encoding used
  • Cache-Control, ETag, Last-Modified, Expires, Age, Vary and CDN cache-status headers collected in one place
  • Counts of external and inline scripts, stylesheets, images, iframes and JSON-LD blocks from the HTML
  • Alt-Svc (HTTP/3 offered) and Server-Timing headers when the server exposes them
  • Optional three-sample mode showing minimum, average, maximum and spread of time to first byte

What is measured and what is not

This is a document-level check. It downloads the HTML exactly as a browser's first request would, without running JavaScript, loading images or rendering anything. That makes it fast and precise about the server side: how long the server took to start responding, whether the response is compressed, and whether caches are allowed to keep it. It does not produce Largest Contentful Paint, Core Web Vitals or a Lighthouse score; use a lab tool in a browser for those.

Time to first byte here includes DNS resolution, the TCP and TLS handshakes and the server's think time, all measured from VoltKit's hosting region. A visitor on another continent, or on the same one as the server, will see a different number. The threshold of 800 ms is a rule of thumb for 'the server or its network path is slow', not a pass/fail grade.

Reading the flags

No compression on a document larger than 20 KB is the cheapest fix on the list: enabling gzip or Brotli at the server or CDN typically cuts HTML by 70–85%. No cache headers means every visit and every CDN edge must fetch the page from the origin again; even a short max-age or an ETag helps. HTML over 500 KB usually means data or scripts have been inlined and should be split out. More than 40 external scripts is a sign of unbundled dependencies or tag sprawl.

Only test sites you are authorised to test

Each run makes at most three requests to the target, and the tool is limited to six runs per minute per visitor, so it cannot generate meaningful load. Even so, please point it only at websites you own or have permission to test. Private and internal addresses are refused, and redirects are re-validated at every hop.

Frequently asked questions

Why is transferred size sometimes missing?

Servers that stream responses with chunked encoding do not send a Content-Length header, so the bytes on the wire cannot be read from the headers. The decoded size and the encoding are still reported.

Does it measure HTTP/2 or HTTP/3?

The fetch is made over HTTP/1.1, so the protocol browsers negotiate is not measured. When the server advertises HTTP/3 through an Alt-Svc header, the tool reports that it is offered.

My time to first byte varies a lot between samples. What does that mean?

A large spread usually means the first request hit a cold cache or a serverless cold start and later ones were served from memory or a CDN, or that the server is under uneven load. Look at the cache status headers to tell the two apart.

Why does the tool say the page is an error page?

If the final response has a 4xx or 5xx status, the timings and sizes describe the error page, not the real one. Some sites also return 403 to automated clients; the status checker shows the full headers if you need to confirm.

Other tools people use alongside Website Performance Checker.

You might also like

Something useful from another corner of VoltKit.