EXPORTS IN. DIFFERENCES OUT.
Two files.
One clear comparison.
Match records by key, then inspect missing entries, changed values and duplicates. Your CSV files and Excel workbooks stay in this browser.
Profiles contain column mappings and format settings only.
Left source
Your first export or reference file.
Add a source to map its columns.
Right source
The export you want to compare.
Add a source to map its columns.
Compare text fields
Pair status, quantity or any text column, even when headers differ. Text is exact: case and spaces count.
Add sources to see which fields will be compared.
COMPARISON REPORT
Your results
| Status / record key | Left | Right | Review note |
|---|
HOW TO USE IT
A comparison you can inspect.
- Load two files covering the same scope. Choose CSV or TSV exports, or Excel .xlsx workbooks directly and pick the worksheet. You can also paste CSV text.
- Choose formats and map columns. Select a unique key. Amount and currency are optional. Add paired text fields such as status or quantity, including differently named columns.
- Review and export. Repair invalid rows and duplicate keys before relying on missing-record findings.
Exactly what is compared?
Record keys use exact, case-sensitive matching after surrounding spaces are removed. Amounts use exact signed decimals, never floating-point arithmetic. Currency labels are trimmed and uppercased; three letters are required, but codes are not checked against an ISO registry.
Text fields use exact strings, including case, spaces and leading zeros: quantity “01” differs from “1”. Use Amount for exact decimal comparison instead. A match means only your selected fields are equal. Unmapped columns are not compared. No fuzzy matching, currency conversion, grouping, totals or business-loss estimates are performed.
Which files and formats are supported?
CSV and TSV: choose comma, semicolon or tab per source. UTF-8, a UTF-8 BOM, CRLF/LF line endings, quoted delimiters, quoted newlines and escaped double quotes are supported. Empty physical lines are ignored. Header names must be non-empty and unique ignoring spaces and letter case; each data record must have the same number of columns.
Excel .xlsx and .xlsm workbooks are read in this browser, with no upload and no macros run. The first visible worksheet opens by default; choose another one under Worksheet. The first row with values is the header, and its columns set the comparison range. Cells are read as stored values, not as formatted text: numbers use dot decimals, dates become YYYY-MM-DD (with the time, to the nearest second, when the cell format shows one), clock-time formats become HH:MM:SS, TRUE and FALSE stay text, and formulas use the result Excel last saved. Durations in [h]:mm:ss style formats become total hours and those in [mm]:ss formats total minutes, with the leading zeros Excel shows: an hour and a half is 01:30:00 with [hh]:mm:ss and 1:30:00 with [h]:mm:ss. Long IDs keep every digit only when the file stores them as text or plain digits; decimals and numbers stored in scientific notation are read to 15 significant digits, so store long IDs as text. Empty rows and rows with only spaces are skipped. A merged cell keeps its value in its first cell only, so unmerge and fill down key and amount columns before comparing. Older .xls, binary .xlsb and password-protected workbooks are not supported; save them as .xlsx or CSV UTF-8 first.
Amounts require 1–18 whole digits and up to 6 fractional digits. A leading + or − (ASCII hyphen) is accepted. Select dot or comma decimals explicitly; thousands separators, scientific notation, parentheses and currency symbols are not supported. Thus 1,234 in comma-decimal mode means 1.234, not 1234.
Each source is limited to 50 MB, 100 columns and the row limit shown above (the free demo: 2 MB and 500 rows). Record keys can contain up to 300 characters. If text looks garbled, re-export it as UTF-8.
How are duplicates and invalid rows handled?
If a key is duplicated or a mapped value is invalid, that key is excluded from matching on both sides. No duplicates are collapsed or summed. A duplicate group creates one review entry; an invalid row can create another, so review entries are not a count of affected records.
If a source contains an empty key, a record found only on the other side is marked unresolved until the empty key is repaired. Report row numbers count CSV records (header = 1), not physical lines inside quoted cells. For Excel sources they are the worksheet's own row numbers, in the report columns leftExcelRows and rightExcelRows.
Where do my files and settings go?
Your data is processed in this browser tab. The app makes no network requests, saves no input to browser storage and contains no analytics. Excel workbooks are unpacked with the browser's built-in decompression, on this device. Clearing the app removes its current working data. Refreshing or closing the page loses the session.
Downloaded reports contain your compared values. Keep them private. Profiles contain header names, mappings and format settings only; do not put sensitive values in header names. Report cells that could be interpreted as spreadsheet formulas receive a leading apostrophe.