URL Validator

Check whether a URL is correctly formatted.

This tool runs entirely in your browser. Your files are never uploaded to a server.

What this tool does

Checks whether a single URL is syntactically well-formed, using the browser's own URL parser, and reports one of three outcomes: valid, missing a protocol, or containing stray spaces.

How to use it

Type or paste a URL into the field. The result updates on every keystroke, showing a green valid message or a red invalid message with the specific reason as soon as you stop typing.

Worked example

https://example.com/path?query=1 is reported valid. example.com/path (no scheme) is reported invalid with a missing-protocol reason, and https://example .com (a stray space before .com) is reported invalid with a contains-spaces reason.

What counts as invalid

Three checks run in order: the text is trimmed first, then checked for any remaining internal space, then checked for a leading scheme matching a pattern like https:// or ftp://, and finally handed to the browser's URL constructor — any of these three steps failing marks the input invalid, with a matching reason.

What it doesn't check

This is a format check only. It never makes a network request, so a URL that is perfectly well-formed but points to a domain that doesn't exist, isn't reachable, or returns a 404 will still be reported as valid.

Limitations

Leading and trailing spaces are trimmed before checking, so they never trigger the space warning — only a space in the middle of the URL does. Relative paths and protocol-relative URLs (like //example.com) are always reported invalid, since they have no explicit scheme for the URL constructor to resolve.

Privacy and processing

Validation runs entirely client-side using the browser's built-in URL API. The address you type is never sent anywhere or requested.

Frequently Asked Questions

Does this check if the URL is live or reachable?
No, this checks format only, using the browser's URL API. It does not make any network request, so a correctly formatted but dead or nonexistent URL will still pass.
What kinds of errors does it catch?
It flags a missing protocol (like forgetting https://), stray spaces in the URL, and generally malformed structures that the URL API rejects.
Why does a URL without https:// fail?
An absolute URL needs a protocol so the browser knows how to interpret it — without one, the URL API can't parse the string and marks it invalid.