URL diff
Spot the difference between two URLs: protocol, host, path, each query param, fragment. Ignores parameter order by default.
Ready.
How to use
- Paste URL A on the left, URL B on the right.
- Each URL piece is shown in its own row, colour-coded: green = same, red = different, yellow = only on one side.
- Ignore order toggles whether
?a=1&b=2and?b=2&a=1count as different (default: off — order ignored). - Ignore case toggles case-sensitivity for host and path.
- The Summary at the bottom states in one sentence what's different ("Same path. 1 parameter added: utm_source").
When to use this
- Debugging a "broken" link. You expect the campaign to go to
/landingbut it goes to/landing/— the diff shows the trailing slash instantly. - Comparing tracking-tagged URLs. Two share buttons emit nearly-identical URLs — one has
utm_content=hero, the other hasutm_content=footer. - Verifying canonicals. Is your canonical URL really the same as the version Google indexed?
FAQ
Why is "fragment" red between two URLs that look the same?
One has a trailing # with no fragment, the other has no #. WHATWG normalizes them to the same thing, but the raw strings differ.
How does ignore-order handle duplicated keys?
Each (key, value) pair is compared — if A has ?a=1&a=2 and B has ?a=2&a=1, those compare equal. If B only has ?a=1, the second a=2 is reported missing.
Does it diff the fragment too?
Yes — fragments are reported, but they never travel to the server, so most apps treat URLs with different fragments as equivalent.
Anything sent to a server?
No. Diff runs entirely client-side.