Skip to content
MasterMath

Page Load Time Calculator

How long a page takes to load given its weight, the connection and — above all — the latency.

Load time

—

Load time—
Downloading—
Waiting on requests—
Initial handshake—
Of the total, waiting—
The same without HTTP/2—

How this was worked out

    The formula

    time = weight ÷ bandwidth + latency × rounds + handshake

    Where it comes from

    Weight divided by bandwidth explains only part of the time. The rest comes from latency, paid once per round trip: first the TCP and TLS handshake, three or four trips before the first byte, and then each round of requests. Without multiplexing the browser opens six connections, and with a hundred resources that is seventeen rounds: at fifty milliseconds of ping, nearly nine hundred milliseconds that have nothing to do with the size of anything.

    How to work it out by hand

    1. Convert the weight to bits and divide by the speed in bits per second
    2. Add the initial handshake: about three round trips
    3. Add the request wait, in rounds if there is no multiplexing
    4. The sum is the time until the page is complete

    What is worth knowing

    The most useful decision for speeding up a site comes straight out of this: look at how much of the time is waiting and how much is downloading. If waiting dominates, slimming images fixes nothing and what needs cutting is the number of requests, or the distance to the server. If transfer dominates, then compressing and trimming is what shows. This sum is also deliberately optimistic: it assumes everything downloads in parallel and it does not count JavaScript execution or painting, which on a script-heavy modern page can be half the time the visitor actually experiences. Real browser metrics are the place for that.

    Frequently asked questions

    How fast should a page load?

    Under two and a half seconds for the main content is the usual benchmark. Past three seconds, people start leaving.

    Why is my site slow when it weighs so little?

    Almost always latency and the number of requests. With a hundred resources and 50 ms of ping you lose nearly a second just waiting.

    What is the TCP and TLS handshake?

    The round trips needed to open the connection and encrypt it before the first byte arrives: three or four pings.

    How much does HTTP/2 help?

    It removes the rounds of requests by multiplexing them over one connection. On a page with many resources it can save hundreds of milliseconds.

    Should I reduce weight or requests?

    Whichever dominates. This calculator says which: if waiting is over half the time, cut requests before kilobytes.

    Does this include JavaScript?

    No. It only measures the network. Running scripts and painting can be half the perceived time on a script-heavy page.