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.
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.
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/bloglands onhttps://moz.com/blogin 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
- Paste your URLs into the box, one per line — up to 500. The scheme is optional; a bare
example.com/pricingis treated ashttps://. Duplicate lines are removed automatically. - Or press Import sitemap, paste a
sitemap.xmlURL, and the tool pulls every<loc>into the list for you (capped at 500). - 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.
- For an opt-in content-negotiation check, open Advanced: safe request headers.
It accepts only
Accept,Accept-Language,Cache-Control, andPragma; credentials, cookies, andX-*headers are intentionally blocked. Those checks bypass the short-lived cache. - 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.
- 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.
Current target
Recent checks appear below. Use the star beside any saved site, page, or list to favorite it.
Create a named list
Target filled from your local choices.
Site passport Local context for this saved site
Local data
Saved targets, named lists, and recent check summaries remain only in this browser.
| URL | Final URL |
|---|
Rate this tool
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.
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.
You won't be emailed about that request anymore.
Loading…
➕ Request a feature
New requests are reviewed before they appear here.
Common issues & how to fix them
- Warnings URL returns a redirect Fix: Update internal links to the final URL and use one intentional server-side redirect for obsolete addresses.
- Errors URL returns a 4xx response Fix: Correct the URL or restore the resource; return 410 only when permanent removal is intentional.
- Errors URL returns a 5xx response Fix: Fix the application, origin, or upstream failure until the URL returns a stable successful response.
- Errors URL has no usable HTTP response Fix: Resolve the DNS, TLS, timeout, or connection problem so the URL returns a usable HTTP response.
- Errors URL enters a redirect loop Fix: Change the conflicting redirect rules to one acyclic path ending at a live final URL.
- Warnings Final URL resolves to a different host Fix: Point the redirect to the intended canonical host or update the source URL if the cross-host move is deliberate.