List Reconcile
Language: English

Compare lists / How it works

How List Reconcile works

Each result answers two questions: does this value appear in both lists, and does it appear the same number of times?

Start with the values you want to check

Paste one value per line into A and B, then press Compare lists. The lists can have different lengths and different orders. You can leave one side empty to see everything on the other side. A header alone does not count as data.

For a table, open a CSV or TSV file and check the Read as menu. Choose whether the first non-empty record is a header. Select the column containing your comparison value on each side. These columns can have different names and positions. The preview shows the first five records so you can check that the fields landed in the right columns.

Only the selected column determines a match. Other fields remain attached to their original record for inspection and export. A name change in another column does not make a matching ID different. If you need to compare names, select the name column instead. Use a stable ID when two systems label the same person or item differently.

Matching rules

By default, matching is exact and case sensitive. 00123 and 123 are different values. So are ABC and abc, or a value with a trailing space and one without it. Long digit strings are never converted to numbers.

Ignore outer whitespace removes whitespace at the beginning and end of a value for matching. It includes tabs and non-breaking spaces at those positions. Whitespace inside a value stays. Ignore case compares lowercase versions of the values using JavaScript's Unicode lowercase conversion; it does not use language-specific matching. For example, this is not a way to make every spelling of a German or Turkish name equivalent.

The comparison key in a result reflects these options. Original rows keep their input values. Open View rows and enable Show whitespace as JSON escapes to see the string boundaries, tabs, and line breaks. Visually similar Unicode characters are not automatically normalized. There is no fuzzy matching, number conversion, or automatic removal of leading zeros.

Empty lines are skipped during parsing. An empty selected key is also skipped. With whitespace trimming enabled, a whitespace-only key becomes empty and is skipped too. The page reports these counts. A whitespace-only value is a real value when trimming is off.

Read the counts separately from presence

ValueABA − BMeaning
0012342+2In both; different counts
00456220In both; equal counts
12310+1Only A
0078901−1Only B

All values is the union of the lists. Only A and Only B show values absent from the other side. In both is the intersection: it only requires at least one occurrence on each side. Different counts includes every value whose two counts differ, including values present on just one side. Repeated IDs shows values occurring more than once on either side, including equal repeats such as A2/B2. It keeps all original occurrences. The filter counts refer to distinct comparison keys, not the total number of source records.

A positive difference means A has more occurrences. A negative difference means B has more. Equal total list lengths do not imply matching contents: one missing value can be offset by an unrelated extra value. Check both directions.

Trace a result to its source

View rows shows all occurrences of a key on both sides, 50 at a time. The record number follows the original record order, including a header and empty records. Line numbers refer to physical lines in the original input. A CSV field containing a quoted line break can therefore occupy lines 3–4 while still belonging to one record.

Counts do not pair individual transactions. If four rows share an ID in A and two share it in B, this tool cannot determine which two shipments were unpaid. Check the source fields or use a more specific identifier before making that decision. The same restriction applies to customer names shared by several people.

Choose an export format

Excel (.xlsx) contains a summary, the original A rows, the original B rows, and the matching rules, including each source filename, selected column, separator, and header setting. It writes original strings as text cells, including long numbers and formula-like text. A value above Excel's 32,767-character cell limit cannot be exported to this format; choose JSON instead.

CSV contains the count report, source line references, and the two input mappings. It has no cell types. Excel or another spreadsheet app may convert IDs when opening it, even when a field is quoted. Formula-like strings receive an apostrophe prefix in this CSV export. This changes those exported strings and is not a guarantee about every spreadsheet program's behavior. JSON preserves the original strings and includes the complete source records for each result.

Downloads include every value matching the selected filter and search, across all pages. Copy values copies one comparison key per line. Format a spreadsheet destination as Text before pasting IDs. If a value contains line breaks or tabs, plain-text copying is blocked. Use JSON or Excel to keep that value intact.

File limits and privacy

Large inputs show a read-only preview of the first 100 lines to keep the editor responsive. Comparison still uses the entire input. Clear that list to enter a replacement. Each side accepts up to 50,000 non-empty data records, 256 columns, and 5 MiB of text. CSV supports quoted separators, doubled quotes, and quoted line breaks. Inconsistent column counts or unclosed quotes produce an error rather than a partial comparison. File decoding accepts UTF-8 and UTF-16 with a byte-order mark. Re-export other encodings as CSV UTF-8.

Comparison and export run in your browser. Editing input or matching rules clears the previous result so it cannot be downloaded by mistake. Cancel stops the work and keeps the input. Refreshing or leaving the page discards the lists. The shared example URL contains only the built-in fictional example.

Try the count example, or use the Excel formulas if your work already lives in a workbook.