By Tim King · Updated
Page Weight Calculator
Per-Resource Sizes, Load Times on 3G, 4G and Fibre, Plus a Budget Check
OneTask is free, with no sign-up, and built by one person.
If this tool saved you time, a coffee helps keep new ones coming.
How the Page Weight Calculator works
This page weight calculator adds up a page's bytes. Page weight is the total number of bytes a browser downloads to show a page, and it is the plainest predictor of how long that page takes on a phone. Type in the compressed size of each resource type — the numbers from the Network panel's size column or a Lighthouse report — and see the total, which category dominates, how it compares to the median page, how long the bytes alone take on slow 3G through fibre, and how far you are from your budget.
Page weight calculator: where the bytes go
Every performance metric that matters to users — Largest Contentful Paint, Time to Interactive, the moment the page stops jumping around — is downstream of bytes. The browser cannot render what it has not received, and on a mobile connection receiving is slow. Page weight is not the whole story, since a small page with a blocking script can still feel slow, but a heavy page is never fast on a weak connection no matter how well it is built.
Where to get the numbers. Open the browser's Network panel, reload with cache disabled, and
read the summary bar at the bottom: it shows requests, transferred bytes and resources. Filter by
type — Doc, CSS, JS, Img, Font, Media — and note the transferred total for each. Use the
transferred figure, which is what actually crossed the wire after gzip or Brotli, not the
uncompressed resource size. Lighthouse and WebPageTest give the same breakdown in their
summary tables. Separate third-party requests from your own so you can see what tags and
embeds are costing; a filter for -domain:yoursite.com does that in Chrome.
Reading the breakdown. Images are the largest category on most pages, typically half the weight, and also the easiest to cut: right-size them for the slot, use WebP or AVIF, lazy-load anything below the fold. JavaScript is usually second by bytes but first by cost, because every kilobyte has to be parsed, compiled and run on the main thread — a 450 KB compressed bundle is around 1.5 MB of source and can take two seconds of CPU on a mid-range Android phone before the page can respond to a tap. Fonts are small individually but add up across weights, and each one blocks the text that uses it until it arrives. Third-party scripts are the category you control least and should audit most.
Download time. The timings divide the total bytes by a connection's throughput. Slow 3G at 0.4 Mbps is what Chrome's throttling preset calls slow 3G; Lighthouse's default mobile profile is 1.6 Mbps down, which it labels slow 4G. These are transfer times only: real load time adds DNS, TLS, server response, per-request latency and the rendering work at the end, so treat them as the floor. The request count matters on HTTP/1.1, where the browser opens about six connections per host and requests queue behind each other; on HTTP/2 and HTTP/3 requests multiplex over one connection and the count matters much less than the bytes.
The median page. HTTP Archive's ongoing crawl puts the median desktop page at around 2.6 MB and the median mobile page a little lower, with the heaviest tenth of pages over 8 MB. Being under the median is a low bar; a page meant to load in under three seconds on 3G needs to be under about 500 KB, and most fast sites aim for a total between 1 and 1.5 MB with the critical path — HTML, CSS and the script needed for first render — well under 200 KB.
Budgets. A budget is a number you agree not to exceed, checked on every build, so a page does not gain weight one small change at a time. Set the budget field to yours and the status line shows how far over or under you are. To set a budget from a load-time target rather than a byte count, the Performance Budget Calculator on this site works backwards from the connection speed you care about.
FAQ
Should I use compressed or uncompressed sizes?
Compressed — the transferred size. That is what the network delivers and what the download times are based on. The exception is JavaScript, where the uncompressed size also matters because the CPU has to process all of it; roughly triple the compressed figure to estimate it.
Why is my page slower than the download time shown?
Because bytes are only part of the wait. Each request needs a round trip to start, the server needs time to respond, the browser needs to parse and execute scripts, and render-blocking CSS and fonts delay the first paint. The figure here is the best case with everything else free.
What is a good page weight?
Under 1 MB is good and under 500 KB is excellent for a content page. E-commerce and media-heavy pages commonly run 2 to 4 MB, which is where the median sits, and anything above that will feel slow on mobile. The critical resources needed for the first screen matter more than the total.
Does the request count still matter with HTTP/2?
Less than it did. HTTP/2 sends many requests over one connection at once, so the six-connection queueing of HTTP/1.1 disappears. Each request still costs headers and, for cross-origin hosts, a new connection with its own DNS and TLS setup, so consolidating third-party hosts still helps.
How do I find the size of third-party resources?
In Chrome's Network panel, type -domain:*.yoursite.com in the filter box to hide your own
requests and read the transferred total from the summary bar. Lighthouse also lists third-party
usage with bytes and main-thread time per provider under the performance diagnostics.
See also: all Dev Utilities tools, Formatters & Validators, Data & Encoding, Security & Identifiers, SEO, Accessibility, AI.
Related tools
Image Size Calculator
Estimate image file size and see how oversized it is for its slot.
Compress To KB
Hit an exact kB limit by searching for the right quality.
HTTP Header Inspector
Parse pasted HTTP headers, explain each one and audit security.
Audio Bitrate Calculator
Sample rate, bit depth and channels to kbps and file size per minute.
CSS Size Calculator
Measure a stylesheet's real transfer size and see whether it blocks first paint.