Skip to content
All free tools

Check for duplicates

Duplicate and overlap finder

If your bank CSVs overlap, compare exact matches, possible duplicates and date coverage before choosing which rows to download.

By AnyStatement

Published , 3 min read

Contents
  1. Decide which rows to keep
  2. Matches aren't proof of duplicates
  3. What can hold up your export
  4. What stays in your browser
  5. Where these rules stop

Label each file's account and currency. Different accounts or currencies need separate labels. Labels are case-sensitive; use the same spelling for the same account.

Nothing is removed by default. Exact matches can be genuine repeated purchases. This tool doesn't connect to QuickBooks, Xero, YNAB or your bank.

Replaces this workspace with two fictional March 2026 files. Your originals don't change.

Pasted file 1

UTF-8 .csv or .txt, up to 5 MB. File contents never leave this tool.

  • No CSV contents. Add a file or paste a table.

Files not ready. Fix any issues and confirm each file's settings.

Decide which rows to keep

You can compare one to twelve CSV files or pasted tables. For each, label the account and currency, map date, description and amount columns, then confirm date and number formats. Files with identical headers can share settings, but each needs confirmation.

The fictional March example starts with eight rows, two exact-match pairs and a sum of -78.90 USD. Nothing is removed by default. After checking the sources, keep one office-supplies row and one refund row to get six rows totaling -34.95 USD. Amounts use exact decimal units, not floating point.

For each group, choose KEEP ALL, one row or a subset. Downloads are date-sorted per account, with optional source file and line columns. The review report keeps every input row, original cells, formatting changes and decisions, even unreviewed KEEP ALL defaults.

Matches aren't proof of duplicates

Exact groups share an interpreted calendar date, signed amount and character-for-character description. Possible groups share date and amount but differ in description, or share amount and description within your day tolerance. Matches can form chains, so not every pair necessarily matches. Neither type proves you should remove a transaction.

Overlaps show where each pair of files' first-to-last transaction ranges intersect, including endpoints and row counts. Because gaps start from the last covered date, a short file inside a longer one won't create a false gap. These are transaction ranges, not statement periods.

File reading, format checks and arithmetic checks are separate. This tool calculates before-and-after sums, but doesn't check opening or closing balances, reconcile books, authenticate documents, prove complete history or guarantee an accounting app will accept the output. It never sees transactions already in your accounting software.

What can hold up your export

The tool accepts UTF-8 CSV or text: up to 5 MB per file and 20,000 transaction rows per comparison. Split larger histories into date windows and check their boundaries separately. The merged CSV is a generic review export, not a vendor-specific import file. Extra source columns stay only in the review report.

To keep different accounts or currencies separate, give them separate, case-sensitive account labels. Files need common decimal precision without rounding and the same amount perspective. Description comparisons preserve spaces and case, with no fuzzy merchant rewriting, currency conversion or transaction-ID matching.

Unresolved mapping, dates or amounts block export, as do blank records, repeated headers and subtotal-like rows. Make fixes in a working copy so you can compare it with your original, and approve date formatting changes, including removed times or weekdays. Changing source settings or day tolerance resets duplicate choices to KEEP ALL.

A gap exceeds your threshold between the last covered transaction and the next file's first transaction, but it may just be a quiet period. For document periods you supply explicitly, use the statement coverage checker.

What stays in your browser

The tool processes your CSV in this browser tab, without uploading contents or filenames, sending them to analytics, or saving them in browser storage. There's no saved workspace: Clear all or reload resets the page, though Back may restore it after you navigate away. Your browser controls tab recovery and downloads, so clearing the tool isn't secure deletion of device history.

Your source files are never overwritten. Some exported text gets an apostrophe prefix for spreadsheet formula protection. You'll see it in the preview and report, but it's never applied to originals. Parsed negative amounts stay numbers. Because spreadsheet software can remove the protection when saving or reopening CSVs, keep the prefix and inspect the file before using it elsewhere.

Where these rules stop

These matching rules don't replicate an accounting app's importer. We checked these vendor pages on October 17, 2026: Intuit's duplicate guidance, Xero's Duplicate Statement Lines report, and YNAB's duplicate and skipped import guidance. We didn't test a live accounting import.

Read the worked overlap review before removing rows. Compare your final selection with your statement and, separately, your accounting app's existing records.