Bulk SEO Checker — Check 100 URLs at Once

Paste a list, upload a CSV, or point it at your sitemap. Every URL is fetched, scored on title, description, headings, canonical, social image and content length, then compared against the others to find duplicate titles and descriptions. Sortable table, CSV export, no signup.

100% free · No sign-up · No watermarks

Paste up to 100 URLs, one per line.

Checks up to 100 URLs in one pass and scores every one on title, description, headings, canonical, social image and content length — then compares them against each other to find the duplicate titles and descriptions a one-URL-at-a-time tool never sees. Export the table as CSV. No account, no credits.

Private by design

Tags are built in your browser. Nothing is uploaded unless you ask for an AI suggestion or a URL audit.

See it before you ship

Live Google, Facebook and X previews render exactly what your link will look like.

Scored as you type

Real-time character guidance so titles and descriptions land inside the ranges that survive truncation.

Frequently asked questions

How many URLs can I check at once?

Up to 100 per run. Unlike the crawler, nothing here fans out — the list is exactly what you paste, so 100 URLs is 100 fetches. If you need more, run it again with the next batch; there is no daily quota, only a short pause if you go fast enough to hit the rate limit.

What format should my CSV be in?

Anything with one URL per row. The first column that actually holds a URL is used, so a Search Console or Screaming Frog export works unchanged and a header row is ignored automatically — the word "url" is not a URL. The file is read in your browser and never uploaded.

Can I use a sitemap instead of a list?

Yes. Paste your sitemap.xml URL and it loads the pages into the box, where you can edit the list before running. If the URL is a sitemap index, the first few child sitemaps are read and the tool tells you how many it skipped rather than pretending the list is complete.

How is the score calculated?

Title length 30 points, description length 25, exactly one H1 15, a canonical pointing at your own domain 10, an og:image 10, and enough content to be worth ranking 10. The title and description curves are the same ones the tag editor shows, so a page cannot score differently in the two tools. Pages that returned an error or are marked noindex show a dash instead of a number — the score does not apply to them.

Why does it not report orphan pages or broken links?

Because a pasted list carries no link graph. Orphan and broken-link findings are statements about what links to what, and running them over a list would report every single URL as an orphan. Use the site crawler for those — it follows links, so it knows.

Can I check URLs from several different sites in one run?

Yes, and it is useful for comparing yourself against competitors. Each site is checked as its own group so we only read each robots.txt once, which means a list spread over many domains runs slower than the same number of URLs from one. Duplicate-title findings across unrelated domains are usually meaningless — read those per site.

Does it obey robots.txt?

Yes, for every origin in your list, matched the way a real crawler matches it. A URL your robots.txt blocks is listed as skipped rather than fetched quietly — and it is worth seeing, because the same rule is stopping search engines.