Enter a page URL and get the size of the HTML document it serves, in KB and to the byte, set against the 2MB of HTML that Googlebot reads from each URL. It is the uncompressed HTML only: images, stylesheets and scripts loaded as separate files are not in the figure.
One figure and 1 check. One GET of the URL as VerandBot/1.0, redirects followed, 12 second timeout, no JavaScript run. The figure is the byte length of the whole HTML document after the server's gzip or Brotli is undone, counted as UTF-8. Here 1 KB is 1,000 bytes and 1 MB is 1,000,000.
Over 2,000,000 bytes fails. Google's documentation says Googlebot crawls the first 2MB of a supported file type and applies the limit to the uncompressed data. It does not say whether a megabyte is 1,000,000 or 1,048,576 bytes, so this uses the smaller. Google also counts the HTTP headers inside the 2MB; this figure is the document alone.
The transfer size after compression. Images, stylesheets, scripts and fonts loaded as separate files, so this is not total page weight. Anything JavaScript adds after load. Which part of the page falls past the line: one number comes back, not a map of the file.
One fetch, one byte count, one line at 2MB. The card is the tool in motion on an example page, looped, and each step lights up while the card is doing it.
1,240 KB of the document is one inline stylesheet. Serve it as a .css file and the footer lands well inside the first 2MB.
The tool fetches the URL you typed as VerandBot, following redirects, giving up after twelve seconds. It reads the HTML document the server sends and does not load the images, stylesheets or scripts that document points to.
The server's gzip or Brotli is undone first, because that is the basis Google applies its limit on. Then the whole document is measured, head to closing tag, however long it runs, including CSS, SVG and data written inline.
Googlebot fetches the first 2MB of an HTML file and passes that portion on as if it were the complete page. The card sets the document against that line and shows how much room is left, or how much falls past it.
Bytes after the cutoff are not fetched, rendered or indexed. They are the end of the file, and the end of the file is usually the footer, where a regulated firm keeps its disclosures. The fix is almost always something inline near the top.
Ask three page size checkers about one URL and you can get three very different numbers, because they are measuring different things. Here is which number this tool reports, why it is the one Google's crawler limit is written against, and what to do when a page gets close.
"Page size" has two common meanings, and the tools ranking for the term split between them. The first is the HTML document: the single file the server returns for the URL, holding the markup, the text and anything written into it inline. The second is total page weight: that file plus every image, stylesheet, script, font and video the browser then downloads to draw the page. On an ordinary page the second is many times the first, because images alone usually outweigh the markup.
This tool reports the first, and says so in its name. It is an HTML size checker: one request for the document, one byte count. It does not follow the document's links to images or scripts, so a page with a 4 MB hero photo and a lean 60 KB of HTML reads as 60 KB here. If you want total weight, a browser's network panel or a performance test gives it. If you want to know whether Google's crawler reads all of your HTML, this is the number that answers it.
Some people who search to check website size mean something else again: how much disk space a whole site takes on its hosting plan. That is a question for the host's control panel. A page size checker works one URL at a time.
Almost every server compresses HTML on the way out, with gzip or Brotli, and the browser expands it on arrival. So a single document has two sizes: what crosses the network and what it expands to. The gap is large, because markup repeats itself and compresses well. Willowdale Equity's home page, fetched on 28 September 2026, crossed the network as 17,541 bytes of Brotli and expanded to 81,311 bytes of HTML. Verand's own home page the same day was 322,780 bytes on the wire and 1,989,882 once expanded.
This tool reports the expanded figure, because that is the figure Google's limit is written against. Google's Googlebot documentation is direct about it: "The file size limit is applied on the uncompressed data." A page can be quick to download and still be too large for the crawler, which is the one situation where turning compression up does nothing. Those transfer figures above were measured separately with a plain HTTP client; the tool itself returns only the uncompressed size.
Google's documentation for Googlebot says: "When crawling for Google Search, Googlebot crawls the first 2MB of a supported file type, and the first 64MB of a PDF file." Its Search Central blog post of 31 March 2026, "Inside Googlebot: demystifying crawling, fetching, and the bytes we process", spells out what happens at the line. "If your HTML file is larger than 2MB, Googlebot doesn't reject the page. Instead, it stops the fetch exactly at the 2MB cutoff." The part it did fetch "is passed along to our indexing systems and the Web Rendering Service (WRS) as if it were the complete file", and "any bytes that exist after that 2MB threshold are entirely ignored."
Two details matter for reading the number here. The same post says the 2MB is counted "including the HTTP header", which this tool does not measure, so treat a page within a few kilobytes of the line as over it. And the limit applies to each file separately: "external scripts, and stylesheets are fetched separately (subject to their own limits)." That is why moving inline CSS or JavaScript into its own file is the standard fix, and why it works.
You will still find tool pages quoting a 15MB Googlebot limit. Google's post gives 15MB as the default for its other crawlers that do not specify a limit, not for Googlebot fetching HTML for Search. A page checked against 15MB can pass comfortably and still lose its last few hundred kilobytes to Googlebot.
This is not a hypothetical. When we ran this check on verand.ai on 27 September 2026, the home page served 2,165,042 bytes of HTML: 165,042 bytes past a 2,000,000-byte line, and past the line on the 1,048,576-byte reading too. The page is built as one self-contained file, and more than half of it was CSS written inline. Measured on 28 September, after the page had changed, 1,113,385 bytes sat inside <style> elements, 216,238 in inline SVG and 54,815 in inline scripts, against about 74 KB of the words a visitor actually reads.
By the next day it had come back under, at 1,990,249 bytes, which is 99.5% of the line: close enough that one more section would push it over again. The saved run on this page is the 27 September result, and it fails. The lesson is the one Google's post draws. The words were never the problem. The weight was styling and markup that could have been separate files.
Googlebot keeps the first 2MB and drops the rest, so what matters is not only how large a page is but what sits at the end. On nearly every site the end of the HTML is the footer: the address, the licence numbers, the privacy and accessibility links and, for a financial adviser, an insurance agency, a law firm or a medical practice, the disclosures the firm is required or advised to carry on every page. On verand.ai on 28 September, the footer began at byte 1,913,895 of 1,989,882, inside the last 4% of the file. The footer is the last thing in the file, so on the 27 September version, with 165,042 bytes past the line, it was the part Googlebot would have dropped.
Most pages are nowhere near this, so the honest advice is to check once and move on, and to check again whenever a page gets a heavy page-builder layout, an embedded widget, a large inline map or chart, or a design system pasted into the head. If a page ever does run long, the disclosures are the first thing Google stops reading.
Google publishes a limit, not a target. The best public picture of typical sizes comes from HTTP Archive data analysed by Dave Smart in "2 MB is a lot of HTML" (February 2026), measuring the main document alone, desktop crawl:
| Uncompressed HTML | Median | 90th percentile |
|---|---|---|
| Home pages | 101.5 KB | 426.6 KB |
| Inner pages | 90.9 KB | 392.7 KB |
Over the network the same median home page is about 22 KB, so a figure of around 20 KB is a compressed size, not an HTML size. Willowdale Equity's pages sit right at the middle of that table, between about 80 KB and 110 KB of uncompressed HTML each, with the home page at 81,678 bytes and a 3,261-word article at 110,185. The card shows where your page falls against the median and the 90th percentile for its kind.
Ratings like "good under 100 KB, poor over 500 KB", or claims that Google recommends HTML under 15 KB or 100 KB, are conventions of the tools that print them. We found no Google source for any of them. Treat any band, including the context on this card, as a comparison, not a rule.
<style> element, often by a theme or page builder that inlines "critical CSS" and then everything else too. The largest single cause on the pages we have measured, our own included.PageSpeed Insights and browser performance tests report the bytes of every request the page makes, as transferred, so they fold in images, scripts and fonts and count them compressed. This tool reports one file, expanded. Neither is wrong; they answer different questions, and the two can move in opposite directions. Inlining a stylesheet saves a request, which a speed test may like, and adds its whole size to the HTML, which is what counts against Googlebot's 2MB. Small differences from other HTML checkers come from compression, from counting characters instead of bytes, and from a page serving different HTML to different user agents.
Measure the uncompressed HTML, keep it well under 2MB, and if a page runs long, move what is inline into files before the footer, and whatever it has to say, falls past the line.
Six things that are true of this tool, each one backed by a line in the code that runs it.
The request carries a URL and nothing else. There is no account, no session and no database behind the tool, so there is nothing for us to keep about you.
The size is measured on every byte the server sent, however large the page, not on a sample or a first slice. A 2MB page reports 2MB.
Compression is undone before counting, which is the basis Google's documentation gives for its 2MB. The card says which reading of "2MB" it uses and that headers are not in the figure.
A byte count, not an estimate. No model reads the page, so the same HTML gives the same figure every time.
Transfer size, images, stylesheets and scripts in separate files, JavaScript-added content and the headers are stated beside the result, so the number is never mistaken for total page weight.
Each run is one page fetch, so it costs nothing and is never metered. The one limit is a courtesy to the sites being fetched: 20 checks a minute per visitor.
What the number includes, how much of it Google reads, and why other tools disagree.
Google publishes no recommended size, only the 2MB it reads per HTML file. For context, HTTP Archive data analysed by Dave Smart in February 2026 puts the median home page at about 101.5 KB of uncompressed HTML and the 90th percentile at about 426.6 KB, with inner pages a little smaller. Anything comfortably under the 2MB line is read in full; below that, size is a speed question rather than a crawling one. Ratings such as "good under 100 KB" are tool conventions, not Google rules.
Only the parts written into the HTML itself: inline styles, inline scripts, inline SVG and images embedded as base64 text. Images, stylesheets, scripts and fonts loaded as separate files are not included, which is why this is not a page weight checker in the total-download sense. Google applies its limits to each of those files separately.
The first 2MB, measured uncompressed. Google's Googlebot documentation says it crawls the first 2MB of a supported file type and the first 64MB of a PDF, and its March 2026 blog post says the fetch stops exactly at the cutoff, the fetched part is passed on for indexing as if it were the complete file, and the rest is ignored. The same post counts the HTTP header inside the 2MB. The 15MB figure still quoted as a Googlebot limit is the default for Google's other crawlers that do not specify one, which makes it the wrong html size limit to test against.
Not this number, and not Google's limit. Compression shrinks what crosses the network, to about a fifth of the HTML on the pages we measured, but Google applies the 2MB to the uncompressed data and this tool reports the uncompressed size. Willowdale Equity's home page was 17,541 bytes over the network and 81,311 bytes expanded when we measured both on 28 September 2026.
They measure different things. PageSpeed Insights reports the bytes of every request the page makes, compressed as transferred, so its figure includes images, scripts and fonts. This tool reports one file, the HTML document, expanded to its full size. The two can even move in opposite directions: inlining a stylesheet removes a request and adds its whole size to the HTML.
Things written inline that could be separate files: whole stylesheets pasted into the head, inline JavaScript and framework state embedded as JSON, images encoded as base64 text, repeated inline SVG icons, deeply nested page-builder markup, and separate desktop and mobile menus both carrying the full navigation. Google's own post names inline base64 images, large blocks of inline CSS and JavaScript, and megabytes of menus as the ways a page reaches the limit.
A size check tells you whether Google reads to the end of a page. It cannot tell you whether the page is worth reading. Verand writes articles from your own expertise and credentials, so both Google and the AI assistants have something of yours to name. It then tracks where you rank and where ChatGPT, Gemini, Perplexity, Claude and Google's AI answers mention you, and gates every draft so a claim your regulator would not allow never publishes.
Content built to rank in
Google and get cited by
ChatGPT
Perplexity
Gemini
Claude, with every claim checked before it goes live.