URL Query String Comparer
Paste two URLs, or two query strings like a=1&b=2, and see what really differs. The order of the parameters is ignored, the values are decoded, and the verdict tells you if they are the same apart from order.
Verdict
Different
Different: 1 added, 0 removed, 0 changed.
| Parameter | Status | In A | In B |
|---|---|---|---|
| q | Same | red shoes | red shoes |
| page | Same | 2 | 2 |
| sort | Same | price | price |
| utm_source | Added in B | — | news |
Parameter names and values are decoded (%20 and + both mean a space) and compared exactly, including capital letters. “a” and “a=” are the same. The part after # is ignored. Nothing you type leaves your browser.
How it works
- Paste the first URL or query string in A and the second in B.
- Read the verdict: identical, identical apart from order, or different.
- Check the table for each parameter that was added, removed or changed.
- Copy the summary to share the differences.
What people use it for
Tracking links
Check that two links carry the same campaign parameters, whatever their order.
API and redirect debugging
Find the one parameter that changed between a working request and a broken one.
Cache and canonical URLs
See whether two addresses differ only by parameter order before you decide how to treat them.
Questions
- How are the two queries compared?
- Each query is cut at & into name and value, both are decoded (%20 and + both become a space), and the values of each name are listed. A name present only in B is added, only in A is removed, and with different values it is changed. If nothing differs, the verdict says whether the parameters also came in the same order.
- What about repeated keys like a=1&a=2?
- All the values of a repeated key are kept. a=1&a=2 and a=2&a=1 have the same values in another order; the page says so separately, because some servers read the order of repeated values as meaningful.
- Does it compare the part before the question mark?
- No. Only the query is compared. If both inputs are full addresses and the part before the ? differs, a note tells you. The part after # is ignored.
- Is anything sent to a server?
- No. The comparison is done by your browser and the text is never uploaded, stored or added to a link. Each input is limited to 20,000 characters and 2,000 parameters.