Bulk HTTP Status Code Checker
Paste a list of URLs or a column straight from a CSV export — up to 1,000 checked in one run, with status codes, redirects and CSV export. Free, no signup.
An HTTP status code is the server’s one-line answer to every request your browser or crawler makes. This bulk checker verifies up to 1,000 URLs in one pass, so you can confirm a migration didn’t break anything, spot stray 404s before Google does, and prove that redirects resolve to a healthy 200. Filter the results by status class, export to CSV, and turn any URL into a scheduled monitor. The list is yours to bring: a column copied out of a spreadsheet, a crawl export, or a handful of addresses typed by hand.
Want a refresher on what each status code means? The reference explains every code from 200 to 511, along with the usual cause and how to fix it.
Working from a CSV export
Most URL lists start life as a spreadsheet column. Open the export, select the column of addresses, copy it, and paste it into the box above. The clipboard carries the line breaks with it, and one URL per line is the entire format. There is no file picker here and no column mapping to configure. Copy the URL column on its own, though: paste whole rows and the commas and neighboring fields arrive on the same line, which is not an address.
Blank lines are dropped and every line is trimmed, so the empty rows and trailing spaces that survive most exports cost you nothing. Addresses without a scheme are accepted too — example.com/pricing is requested as https://example.com/pricing. A URL repeated inside the same batch is only requested once, which is why the results table is occasionally shorter than the list you pasted.
The exports people arrive with are mostly the same handful. Search Console’s Pages report, saved after filtering to a date range or a query. A Screaming Frog crawl, where the Internal tab exports an Address column ready to paste. GA4 landing pages, which come out as paths rather than full URLs, so prefix them with your domain in the spreadsheet first. Ahrefs or Semrush URL exports when you are auditing someone else’s migration. A CMS or database dump of slugs from before a replatform.
Results go back out the same way. Download CSV writes url, status, ok, redirected, finalUrl, responseTimeMs, error, and the first column holds the URL you submitted rather than the one it resolved to. That is what makes the file line up with the source: VLOOKUP or XLOOKUP on the url column and each status lands beside the row it came from. One thing to watch. The export follows the active filter, so if the table is showing errors only, that is what the file contains. Switch back to All for the full set.
Why the 1,000-URL cap is the number it is
It is not a paywall marker. The list is split into batches of 50 and sent one batch at a time, and results land in the table as each batch comes back. A long run therefore starts reporting within seconds instead of holding you at a spinner until the last URL answers. The same split keeps every individual request short, so nothing has to stay open long enough to hit the timeout that would kill a single call carrying a thousand URLs.
Inside a batch, ten requests run at a time and each gives up after ten seconds. That ceiling matters more than it sounds: one unresponsive host would otherwise hold up everything queued behind it. It also keeps the load on the servers you are checking reasonable. Ten open connections is a crawler behaving itself. A thousand at once is the traffic shape firewalls exist to stop, and you would be measuring their defenses instead of your pages.
Twenty batches make up a full run, which is also the per-minute request allowance. Two complete runs back to back can trip it. The checker says so rather than failing quietly, and a minute is enough to clear it.
Which brings up the two codes people misread. A 403 or a 429 in the results is often the target site throttling the check rather than a broken page. Sitewell identifies itself as SitewellBot/1.0, and plenty of WAFs answer anything that is not a browser user agent with a 403, while rate limiters start returning 429 partway down a long list from one address. The tell is the pattern. A solid block of them from a single host, especially deeper into the run, is throttling. Scattered ones across unrelated domains are usually real. Open one in a browser before you file a bug against the page.
How it works
- 01
Paste your URLs
Drop one URL per line into the box — a column copied out of a CSV export, a crawl, or a hand-picked list all work.
- 02
Run the check
Sitewell requests each URL and follows it to the final response, recording the HTTP status code returned.
- 03
Read the results
Scan the table for 2xx (OK), 3xx (redirects), 4xx (client errors like 404), and 5xx (server errors) at a glance.
Frequently asked questions
- Can I upload a CSV of URLs?
- There is no file upload button, and you do not need one. Open the CSV in a spreadsheet, select the column that holds the URLs, copy it, and paste it into the box. The clipboard keeps one URL per line, which is exactly the format the checker reads. Copy the URL column on its own rather than whole rows, since a full row brings commas and neighboring fields onto the same line. Results come back out as a CSV file you can match against the original.
- How do I check 1000 URLs at once?
- Paste up to 1,000 URLs, one per line, and run the check. Sitewell sends them in batches of 50 and streams each batch into the table as it finishes, so a long list starts showing status codes within seconds instead of at the end. Filter the finished table by status class or to errors only, then export it. Past 1,000, split the list and run it in parts. For URLs you need re-checked on a schedule, save them as monitors rather than re-pasting them every week.
- Can I check multiple URLs at once?
- Yes. This is a bulk checker — paste one URL per line and Sitewell checks them in parallel, returning the final status code for each. It is built for SEO audits and migration QA where you need to verify hundreds of URLs quickly.
- What does a 404 status code mean?
- A 404 means the server reached the page but could not find the requested resource. It usually points to a deleted page, a typo in the URL, or a broken internal link. Fix it with a redirect to a relevant page or by restoring the content.
- Why did some URLs come back 403 or 429?
- Usually because the site being checked pushed back, not because the page is broken. A 429 is an explicit rate limit. A 403 often comes from a firewall that refuses any request whose user agent is not a browser, and Sitewell identifies itself as SitewellBot/1.0. Read the shape of the results: a run of these codes from one host, particularly deeper into a long list, points at throttling, while isolated ones across unrelated domains are usually genuine. Open one in a browser to confirm, and re-run the affected URLs in a smaller batch if you need certainty.
- Do you store the URLs I check?
- No — ad-hoc checks are processed to return your results and are not stored or tied to an account unless you choose to save a URL as a monitor. The results are yours: filter them by status class and export the table to CSV with one click.