Bulk HTTP Status Checker

Free, no signup. A site migration or audit turns up hundreds of URLs to check, one at a time is not an option. Paste up to 500 and get status codes, full redirect chains, and final destinations, with the SEO problems already flagged.

Advanced: safe request headers

Up to 5 response-negotiation headers: Accept, Accept-Language, Cache-Control, and Pragma. Credentials, cookies, and X-* headers are refused. Headered checks are never cached or stored.

Request user-agent

A matching user-agent does not make this request originate from that crawler’s verified IP range.

follows redirects · max 5 hops
0 URLs

Example data — replace with your own, then press Check status codes

Checks run from our server; we fetch the URL you enter and don't keep the results. Re-running the same list within about ten minutes reuses a short-lived cache. Checks with custom headers deliberately bypass that cache. Anonymous run-level outcome counters may be used for aggregate research; URLs, domains, IPs, and identifiers are never included, and no statistic is released below 100 runs.

Feedback
Report a bug

Found something broken in Http Status Checker? Let us know what happened — this goes straight to a private triage queue, not a public list.

What will be sent
 No tool inputs, uploads, pasted source, complete results, query parameters, or URL fragments are attached automatically. You can edit or remove the selected passage above. Browser and anti-abuse metadata is processed for spam prevention. 

Sample report Example data — real, captured result

Say you paste four URLs:

http://moz.com/blog
https://schema.org/Product
https://www.wikipedia.org
https://example.com/dead-link

…and the checker returns:

  • Two pages are healthy 200s — nothing to do, see what each status colour means.
  • One URL cleanly 301-redirects. http://moz.com/blog lands on https://moz.com/blog in a single hop (green→amber dots show it) — expand the row for the full chain detail.
  • One is a dead 404, flagged in red as a broken link — the row most worth fixing first, since every internal link pointing at it is wasted.
  • Sort by status or expand any amber/red row to triage a big list fast instead of reading every line — see HTTP status codes for what each class means for SEO.

How to use it

  1. Paste your URLs into the box, one per line — up to 500. The scheme is optional; a bare example.com/pricing is treated as https://. Duplicate lines are removed automatically.
  2. Or press Import sitemap, paste a sitemap.xml URL, and the tool pulls every <loc> into the list for you (capped at 500).
  3. Pick the user-agent — default, browser, Googlebot, Bingbot, or the listed AI crawlers — if you want to compare an anonymous crawler response with a browser response.
  4. For an opt-in content-negotiation check, open Advanced: safe request headers. It accepts only Accept, Accept-Language, Cache-Control, and Pragma; credentials, cookies, and X-* headers are intentionally blocked. Those checks bypass the short-lived cache.
  5. Press Check status codes. Results stream in per batch. Filter with the status chips (2xx / 3xx / 4xx / 5xx / error), sort by status, latency, or chain length, and expand any redirecting row to see every hop.
  6. Use Export CSV for the full list — input URL, final status, final URL, redirect count, chain, latency, flags, and errors. Export a snapshot to compare a later run; the comparison calls out status changes, new 4xx rows, and chains that grew.

Checks run from datacenter IPs at the edge — some bot-protected sites (Cloudflare challenges, WAFs, CDN bot rules) answer these requests differently than they would answer a real browser.

What the results mean

Every row's status pill is colored by its status class:

  • 2xx Success (green) — the URL returned a live page (usually 200). Nothing to fix.
  • 3xx Redirect (amber) — the URL redirects; the Final URL column shows where it lands. Expand the row for every hop.
  • 4xx Client error (red) — broken or missing (404), forbidden (403), gone (410). These are dead links to fix or remove.
  • 5xx Server error (red) — the server failed (500) or is unavailable (503). Often transient, worth re-checking.
  • ERR Connection error (red) — the request timed out, the host didn't resolve, or the site refused it.

Amber flags on a row call out specific redirect problems the tool detects, including:

  • Redirect chain — reduce to one hop — more than one redirect before the final page.
  • 302 in chain — a temporary redirect where a permanent 301 belongs, so signals never consolidate.
  • http → https → www multi-hop — a common canonicalization chain that should be collapsed to a single redirect straight to the final host.
  • Meta refresh — a client-side refresh on the final page that header-only tools miss.
  • Redirect loop and more than 5 redirects — shown as red error flags.

How it works

The page splits your list into batches of 25 URLs and posts them to a server-side checker (URL fetching can't run in your browser). Up to four batches run in parallel, and each result streams back into the table as it lands — you don't wait for the whole list to finish. For each URL the checker requests it without auto-following redirects, records the status and Location at every hop up to five, and reports the final status and destination. It also reads the final HTML for a meta refresh.

Everything after the fetch — the status-class chips, sorting, filtering, and CSV export — runs entirely in your browser. No URLs are stored, and re-running the same list within about ten minutes reuses a short-lived edge cache.

Features

  • Up to 500 URLs per run, checked in parallel batches with per-batch progress.
  • Full redirect chain per URL — expand any row to see every hop, its code, and its target.
  • Status-class filter chips and sortable columns (status, latency, chain length).
  • SEO flags for long chains, 302-in-chain, multi-hop canonicalization, meta refresh, and loops.
  • Sitemap import that pulls URLs straight from a sitemap.xml.
  • Browser, search-bot, and AI-crawler user-agent choices; safe, bounded request-header overrides; CSV and local snapshot export.
  • Runs against public URLs only — no sign-in, nothing stored.

Limitations

Checks run from datacenter IPs at the edge, so bot-protected sites (Cloudflare challenges, WAFs, CDN bot rules) may answer differently than they would a real browser — and choosing the Googlebot user-agent doesn't make the request pass reverse-DNS verification. It follows the HTTP chain plus one layer of meta refresh, not JavaScript redirects (window.location, framework routers won't appear). Each chain stops at five hops. It only reaches pages a public crawler could reach — login-gated, IP-restricted, or private addresses are refused. And the 500-URL cap plus a courtesy limit of 10 URLs per host per batch mean very large single-site lists are spread across multiple batches.

Frequently asked questions

How many URLs can I check at once?

Up to 500 URLs per run. Paste them one per line, or import them straight from a sitemap URLA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing.. The tool splits the list into batches of 25 and deliberately paces requests to avoid overwhelming one host or the checking service, so a full single-site run can take a couple of minutes. Duplicate lines are removed before checking.

What is the difference between the status code and the final URL?

The status codeAn HTTP status code is the three-digit number a server returns with every response to tell a browser or crawler what happened to its request — success, redirect, client error, or server error. For SEO the code matters as much as the content: it tells Google and Bing whether to index a page, follow a redirect, retry later, or drop the URL from the index. shown is the final status — the code of the page the URL actually lands on after following any redirects. The Final URL column shows where a redirecting URL ended up. If a URL redirects, the tool follows the whole chain (up to five hops) and reports the destination, not the first hop. Expand any row to see every hop and its individual code.

Why is my status code colored red or orange?

Rows are colored by status class. Green is 2xx (success), amber is 3xx (redirect), and red is 4xx (client errors like 404), 5xx (server errors like 503), or a connection error. The color lets you scan a large list and spot the broken and redirecting URLs without reading every code.

Does it check the status code a crawler sees?

It can send the browser, GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer., BingbotBingbot is Microsoft Bing's primary web crawler — the bot that discovers, fetches, and renders pages to build the Bing index. That index also powers Yahoo, DuckDuckGo, Ecosia, and Microsoft Copilot, so Bingbot's reach is far wider than Bing's own search-market share., GPTBot, ClaudeBot, or PerplexityBot user-agent string, which can surface crawler-specific rules. The request still comes from a datacenter IP, not that crawler's verified network, so IP-verifying sites may treat it as an unverified bot.

Are the URLs I paste stored anywhere?

No. URLs are sent to the checking endpoint only to fetch their status and are never saved. Filtering, sorting, and CSV export all run in your browser. Re-running the same list within about ten minutes reuses a short-lived cache so repeat checks are faster, but nothing is persisted to an account or database.

Next stepRedirect Map Builder — generate the corrected version.

Feature requests for Http Status Checker

Upvote what you want most. New ideas can be submitted from the floating Feedback menu; requests appear here once approved, and the most-wanted rise to the top.

Loading…

➕ Request a feature

New requests are reviewed before they appear here.