URL diff
Compare two URLs component by component. Reordered query parameters are reported as a reorder, not as a wall of changes, and path segments are aligned.
Why a text diff of two URLs is useless
?b=2&a=1 and ?a=1&b=2 differ in every character after the question mark, and are the same request. A character diff highlights all of it. A structural diff says "reordered" and moves on.
What gets compared
- Components — scheme, credentials, host, port, path and fragment, each reported separately rather than as one blob of changed text.
- Path — aligned segment by segment, so inserting
/en/into a path shows as one insertion, not as every following segment having changed. - Query — key by key. A key whose values are the same set in a different order is one reorder. A repeated key with an extra occurrence reports the surplus, not a rewrite of the whole key.
"Same page" versus "same string"
Tick the normalize box to compare under thecomparison-grade normalization: tracking stripped, parameters sorted, www. and the trailing slash dropped. Two URLs that come back identical under that are the same page — which is a different and usually more useful question than whether they are the same string.
Related tools
- URL normalizerPut a URL in canonical form: default ports, percent-encoding, trailing slashes, parameter order and www. Choose a lossless or a comparison-grade normalization.
- 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.
- Query parameter editorEdit URL query parameters in a table. Repeated keys stay repeated — ?a=1&a=2 is two rows, not one, which is where most other editors quietly lose data.