URL diff: compare two URLs parameter by parameter.
Paste two URLs and see exactly what differs — host, path and every query parameter — with encoding-only differences (%20 vs +, %C3%A9 vs é) and reordered parameters separated from real changes.
What counts as a difference
- Changed, added, removed — a parameter’s value differs, or it exists in only one URL. These change what the server receives.
- Same value, different encoding —
q=red+shoesandq=red%20shoesboth decode to “red shoes”;%2fand%2Fare the same byte. Servers treat them alike, but caches, CDNs and analytics may count them as different URLs. - Same values, different order — a repeated parameter (
tags=a&tags=b) in a different order. Some frameworks keep that order, so it can matter. - Parameter order —
?a=1&b=2vs?b=2&a=1. Usually harmless, but it breaks signed URLs (AWS S3, CloudFront) and splits cache entries.
When it helps
- “Works for me, not for them” — compare the link that works with the one that fails.
- Redirect and canonical checks — see what a redirect added or dropped, or why two URLs aren’t treated as duplicates. See also setting a canonical URL.
- Campaign QA — confirm a link differs only in its UTM tags (tick “Ignore tracking tags”).
How it compares
Both URLs are parsed with your browser’s built-in URL parser, so hosts are lowercased and non-ASCII paths are normalised the way a browser would send them. Query parameters are decoded with HTML form rules (+ is a space) and compared by name; repeated names are compared as ordered lists.
Sources & standards
- RFC 3986 §6 — Normalization and Comparison: case of percent-encoding hex digits, and when two URIs are equivalent. rfc-editor.org/rfc/rfc3986
- WHATWG URL Standard — URL parsing and the
application/x-www-form-urlencodedparser used for query values. url.spec.whatwg.org
Common questions.
For most servers, yes — the parameters are read by name. But the strings are different, so caches, CDNs, analytics and signed URLs (such as AWS S3 presigned links) may treat them as different URLs.
In a query string, yes: both decode to a space under form encoding. In a path, only %20 is a space; + is a literal plus sign.
Yes. Hex digits in percent-encoding are case-insensitive; RFC 3986 recommends uppercase.
No. It compares the URLs themselves, in your browser. Nothing is fetched.
More from the toolkit.
About this page. Written and maintained by Sri Murugan Systems, the developer of urlencodedecode.com. Everything on this page runs in your browser; nothing you paste is uploaded.