Compare list basics
Last updated: 2026-04-13
ListDiff treats each list as a set of items after you choose parsing rules (trim, empty lines, dedupe keys, and optional “split long lines”).
If your results feel unexpected, this page is the primary debugging reference. Most mismatches come from option scope differences (case, spaces, delimiters, or CSV interpretation), not from set math itself.
Core terms (plain language)
- Item: one compare unit. Usually one text line, unless you enable Split long lines to split by delimiters.
- Key: normalized compare value used for set math (affected by case/trim/empty-line options).
- Text lines: line-break count in the input box, including blank lines.
- Raw lines: processed item count after current compare options are applied (ignore-empty/split/trim behavior).
Who should read this page
- Operations teams reconciling two exports from different systems.
- QA teams validating expected/actual lists in release checks.
- Growth teams comparing campaign audiences, IDs, or dedupe status.
A only
Items that appear in List A but not in List B.
B only
Items that appear in List B but not in List A.
Intersection
Items that appear in both lists.
Union
All unique items that appear in either list.
Symmetric difference
Items that appear in exactly one of the two lists (A-only plus B-only).
Duplicates within a list
These tabs highlight keys that occur more than once on a side before set collapsing rules remove duplicates—useful when your source data accidentally repeats entries.
Stats panel meaning
- Keys: A / B: unique normalized keys used for set operations.
- Raw lines: A / B: processed item count under current options. This can differ from the “lines” badge above each input.
How to diagnose surprising results
- Start with Case sensitive and Ignore leading/trailing spaces.
- Check whether blank lines should be considered data or noise.
- If source lines contain multiple values, verify split delimiters.
- For CSV imports, confirm row-vs-first-column mode and header handling.
Input -> option -> output example
Input A: Apple, banana
Input B: apple, banana
Option: Case sensitive OFF
Output: Intersection contains both items; A only and B only are empty.
Option interaction map
- Case OFF + Trim ON usually increases intersection size.
- Ignore empty lines ON usually reduces raw line counts, but does not change visible text line badges.
- Split ON with multi-delimiters can dramatically increase compare item counts.
- Dedupe items ON affects set keys; duplicates tabs remain useful for data-quality checks.
Interpretation examples
- If A only is high and B only is low, A may contain stale or extra entries.
- If both A only and B only are high, source formats may be inconsistent.
- If Duplicates in A is high, upstream export likely needs dedupe before distribution.
Homepage controls reference
This section maps homepage buttons, toggles, and labels to their exact behavior. If users ask “what does this do?”, start here.
Input header (per side)
- XX lines: text line count in that input box, including blank lines.
- Import .txt/.csv: import local file text into current side (browser-local, no server-side compare processing).
- CSV controls: shown only after CSV import; choose row mode vs first column and optional header skipping.
- Example (page header): loads a built-in preset and runs compare automatically.
- Clear all (page header): resets both lists, options, and results to defaults.
Input action buttons (per side)
- Copy: copy current input text for that side.
- Clear: clear this side’s input content.
- Sort: sort lines lexicographically (en-US locale behavior).
- Trim lines: trim leading/trailing spaces on each line only.
- Dedupe lines: remove duplicate lines while keeping first-seen order.
Split settings (per side)
- Split long lines: split one line into multiple items using selected delimiters.
- Chevron icon: expand/collapse split details panel (manual control).
- Delimiter buttons: multi-select delimiters; supports English and Chinese punctuation plus tab:
, , ; ; : : \t. - Collapsed summary: shows enabled/disabled state and number of configured delimiters.
Global options card
- Case sensitive: ON means
Appleandappleare different keys. - Ignore leading/trailing spaces: trims around each item before key comparison.
- Ignore empty lines: removes blank lines from processed compare items.
- Dedupe items (set keys): collapses repeated keys before set comparison.
Compare and results actions
- Compare lists: run compare with current input + option state.
- Result tabs: A only / B only / Intersection / Union / Symmetric Δ / Dupes in A / Dupes in B.
- Copy in results: copy all lines from the active tab.
- Download .txt: export active tab as plain text (one item per line).
- Download .csv: export active tab as single-column CSV for spreadsheet import.
Related content
Practical workflows: Excel paste guide, export to Excel, and compare two local files.
Related reading
FAQ
Why can line counts and key counts differ?
Line count is raw textarea lines. Key count is normalized unique compare keys.
Should I always enable dedupe items?
Not always. Keep it OFF when you need duplicate-aware diagnostics, then re-run with ON for final set outputs.
Can I compare mixed IDs and text labels?
Yes, but keep normalization options stable across both sides to avoid false mismatches.