Skip to main content

URL validator

Validate, normalize and inspect web addresses locally. Processing stays local in your browser.

  • Clipboard
Automate

Embed this widget

Customize the result, check the live preview, then copy the code.

Preview

Embed code type

Code to copy

Responsive and automatically resized by Bethemesh.

Was this tool useful?

How does this tool work?

This validator checks a list of URLs, one per line, with the browser’s own URL parser, the same one web pages use. For each valid address it shows the normalised form and breaks it down into protocol, host and path; lines that do not form an absolute URL are marked with a cross.

Each non-empty line is parsed separately according to the WHATWG URL Standard, which every modern browser implements; leading and trailing spaces are ignored.

A valid URL is marked ✓ and rewritten in its normalised form: lower-case domain, non-ASCII characters in the path encoded as %XX, and a slash added after the domain if the path is empty.

The next line details protocol, host (with the port if one is given) and path. The path keeps its case: /Cafe and /cafe remain two different addresses.

A line that is not an absolute URL (no scheme, as in example.com/contact, or a space in the domain) is marked ✗ and shown as it was entered.

How to use this tool

  1. Paste the URLs

    One address per line in the Input field.

  2. Run the check

    Click Process.

  3. Read the result

    ✓ for a valid URL with its breakdown, ✗ for a rejected line.

  4. Fix the rejected lines

    Add the missing scheme, remove spaces or encode forbidden characters, then run it again.

Use cases

Clean a list before import

Spot addresses missing https:// or badly copied before importing them into an email tool, a CMS or a spreadsheet.

Check generated links

Review URLs produced by a script or spreadsheet formula before publishing them.

Understand normalisation

See how the browser rewrites an address with capitals or accents, and why two URLs that look the same differ.

Examples

Four lines, two rejected

The domain is lower-cased and the é in the path is encoded; example.com/contact is rejected for lack of a scheme; mailto: is a valid scheme with no host; the space in the domain makes the last line invalid.

Input

Input:
https://Example.com/Café?q=1
example.com/contact
mailto:hello@example.com
https://exa mple.com
Process

Result

Result:
✓ https://example.com/Caf%C3%A9?q=1
  protocol=https: host=example.com path=/Caf%C3%A9
✗ example.com/contact
✓ mailto:hello@example.com
  protocol=mailto: host= path=hello@example.com
✗ https://exa mple.com

Tips and best practices

  • Valid does not mean reachable: the tool checks syntax, not whether the domain exists or the server responds.
  • Every scheme is accepted (mailto:, tel:, ftp:, javascript:): check the protocol if you only expect https web links.
  • An internationalised domain is converted to punycode: café.fr becomes xn--caf-dma.fr in the normalised form.
  • To remove duplicates from a list, compare the normalised forms rather than the text you entered.

Sources and references

Frequently asked questions

Why is example.com rejected?

Because an absolute URL must start with a scheme such as https://. Without it, example.com/contact is just a relative path. Add https:// in front.

Why does the displayed URL differ from what I entered?

The browser normalises it: lower-case domain, non-ASCII path characters encoded, default port removed (:443 for https). That is the form it will actually use for the request.

Does the tool check that the page exists?

No. It makes no network request; it only checks that the string forms a valid URL.

Are spaces always forbidden?

In the domain, yes. In the path or query, the browser encodes them as %20 and the URL stays valid.

Are my URLs sent to a server?

No. The check runs in your browser.

Related tools

Tools similar or complementary to this one.

Similar tools

Encode or decode a URL, its parameters, and any special characters it contains.

Web & SEOUse this tool

Turn a title or phrase into a clean slug that is ready to use in a URL.

Web & SEOUse this tool