Clean a list before import
Spot addresses missing https:// or badly copied before importing them into an email tool, a CMS or a spreadsheet.
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.
One address per line in the Input field.
Click Process.
✓ for a valid URL with its breakdown, ✗ for a rejected line.
Add the missing scheme, remove spaces or encode forbidden characters, then run it again.
Spot addresses missing https:// or badly copied before importing them into an email tool, a CMS or a spreadsheet.
Review URLs produced by a script or spreadsheet formula before publishing them.
See how the browser rewrites an address with capitals or accents, and why two URLs that look the same differ.
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
ProcessResult
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.comBecause 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.
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.
No. It makes no network request; it only checks that the string forms a valid URL.
In the domain, yes. In the path or query, the browser encodes them as %20 and the URL stays valid.
No. The check runs in your browser.
Related tools
Tools similar or complementary to this one.
Parse URL parameters or build a query string from key-value pairs.
Encode or decode a URL, its parameters, and any special characters it contains.
Turn a title or phrase into a clean slug that is ready to use in a URL.
Use robots.txt correctly, understand what it can and cannot block, and avoid confusing crawl control with deindexing.
Learn how title, description, canonical and social metadata work together and avoid common technical SEO mistakes.
Design stable readable URLs, normalize slugs and parameters, and reduce duplicate or ambiguous public routes.
Check metadata, canonical, robots, structured data, URL, internal links and images before a page goes live.