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.

Occasional email

New tools, when there are new tools

No more than once a month, no tracking pixels in the mail, one-click unsubscribe.