URL normalizer
Put a URL in canonical form: default ports, percent-encoding, trailing slashes, parameter order and www. Choose a lossless or a comparison-grade normalization.
Two kinds of normalization, and the difference matters
Canonical is safe. It changes only things that cannot change what a server does: an explicitly written default port (:443 on https), percent-escapes of unreserved characters, a bare # that targets nothing, and embedded credentials, which have no business in a stored link. Use this form anywhere the URL will actually be requested.
Comparable is deliberately lossy. On top of the above it sorts parameters, strips tracking, drops the fragment, drops www. and drops a trailing slash. Two URLs that are equal after this are "the same page" — but the result is not a safe thing to redirect to, because /a and /a/ genuinely are different resources on plenty of servers.
Rules this tool deliberately does not apply by default
- Trailing slashes.
/aand/a/are different paths in the specification, and on a static host they are different files. Only the comparison preset removes them. - Case in the path. The host is case-insensitive and is lowercased; the path is not, and lowercasing it breaks case-sensitive servers.
- Upgrading
httptohttps. Usually right, occasionally wrong, and never something to do silently — so it is a checkbox.
Percent-encoding
Escapes of unreserved characters are decoded (%7E becomes ~) and the rest are uppercased, per RFC 3986 §6.2.2. Both are guaranteed not to change meaning, which is what makes them safe to apply to a URL you intend to store.
Related tools
- URL parser and validatorBreak a URL into scheme, host, port, path, query and fragment, and see why an invalid one is invalid. Handles IDN hosts, repeated parameters and odd schemes.
- URL diffCompare two URLs component by component. Reordered query parameters are reported as a reorder, not as a wall of changes, and path segments are aligned.
- Bulk URL dedupe and sortPaste thousands of URLs: deduplicate them by meaning rather than by string, sort them, and filter by domain. Runs in chunks, so a huge list will not lock the tab.