Compare Two CSV or XLSX Files
Compare two spreadsheet files using a selected key and group records into matched, missing, duplicate and conflicting buckets.
Score spreadsheet columns by completeness and uniqueness to identify likely employee, invoice, asset or transaction keys.
Choosing the wrong key can make a reconciliation appear successful while joining unrelated records. Key Column Finder examines each column’s non-blank rate and normalized uniqueness, then combines those measures into an explainable score. A nearly complete, fully unique identifier such as Employee Code or Invoice Number usually ranks above names, departments or statuses. The recommendation is a data-quality signal rather than a business guarantee, and the result explicitly identifies columns that may be better suited as one part of a future composite key.
The fastest workflow is still safer when the expected result is written down before the file is opened. For Key Column Finder, a typical situation is that a dataset has many headers and the reviewer is unsure which field can identify records reliably. Before running anything, record the source date, the owner of each dataset and the result you expect from at least three known records. That small control makes it easier to spot a wrong key, wrong delimiter or wrong source file before the same mistake affects thousands of rows. ReconNimble deliberately keeps the free workflow visible: the browser shows the selected inputs, summary counts and result rows instead of turning the task into a black box.
The central rule for this workflow is to prefer stable, populated, unique business identifiers and verify the top suggestion with the source owner. Stable identifiers are preferable to descriptive text whenever identity matters. A field can look unique in a ten-row preview and still repeat later, so inspect blanks and duplicates before treating it as a key. Keep an untouched copy of the source files and do not “clean” away exceptions merely to make counts agree. If two systems encode the same identifier differently, correct or normalize that known format explicitly; do not assume that similar-looking values refer to the same person, asset, invoice or transaction.
Use the supplied fictional sample first, then repeat the same steps with a small extract from your own authorised data. Write down one record that should succeed, one that should appear as an exception and one edge case such as a blank key or quoted field. Run the tool and confirm those three cases before reviewing totals. For this task the useful output is ranked key candidates with uniqueness and blank-rate evidence. If the known cases do not land in the expected groups, stop and inspect headers, selected keys, source scope and data types rather than accepting a plausible-looking total.
Treat counts as navigation, not proof. Open several result rows from each status and compare them with the original source values. Pay special attention to duplicates because a repeated key changes the meaning of one-to-one matching and joins. Where the tool creates a local download, open that new file separately and confirm its row count, headers and a few values at the beginning and end. Keep the original sources unchanged so another reviewer can reproduce the result. If the output will drive payroll, payment, asset ownership, compliance or another high-impact action, obtain the appropriate business-owner sign-off.
A recurring failure mode is choosing a volatile field, ignoring duplicates/blanks or assuming a single-column key exists when the business uses a composite key. Another is treating normalization as data correction: trimming spaces or comparing text without case sensitivity can remove harmless presentation differences, but it cannot establish that two distinct identifiers are equivalent. Also remember that browser XLSX support is intentionally tabular. It reads worksheet cell values for utility tasks; it is not a full Excel rendering or calculation engine and it does not promise preservation of macros, charts, pivot tables, conditional formatting or every workbook feature. Use the right tool for the evidence you actually need.
The public Key Column Finder workflow processes selected source files in browser memory. Running the tool does not send those files to ReconNimble, and supported exports are created locally. Browser memory varies by device, so the configured row cap rejects oversized jobs with a clear message rather than risking a tab crash. Publishing a result is a separate, explicit action that sends only the limited displayed result data used for the share page; never publish confidential rows. When the workflow needs durable operational evidence, create a deliberate composite key or configure mappings in Reconcile when one column is insufficient. That separation keeps the high-traffic utility layer private while preserving a more controlled path for saved reconciliation work.
Use the sample file to test the workflow before using business data. It contains fictional records created only for demonstration.
Download sample fileA technically unique column may still be an unstable key, such as a row number generated during export. Business ownership and persistence must be confirmed separately.
Need saved jobs or advanced matching? The free browser tool is designed for fast local checks. ReconNimble Reconcile adds authenticated saved jobs, multi-source comparison, controlled fuzzy matching, profiles, server exports and an audit trail.
A column needs both a high non-blank rate and a high unique-value rate.
Usually not; names can repeat and change. Stable codes are safer.
The dataset may require a composite key using two or more fields. Create one deliberately or configure the rule in the authenticated Reconcile app.
Compare two spreadsheet files using a selected key and group records into matched, missing, duplicate and conflicting buckets.
Find every repeated key in a CSV, TSV or XLSX file and export the affected rows for review or correction.
Profile column types, blanks, uniqueness, maximum text length and sample values before mapping or importing a dataset.