List Compare & Diff Tool
A list compare and diff tool takes two lists, one item per line, and works out the set relationships between them: which entries appear in both, which are unique to each side, and what the combined deduplicated list looks like. For SEO work this answers everyday questions fast, such as which target keywords a competitor ranks for that a site does not, which backlink referring domains overlap between two profiles, or which URLs changed between two crawls.
This tool is free and runs entirely in the browser using real JavaScript Set logic. Paste List A and List B, toggle trimming, case-sensitivity, blank-line handling and deduplication, and the four result panels update live with counts and a copy button on each. Nothing you paste is ever uploaded.
🔒 Private: everything runs in your browser. Nothing you paste is uploaded.
How to use the list compare and diff tool
Paste one list into each box, one item per line, choose how strictly the items should match, and read the four result panels.
Paste two lists, one item per line
Drop your first dataset into List A and the second into List B, with a single item on each line. Anything works as long as it is line-separated: keywords, URLs, referring domains, email addresses, product SKUs, or a column copied straight out of a spreadsheet. The item counts above each box update as you paste, so you can confirm both lists loaded fully. The tool never reorders your source text. It only reads the lines, computes the set operations, and writes the results into the four panels below, leaving your original lists untouched.
Set the matching rules with the four options
The checkboxes decide what counts as the same item. Trim whitespace strips leading and trailing spaces so “apple” and “apple ” match, which matters when data is copied from tables. Case-insensitive treats “Example.com” and “example.com” as identical, useful for domains and emails. Ignore blank lines drops empty rows so they never appear in results. Dedupe within each list collapses repeats inside a single list before comparing. Adjust these to your data: keep case-insensitive on for domains, but off when comparing case-sensitive identifiers like passwords or codes.
Read the four result panels and copy what you need
Results land in four labelled panels. In both (A ∩ B) is the intersection, the items present in each list. Only in A (A − B) and Only in B (B − A) are the differences, the entries unique to one side. Combined unique (A ∪ B) is the union with duplicates removed. Each panel shows a live count and a Copy button that puts that exact result on your clipboard, ready to paste into a spreadsheet, a crawler, or an outreach list. Live update recomputes on every keystroke; switch it off and use the Compare button for very large pastes.
List compare and diff tool frequently asked questions
Q1What is the difference between intersection, difference, and union?
Intersection (A and B) is the set of items that appear in both lists. Difference (A minus B) is the items in the first list that are not in the second, and B minus A is the reverse. Union (A or B) is every distinct item from both lists combined, with duplicates removed. This tool computes all four at once so you can read overlap and gaps side by side.
Q2Does case sensitivity affect the comparison?
Only if you want it to. By default the tool matches items exactly as typed, so “Domain.com” and “domain.com” are treated as different. Turn on the case-insensitive option and they are treated as the same item across both lists and inside deduplication. Keep it on for domains, URLs, and email addresses, and off when case is meaningful, such as for codes, hashes, or case-sensitive identifiers.
Q3How does deduplication work inside each list?
When dedupe is enabled, repeated entries inside a single list are collapsed to one before the comparison runs, so a keyword listed three times in List A counts once. Deduplication respects the trim and case-insensitive options, meaning items that only differ by surrounding spaces or letter case are treated as the same. The combined unique result is always deduplicated regardless of this setting, since a union is unique by definition.
Q4Is there a limit on how many lines I can compare?
There is no fixed limit; the tool uses native JavaScript Set operations, which handle tens of thousands of lines comfortably on a normal computer. For very large pastes, switch off live update and use the Compare button so the calculation runs once when you are ready rather than on every keystroke. Because everything runs locally, speed depends on your device, not on a server or network connection.
Q5Is my data uploaded anywhere when I use this tool?
No. The entire comparison runs in your browser with client-side JavaScript, and the lists you paste are never sent to a server, logged, or stored. The tool keeps working even if you disconnect from the internet after the page loads. That makes it safe for sensitive data such as customer emails, internal URLs, or unpublished keyword lists you do not want leaving your machine.
