URL Validator

Check a list of URLs for valid, absolute http or https syntax, with a reason for each failure.

URLs
Result
Runs locally in your browser

About the URL Validator

This validator checks each URL with the browser's own URL parser and confirms it is absolute, uses http or https, and has a plausible hostname. Failures say why: not an absolute URL, an unsupported scheme, a hostname without a dot. It does not fetch the URLs, so it cannot tell whether a page exists; it checks form, not reachability.

Absolute means the scheme is present, so /products/kettle and example.com/page both fail even though a browser would resolve the first against the current page and guess at the second. The scheme has to be http or https, which is why ftp:// and mailto: are rejected, and the hostname needs a dot unless it is localhost, which is allowed so that development URLs pass.

The failure that wastes the most time is nearly invisible: a trailing comma, full stop or closing bracket picked up when a link was copied out of a sentence, or a stray space in the middle of a path. Both fail here, which is the point, because both would equally break the link inside a sitemap or a bulk import.

Checking a list of links before it becomes a sitemap or a redirect map is the usual reason to run it. To break a single URL into parts, use the URL Parser; to pull URLs out of text, Extract URLs.

How to use

  1. Paste URLs, one per line.
  2. Read valid or invalid with reasons.
  3. Fix and re-check.

Common questions

Does it check the page is live?
No. It validates syntax only, without fetching anything.
Why is ftp:// invalid?
Only http and https are accepted as web URLs here.
Is localhost accepted?
Yes, localhost is allowed as a hostname without a dot.