Scrap up to 25 pages
Paste the addresses you want to look at. Each one is fetched once, parsed, and added to the tables below as it completes.
Ready.
One row per URL. The CSV carries every column, including all Open Graph and Twitter tags.
0 rowsEvery h1–h6 in document order. Level and order together show the outline a crawler sees.
0 rowsTop 20 words per page after common stop words are removed. Share is measured against the total word count of the page.
0 rowsEvery anchor with an href, classified internal or external, with its anchor text.
0 rowsOne row per image. A missing alt attribute and an empty one mean different things, so they are separate columns.
0 rowsStructured data blocks: JSON-LD, microdata and RDFa types. A block that fails to parse is reported, not hidden.
0 rowsAnything that went wrong. An empty table here is the result you want.
0 rowsFour steps, one of them on a server
We would rather explain the one server-side step than pretend it isn't there.
-
You enter URLs
Nothing is sent anywhere while you type. The list is cleaned, deduplicated and capped at 25 in your browser.
-
A relay fetches the HTML
Browsers refuse to fetch pages from other domains. A small Cloudflare Worker on our domain requests each page and passes the HTML back. It stores nothing and logs nothing.
-
Your browser does the work
Parsing, counting, classifying, all of it happens on your machine.
-
You export what you need
Each table downloads as its own CSV, generated in the browser. They share a
urlcolumn, so they join cleanly in a spreadsheet.
Seven tables, seven exports
Every table is raw data. No grades, no traffic lights, no score out of a hundred.
-
01
Pages
One row per URL: status, title and its length, meta description, canonical, robots directive, language, viewport, heading counts, word counts, link and image counts, every Open Graph and Twitter tag, and the structured data types found. 51 columns in the export.
-
02
Headings
Every h1 through h6 in document order, with its level, position and character length. This is where a broken outline becomes obvious, four h1s, or an h3 with no h2 above it.
-
03
Words
The 20 most repeated words on each page with counts and share of total. Useful for the plain question most tools dance around: is this page about what you think it is about?
-
04
Links
Every anchor on the page, split into internal and external, with anchor text,
relvalue and whether it is nofollowed. Empty anchor text and bare "click here" links show up here. -
05
Images
Every image with its source, alt text, and whether the alt attribute is missing entirely or deliberately empty. Those are different problems and get different columns.
-
06
Schema
JSON-LD, microdata and RDFa types, one row per block, with the raw JSON in the export. A block that is present but malformed is flagged rather than skipped; broken structured data is a finding.
-
07
Errors
Every failure: timeouts, 404s, redirects that led nowhere, pages that were too large, JSON-LD that would not parse. Nothing is dropped silently.
What this tool does not do
Every one of these is a real limitation, not a teaser for a paid version. There is no paid version of this tool.
-
It does not run JavaScript
Static HTML only, exactly as it arrives from the server. If your site renders its content client-side, the tables will look alarmingly empty. That is worth knowing in itself, but it is not a verdict on your site.
-
It does not discover pages
It fetches the URLs you type and nothing else. No sitemap parsing, no following links, no recursion. Orphan pages stay invisible.
-
It does not score anything
No number out of 100, no letter grade, no colour-coded verdict. Those numbers are invented, and inventing one here would make the raw data less trustworthy.
-
It does not check rankings, backlinks or search volume
That data lives behind third-party APIs this tool has no connection to. Everything here comes from the page itself.
-
Word counts are approximate
Navigation, headers and footers are stripped where they are marked up as such. On sites that do not use those elements, shared boilerplate will inflate the count.
-
Title length is characters, not pixels
Search engines truncate titles on rendered width, not character count. The number here is a useful proxy and nothing more.
What happens to the URLs you enter
The URL goes to our relay, and nowhere else
To fetch a page, its address has to reach a server. Ours receives it, makes one request, and returns the HTML. It writes nothing to a database, a log file or an analytics tool.
The page content never leaves your browser
The HTML comes back to your machine and is parsed there. Titles, headings, word counts, links, images and structured data are all derived locally. None of it is sent anywhere.
No cookies, no analytics, no account
This page sets no cookies and stores nothing in your browser. There is no tracking script on it, and no sign-up. Close the tab and the results are gone, download the CSVs first if you want to keep them.
The CSVs are made on your machine
Each export is assembled in the browser and handed straight to your downloads folder. No file is generated or stored on a server.
One exception, stated plainly
This page loads its typeface from Google Fonts, so Google sees your IP address, as it does on any site that does the same. If that matters to you, the tool works fine with the font blocked.
Reasonable questions
Why does it need a server at all?
Browser security forbids a page on one domain from reading a page on another. It is called the same-origin policy, and it is not something a website can switch off from its own side. Any tool that claims to scrap/crawl arbitrary sites purely in the browser is either using someone else's relay or is not doing what it says.
Can I use it on a site I don't own?
Yes. It reads exactly what any visitor's browser would read, one page at a time, with a pause between requests. Be reasonable about it, this is a tool for looking at a handful of pages, not for pulling someone's whole site apart.
Why only 25 URLs?
Because it runs in a browser tab. Beyond that, memory gets tight, the tables get slow, and it stops being polite to the server on the other end. If you need hundreds of pages scraped, that is a different job and a different tool.
Why is the word count different from another tool?
Every tool draws the line between content and boilerplate somewhere
different, and none of them are wrong. Ours strips
nav, header, footer,
script and style, and prefers
main when a page has one. Compare a page against itself
over time rather than against another tool's number.
Does this replace an SEO audit?
No, and it isn't meant to. This tool tells you what is on your pages. An audit tells you which of it is a problem, why, and what to do about it, which takes judgement, not a scraper. If the tables here are enough for you, use them and don't buy anything.
The audit is the judgement part
A 52-point review of technical SEO, on-page, keywords, backlinks, competitors, local SEO and AI visibility, written up as a report you can act on yourself, hand to your developer, or give to anyone you like. Transparent pricing, no hidden fees.