Page weight and requests: do they matter?

Total page size and the number of files both affect speed, but not equally. What a typical page weighs, what Lighthouse flags, and what to cut first.

BeginnerExplainer7 min readUpdated October 30, 2026

In this guide
  1. Two numbers, two different costs
  2. What a typical page weighs
  3. Does weight matter for speed?
  4. Do requests matter?
  5. What Lighthouse says about weight
  6. How to see your own page
  7. What to cut first
  8. Set a budget
  9. Mistakes to avoid
  10. Check your own page
  11. Sources

Two numbers, two different costs

Page weight is the sum of the sizes of everything the page loads: the HTML, styles, scripts, images, fonts, video and files from other companies' servers. Requests are the count of those files.

Browsers show two sizes for each file, and mixing them up causes confusion. The transfer size is what crossed the network, after compression. The resource size is what the file measures once the browser has unpacked it. A script that is 100 KB unpacked may travel as 30 KB. Lighthouse counts the transfer size, and the bottom of the Network panel in Chrome DevTools shows both totals.

The 2025 Web Almanac splits the effect of weight into three stages. In storage, files take space on the server. In transmission, bytes cross the network, where slow connections and lost packets make a heavy page worse. In rendering, the device has to process what arrived. Rendering is the part people forget. A 100 KB image is pixels, but 100 KB of JavaScript is work: the processor must parse, compile and run it, and on a low-end phone that work can freeze the screen for seconds. An image that travels as 200 KB can also take several megabytes of memory once it is unpacked into pixels.

What a typical page weighs

These are the median figures from the 2025 Web Almanac, which measured pages in HTTP Archive. Half of all pages are heavier.

Median mobile home page
HTML22 KB
CSS77 KB
Fonts122 KB
JavaScript632 KB
Images911 KB
Total, all file typesabout 2.6 MB
Requests (median page of any kind)72

On desktop the median home page was 2.9 MB, and the median page made 77 requests. Inner pages were lighter, at about 1.8 MB on phones and 2 MB on desktop, mostly because they carry fewer images. The median home page grew by about 8% in a year. Images were the biggest share on both kinds of device, followed by JavaScript and fonts.

Use these numbers as a reality check, not a target. A typical page is not a good page.

Does weight matter for speed?

Yes, but how it matters depends on what is heavy and when it loads.

Page weight is not a Core Web Vital. It is one of the causes behind the metrics that are.

Do requests matter?

It depends on the protocol.

With HTTP/1.1, a browser works on one request at a time per connection. To go faster it opens several connections to each host, commonly six at once, as MDN describes. More than six files for one host queue up. This is the reason for the old advice to merge files, to combine small images into one sheet and to spread files over several host names.

HTTP/2 and HTTP/3 changed that. They carry many requests at the same time over one connection. MDN now calls the spreading of files over several host names, known as domain sharding, deprecated, and says it can even hurt performance. The number of files therefore matters less than it did. In the Speed Lab test of many small files, 62 requests finished 21 ms after 40 with the same bytes over HTTP/2, and 518 ms after them over HTTP/1.1.

It still matters somewhat:

So count hosts, not only files. Every third-party script is another host. See third-party scripts and resource hints.

What Lighthouse says about weight

Lighthouse has a diagnostic called Avoid enormous network payloads. It adds up the transfer size of every network request, shows "Total size was X KiB", and lists the ten largest files. It is a diagnostic with a weight of zero, so it does not change the Performance score.

The check still gives itself a score from a curve. In Lighthouse 13.5 a total of 2,667 KiB scores 90 and a total of 4,000 KiB scores 50. In other words, the line for "enormous" sits at about 2.6 MiB. The code comments say the numbers come from a 2017 sample of web pages, so they are older than the current median, which is close to that line.

How to see your own page

  1. Open the page in Chrome and press Ctrl+Shift+J (Cmd+Option+J on a Mac). Open the Network tab.
  2. Tick Disable cache to see what a first-time visitor downloads, and reload.
  3. Read the summary at the bottom. It shows the number of requests, the data transferred and the unpacked size of the resources.
  4. Sort by Size to find the heaviest files, and use the filter buttons to see one type at a time: images, scripts, styles, fonts and media.
  5. Add the Domain column (right-click the column headers) to count the hosts.

What to cut first

Start with the biggest share and the easiest win:

  1. Images and video. The largest share on the median page, 911 KB of images on a phone. Resize to the size shown, use a modern format, and load below-the-fold images later. See image optimization, WebP and AVIF and responsive images. Video that starts by itself should be small, or wait until the visitor asks for it.
  2. JavaScript. The median phone page loads 632 KB, and the Almanac measured about 251 KB of unused JavaScript on the median mobile page. See unused code.
  3. Third-party scripts. Remove the ones that nobody uses, and load the rest late. See third-party scripts.
  4. Fonts. Fewer families and weights, in WOFF2. See web fonts.
  5. Make the rest cheaper. Turn on text compression, and set caching headers so repeat visitors download less.

Set a budget

A performance budget is a limit that prevents regressions. MDN says it can apply to one file, a type of file, everything on a page, or a metric. It recommends two levels: a warning, which lets you plan work without blocking releases, and an error, which is a hard upper bound.

Start by looking at the devices and connections of your own visitors, and set limits you can reach. For example, a small business site might set a warning for the home page at 1.5 MB and an error at 2.5 MB. Those numbers are only an illustration. Tools such as a bundler or a build step in your release process can check the limits automatically.

Mistakes to avoid

Check your own page

Run the free audit and look at the total size and the list of the largest files. If one or two files make up most of the weight, start with them. Then look at how many different hosts the page contacts, because that number tells you more about request costs than the file count.

Sources

Start here

Free website audit

Live Google data for any public page: mobile and desktop.

Mobile + desktop · Lighthouse lab test · Real-user Chrome data when Google has it

Rather have this done for you? Core Web Vitals · Book a call

Related guides

All guides →