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 Illustrative status inventory — not a company audit

Say you paste four URLs:

https://example.com/old-trail-shoe
https://example.com/products/trail-runner
https://example.com/products/retired-boot
https://example.com/dead-link

…and the checker returns:

  • Two pages return 200 — that confirms successful HTTP responses, not necessarily healthy or indexable content. Inspect titles and rendered copy before calling either URL clean.
  • One URL cleanly 301-redirects. https://example.com/old-trail-shoe lands on https://example.com/products/trail-runner 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.

Soft-404 trap: green status, missing product

Suppose /products/retired-boot returns 200, but its title is “Product unavailable” and its body is the same empty shell used by thousands of retired SKUs. This checker correctly reports the HTTP response as successful; it does not pretend that status alone proves useful content. Cluster repeated titles/body templates with a crawler, inspect representative rendered pages, and confirm Google's classification in Search Console. The `.example` URL and scenario are illustrative.

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 URL. 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 code 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, Googlebot, Bingbot, 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.

Über das Tool

Prüfe bis zu 500 öffentliche URLs in bewusst getakteten Batches. Das Werkzeug zeigt Statuscodes, vollständige Weiterleitungsketten, finale Ziele, Latenzen, Header-Evidenz, Canonical-Prüfungen und SEO-Hinweise; filtere, vergleiche Snapshots und exportiere CSV.

URLs werden nur zum Abruf ihres Status an den Endpoint gesendet und nicht gespeichert.

Funktionen

  • Bis zu 500 URLs pro Lauf in Batches mit Fortschritt und begrenzter Last pro Host
  • Vollständige Weiterleitungskette mit jedem Hop, Statuscode und Ziel
  • Browser-, Googlebot-, Bingbot-, GPTBot-, ClaudeBot- und PerplexityBot-User-Agents
  • Statusfilter, sortierbare Latenz- und Kettenlängenspalten sowie CSV- und lokale Snapshot-Exporte

Funktionsweise

Normalisiere jede URL, entferne Duplikate und teile die Liste in Batches. Der Dienst folgt bis zu fünf Redirect-Hops und einer Ebene Meta-Refresh, meldet jeden Status und jedes Ziel und gruppiert Zeilen in 2xx, 3xx, 4xx, 5xx oder Verbindungsfehler.

Einschränkungen

  • Der Abruf läuft von Datacenter-IP-Adressen am Rand. Cloudflare-Challenges, WAFs und CDN-Botregeln können anders antworten als ein echter Browser.
  • Login-geschützte, IP-beschränkte oder private Adressen werden abgelehnt; ein gewählter Crawler-User-Agent beweist keine verifizierte Crawler-IP. Statuscodes 503, 200, 404, 403, 410, 302 und 301 werden ausdrücklich ausgewiesen.
  • Eine 2xx-Antwort bestätigt eine erfolgreiche HTTP-Antwort, aber nicht gesunden oder indexierbaren Inhalt. Prüfe Titel, gerenderte Inhalte und die vollständige Kette getrennt. Beispielziele wie https://example.com/old-trail-shoe und das Schema https:// bleiben sichtbar.

Häufig gestellte Fragen

Wie viele URLs kann ich gleichzeitig prüfen?

Bis zu 500 URLs pro Lauf. Füge sie zeilenweise ein oder importiere eine sitemap.xml-URL. Die Liste wird in 25er-Batches geteilt und bewusst getaktet; ein großer Lauf kann einige Minuten dauern.

Was ist der Unterschied zwischen Statuscode und finaler URL?

Der Statuscode ist der finale Status nach allen Weiterleitungen. Die Spalte „Finale URL“ zeigt das Ziel; bei einer Weiterleitung wird die gesamte Kette bis zu fünf Hops gemeldet.

Warum ist mein Statuscode rot oder orange?

Grün steht für 2xx, Bernstein für 3xx und Rot für 4xx, 5xx oder einen Verbindungsfehler. So erkennst du gebrochene und weiterleitende URLs, ohne jeden Code einzeln zu lesen.

Werden die eingefügten URLs gespeichert?

Nein. URLs werden nur zum Abruf an den Prüfendpoint gesendet. Filtern, Sortieren und CSV-Export laufen im Browser; ein kurzlebiger Cache kann eine Wiederholung innerhalb von etwa zehn Minuten beschleunigen, aber nichts wird dauerhaft gespeichert.