SEO check

Web Page Size: What Is Good and How to Reduce It

Learn what web page size means, how big a page should be, how our free report measures HTML size, and what to trim first.

Free to use 15 min read Updated Oct 2026

Web Page Size: The Quick Answer

Quick answer: Web page size is the amount of data a page makes the browser download, counted in KB or MB. Our report scores the part you control most directly, the size of the HTML document itself, measured after scripts have run and before any compression is applied.

  • Pass: the rendered HTML is 1,024 KB or smaller, so no action is needed.
  • Warning: the HTML is above 1,024 KB and up to 2,048 KB.
  • Fail: the HTML is above 2,048 KB.
  • Fix: remove inline bloat first (base64 images, huge scripts or JSON), then move CSS and JavaScript into cached files.

Check my website

According to the 2025 Web Almanac, the median home page ships only 22 KB of HTML but about 2,559 KB in total on mobile. So a heavy HTML file usually points to something embedded in it that should live elsewhere. The report is free and needs no account.

Web Page Size in KB vs Pixels: Which One Do You Mean?

People use the phrase for three different things, and search results mix them together. Find the row that matches what you wanted before you read further.

What it meansMeasured inThe question behind itWhere to look
Page dimensionsPixelsHow wide should my layout be?Responsive CSS and breakpoints
Total page weightKB or MBHow much does one visit download?DevTools Network tab and Lighthouse
HTML document sizeKBIs the markup itself too big?The Page size row in our report

This guide is about file size. Pixel width is not a single number you pick, because a layout has to adapt to phones, tablets and desktops through fluid widths and breakpoints. If that is what you were after, the CSS media queries guide walks through it.

If you arrived by searching how to make a page smaller in Chrome, on a Mac or on an iPad, you want browser zoom, usually Ctrl or Command together with the minus key. Zoom changes how big things look on your own screen. It has no effect on SEO and no effect on what visitors download.

One note on units. Our report treats 1 KB as 1,024 bytes, so the value it shows is the uncompressed size of the HTML, its byte length divided by 1,024. Some tools divide by 1,000 instead, which is why two tools can report slightly different numbers for the same page.

Average Web Page Size: How Does Your Page Compare?

To judge the average page size against your own number you need a benchmark you can trace. These figures are medians for mobile home pages from the main breakdown in the Web Almanac page weight chapter, the 2025 edition of the HTTP Archive's yearly study.

Part of the pageMedian sizeWhat it tells you
TotalAbout 2,559 KBThe full page payload for a typical mobile home page
Images911 KBUsually the single heaviest category
JavaScript632 KBCosts bytes and also CPU time to run
Fonts122 KBGrows fast with extra families and weights
CSS77 KBSmall, but it blocks rendering
HTML22 KBThe document our report measures

The five listed types do not add up to the total, because the rest is other file types such as video, so read the rows as the biggest parts, not the whole. On desktop the median home page is a little heavier, at 2,862 KB.

A middle value hides the tail. Across all pages the mobile median is 2,164 KB, yet the 90th percentile is 8,337 KB (9,179 KB on desktop). In other words, one page in ten is heavier than that, which is why an average can look healthier than the web feels.

Lighthouse offers two reference points of its own. It flags pages whose total network requests pass 5,000 KiB, and its documentation suggests keeping the total under 1,600 KiB so a slow connection can still become interactive in roughly ten seconds. Treat those as the ideal page size for slow connections, not as a ranking cutoff.

In practice, a normal content page can stay well under 2 MB in total, and a team can write that down as a performance budget. The HTML document is different, because most HTML files are only tens of KB (the median is 22). If yours runs to hundreds of KB, look inside the file first.

Why Web Page Size Matters for SEO and Speed

Google does not publish a page size threshold for rankings, so it would be wrong to call size a ranking factor in its own right. Size works through other things that do matter: speed, page experience and crawling. The link is indirect but real.

Speed comes first. More bytes take longer to arrive on a slow mobile network, which delays first render and Largest Contentful Paint. Those metrics sit behind the Core Web Vitals guide, and a heavy page makes them harder to hit on exactly the connections where visitors are least patient.

Crawling is the part people overlook. Googlebot reads the first 2 MB of a supported file such as HTML, counted uncompressed, and it fetches each CSS and JavaScript file separately under its own limit. Once the cutoff is reached, Googlebot stops the fetch and passes only the part it already downloaded on for indexing, so anything placed after the cut, whether content, internal links or structured data, can be missed. The details are in the Googlebot file size limits documentation.

Real people feel it too. Heavy pages burn mobile data and battery, and they struggle on older phones that take longer to parse the same scripts. Browser caching mostly helps repeat views and a CDN shortens the trip, but neither reduces how many bytes a first-time visitor or a crawler has to receive. More bytes per view also raise bandwidth use and server load, which shows during traffic spikes.

How SEO Site Checker Tests Web Page Size

The check is narrower than the phrase suggests. Our report loads your URL in a headless Chromium browser, waits for the page load event for up to 20 seconds, then reads the rendered document.

The rule: the report takes the UTF-8 byte length of the rendered HTML, divides it by 1,024 and rounds to two decimals. The status then follows the thresholds table further down.

What the Page Size Test Measures

The number comes from the DOM that Chromium serializes, not from the raw server response and not from the network transfer size. HTML that scripts have added by the time the load event and the follow-up measurements finish is counted. Content that arrives later, for example after a click or a long delay, is not, and a serialized DOM can differ a little from what your server sent.

The figure appears in two places, and neither display is perfect. In the Speed section the Page size row is shown as a bare number in KB, with no unit label. In the summary card at the top of the report, a large value can be printed with a smaller unit than it deserves, so 1,500 KB can appear as 1.46 kB. When the two disagree, trust the Speed row and judge it with the thresholds on this page. The sentence beside the number may also talk about a much smaller typical size, which is older wording that does not match these thresholds.

Everything inside the document is in the number: inline CSS, inline JavaScript, inline SVG, JSON blobs and base64 data URIs. You will find the result in the Speed section, next to page load time and DOM size.

Pass, Warning and Fail Thresholds

StatusRendered HTML sizeBoundary exampleWhat to do
Pass1,024 KB or less1,024.00 KB still passesNothing required
WarningAbove 1,024 KB, up to 2,048 KB1,024.01 KB warns, and so does 2,048.00 KBLook for inline bloat
FailAbove 2,048 KB2,048.01 KB failsInspect the file now

Only a pass counts toward the score percentage; Warning and Fail both show a How to Fix button. The sibling DOM size check comes from the same browser run but counts elements, with a warning above 1,500 and a fail above 3,000, rather than bytes.

The figure is uncompressed, so turning on gzip or Brotli will not change this row, although compression still helps real visitors a great deal. Googlebot counts uncompressed bytes as well, which is why a page that looks small on the wire can still be large to the crawler.

The 2,048 KB fail line matches Googlebot's 2 MB limit in size, but Googlebot applies that limit to the uncompressed file it fetches, not to the DOM after scripts have run. If the rendered figure is high and the curl byte count in the next section is low, JavaScript is adding the bloat, which is a rendering problem rather than a crawl cutoff. If both are high, the crawl risk is real, and a fail deserves a proper look at the file first.

What the Test Does Not Count

Images, external stylesheets and scripts, fonts, video and third party requests are all outside this number. They shape load time and total page weight, so a clean pass here does not mean the whole page is light. The free SEO report covers those elsewhere.

One edge case: if a firewall serves a small bot challenge page instead of your site, the HTML will be tiny and the check will pass for the wrong reason. The report flags bot protection separately, so read that notice first.

Test my page size free

How to Check Web Page Size

No single tool answers every version of the question, so pick the one that matches what you want to know.

  1. Run our report. Open the free SEO report, enter your URL and read the Page size row in the Speed section. That gives you the rendered HTML in KB, uncompressed.
  2. Read the Network footer. In the Chrome DevTools Network tab, tick Disable cache and reload. The footer shows a transferred figure, which is what crossed the network after compression, and a resources figure, which is the uncompressed total.
  3. Isolate the HTML. Click the first document row in the Network tab. The Size column shows transferred bytes. Hover over it, or switch on Use large request rows in the DevTools settings, to see the uncompressed resource size underneath. You can also count bytes with curl, as shown below.
  4. Audit the payload. Run Lighthouse or PageSpeed Insights and open the Lighthouse enormous payloads audit, titled Avoid enormous network payloads, to see the biggest files listed first. WebPageTest gives a similar request by request waterfall if you want a second opinion.
Text
curl -sL https://example.com/ | wc -c
curl -sL -H "Accept-Encoding: gzip" https://example.com/ | wc -c
curl -sL -o /dev/null -D - -H "Accept-Encoding: gzip, br" https://example.com/ | grep -i content-encoding

The first line prints the raw HTML bytes the server sends, and the -L flag follows redirects so you count the real page instead of a tiny redirect body. The second asks for gzip and prints the compressed bytes. The third sends a normal GET request and shows the Content-Encoding header, where gzip or br means compression is active. Curl shows the server's HTML while our report counts the DOM after JavaScript has run, so a high report figure next to a low curl count means scripts are building the markup.

How to Reduce Web Page Size Step by Step

Work in order of impact, and keep track of which fixes move our HTML number and which only move total weight. The first group shrinks the document the report scores, the second lightens the whole visit.

Shrink the HTML Document First

  1. Look inside the source. View the page source and search for data:image, large script and style blocks, JSON state blobs, repeated hidden menus and giant inline SVG. One forgotten blob can outweigh the rest of the page.
  2. Move code out. Put inline CSS and JavaScript into external files so the browser downloads them once and caches them. Replace every base64 data URI with an ordinary image file.
  3. Trim long lists. Print long lists in pages, or load extra items on request, and keep the main content in the HTML itself.
  4. Minify the markup. Strip whitespace and comments, and use the free HTML Minifier for a quick before and after.
HTML
<!-- Before: the image bytes live inside the HTML -->
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUg..." alt="Team photo">

<!-- After: a real file, sized and lazy loaded -->
<img src="/images/team.webp" alt="Team photo" width="800" height="533" loading="lazy">

The second version also sets width and height, so the browser reserves space and avoids layout shift. Leave lazy loading off your hero image.

Cut Total Page Weight

  1. Images. Image optimization pays the most. Resize to the displayed size, compress, serve WebP or AVIF, add responsive images with a srcset so a phone can pick a 400 px file instead of a 1600 px one, and lazy load what sits below the fold. The free Image Compressor and WebP Converter handle the first two jobs without any setup.
  2. JavaScript. Remove unused plugins and third party scripts, defer whatever remains and split big bundles so each page loads only what it needs. Watch JavaScript bundle size after each release, because those bytes also cost CPU time on cheaper phones.
  3. Fonts. Web fonts add up quickly, so use fewer families and weights, serve WOFF2 files and apply font subsetting to keep only the characters you use, for example the Latin range if that is all your audience reads. System fonts cost nothing at all.
  4. Compression. Enable gzip compression or Brotli compression on the server for HTML, CSS and JavaScript. The HTML compression guide shows how to set it up, and as noted above it will not move our HTML row.
  5. Video. Show a poster image and load the player on click rather than autoplaying a large file.

Re-test checklist: clear the cache or tick Disable cache, run the report again, compare the Page size row with your earlier number, and watch load time as well. A smaller file that still loads slowly is not a solved problem.

Web Page Size Fixes for WordPress, Shopify and Wix

Each platform hides different levers, so the table lists the first move that usually pays off.

PlatformFirst moveWhy it helps
WordPressRemove unused plugins and page builder widgets, compress images before uploadBuilders add wrappers and inline CSS to the HTML
ShopifyDelete apps you no longer use, paginate long collections and serve sized imagesEach app can inject its own scripts, and oversized originals add weight
Wix and SquarespaceUse fewer, smaller images and drop background videoYou cannot edit most generated markup
Page builders (Elementor, Divi)Remove stacked sections and separate mobile and desktop copies of the same blockDuplicated blocks can double the markup for that part of the page
JavaScript appsCheck for a large serialized state scriptServer rendering can embed a big JSON blob

On WordPress, pair the plugin cleanup with a caching plugin that can minify HTML output. If you build with Elementor and its CSS Print Method (under Settings, Advanced) was switched to Internal Embedding, set it back to External File so the styles stop being written into every page. On Shopify, open the theme editor and check the App embeds panel, because each enabled embed can add its own script to every page. Then let the theme request a sized file: in Liquid, product.featured_image | image_url: width: 800 stops the page pulling a huge original.

On Wix and Squarespace, work on what you control: fewer widgets, fewer embeds and lighter media. Server rendered React, Next.js or Vue sites should view the source and look for one oversized state script near the end of the document.

Common Web Page Size Mistakes

Watch out: compressing images when the failing item is the HTML document will leave the report row exactly where it was. Check which number is actually red before you start optimizing.

  • Judging only by transferred size. A page can look small on the wire and still be large to the crawler.
  • Testing with the cache on. Repeat visits look tiny because most files come from disk, which hides the real first visit.
  • Inlining everything as base64. It saves requests but bloats every HTML view, and the browser cannot cache those bytes separately.
  • Lazy loading the hero image. It delays Largest Contentful Paint when the real fix is to shrink that file.
  • Chasing the KB figure instead of what visitors feel. A smaller page that still loads slowly is not fixed, so track load time and Largest Contentful Paint too.
  • Skipping minification, or expecting too much from it. Stripping whitespace and comments usually saves a modest share, while removing inline data saves most of the bytes, so do both. The post on how to minify HTML, CSS and JavaScript covers the steps.

How to Fix

The short version, the same steps you see when you click How to Fix in your report.

Why this fails: the HTML document of your page, measured after scripts run, is larger than 1,024 KB. That is usually caused by inline data that does not belong in the markup, such as base64 images, big script blocks or JSON.

The report loads the page in Chromium and measures the rendered HTML in KB, uncompressed. Up to 1,024 KB passes, above that up to 2,048 KB is a Warning, and above 2,048 KB fails. Images and external files are not counted.

How to fix it:

  1. View the page source and search for data:image, long script blocks, style blocks and JSON.
  2. Replace base64 images with normal image files, and move inline CSS and JavaScript into external files so the browser can cache them.
  3. Load long lists in pages or on request, and keep the main content in the HTML.
  4. Minify the HTML and remove unused plugin or page builder output.
HTML
<!-- Before -->
<img src="data:image/png;base64,iVBORw0KGgo..." alt="Team photo">
<style> .hero { color: #333; } /* hundreds of lines */ </style>

<!-- After -->
<img src="/images/team.webp" alt="Team photo" width="800" height="533" loading="lazy">
<link rel="stylesheet" href="/css/site.css">

Keep loading="lazy" for images below the fold only. To measure the raw HTML from a terminal, run this and compare the byte count before and after:

Text
curl -sL https://example.com/ | wc -c

If the report figure is much higher than the curl count, scripts are adding the markup.

Platform shortcuts:

  • WordPress: remove unused plugins and page builder widgets, then use a caching plugin that minifies HTML.
  • Shopify: remove unused apps and paginate long collections.
  • Wix and Squarespace: use fewer widgets and embeds.
  • Server rendered JavaScript apps: shrink the serialized state script in the HTML.

Re-test: clear the page cache, then run the free SEO report again and read the Page size row. Compression alone will not change this figure.

Re-test my website

Frequently Asked Questions

What is the average web page size?
The 2025 Web Almanac puts the median home page at about 2,862 KB on desktop and 2,559 KB on mobile, with only 22 KB of that being the HTML document. Because half of all pages are heavier than a median, treat it as a description of the middle of the web, not as a target to aim for.
What is a good web page size for SEO?
Google gives no official number. A content page that stays under about 2 MB in total is a sensible aim, and Lighthouse suggests a 1,600 KiB total for slow connections. Our report passes HTML documents up to 1,024 KB, because the HTML is the part it measures directly. Images, scripts and fonts usually decide whether the whole page feels light.
How do I check web page size?
Run the free SEO report to see the rendered HTML size in KB, which is the DOM after scripts have run. The Network tab footer in Chrome DevTools shows transferred bytes next to uncompressed resource bytes for every file. Curl with a byte count measures the raw HTML your server sends. Comparing the report with curl tells you whether scripts are adding the bulk.
How do I reduce web page size?
Cut the biggest files first: resize, compress and convert images to WebP or AVIF, then remove unused scripts and fonts, and minify text files such as CSS, JavaScript and HTML. If our report flagged the HTML itself, take inline bloat such as base64 images and large JSON blobs out of the markup first, because that is the part the report scores.
What is the Googlebot page size limit?
About 2 MB per file. Googlebot measures the uncompressed bytes of the HTML and stops reading at that point, so anything after it is not used for indexing. Each stylesheet and script is fetched separately and has its own 2 MB allowance. The median HTML file is 22 KB, so reaching 2 MB usually means inline data such as base64 images or a huge JSON blob.
Does web page size affect SEO?
Not as a direct ranking factor that Google documents. It does shape load speed, Core Web Vitals, crawling and user experience, and those matter for search. Heavy pages are also more fragile on slow networks, where visitors leave before the content has finished loading, so a lighter page protects you most on slow 3G style connections and older phones.
What is the standard web page size in pixels?
There is no required width. Layouts should flex across screens with media queries, and common design widths are roughly 360 to 430 pixels on phones, 768 on tablets and 1280 to 1920 on desktops. This is a layout question and is separate from file size in KB.
How do I fix a web page size warning in my SEO report?
Open the HTML source and look for inline base64 images, large script or style blocks and JSON blobs. Move them into external files, then run the report again. Turning on compression alone will not change the figure, because the report measures the uncompressed HTML.

See how your site scores right now

Paste your address into the free report, then use the How to Fix button on anything that needs work.

Free to use. Results in under a minute for most sites.