Detect near-duplicate records, typos, and slight spelling variations using Levenshtein distance
Identify subtle duplicates and typos in your CSV using configurable fuzzy matching algorithms.
Interactive Sample Data
| id | customer_name | |
|---|---|---|
| 1 | Jonathan Smith | jsmith@example.com |
| 2 | Jonathon Smith | j.smith@example.com |
| 3 | Grace Kerubo | grace@corp.com |
| 4 | Grace Kirubo | grace.k@corp.com |
How this tool works
Things that usually go wrong
- A threshold that is too low (60%) flags too many false positives. Start at 85% and lower only if needed.
- Fuzzy matching is slow for large columns (>10,000 unique values).
Edge cases we tested
Detected with high similarity using Damerau-Levenshtein calculation.
Matched correctly when token-based sorting is enabled.
Guarded against false-positive clustering via minimum length thresholds.
Frequently Asked Questions
What algorithm is used?
Levenshtein distance normalised to a 0–100% similarity score.
Can I deduplicate automatically?
Not automatically — you review the pairs and choose which to keep. Automated merging of similar strings risks losing distinct entities.
What is Levenshtein distance?
Levenshtein distance counts the minimum number of single-character edits (insertions, deletions, substitutions) needed to change one string into another. 'Acme Corp' to 'ACME Corporation' has a higher edit distance than 'Acme Corp' to 'Acme Corp.'.
How long does fuzzy matching take on large datasets?
Fuzzy matching is O(n²) — it compares every pair of values. A column with 1,000 unique values produces 500,000 comparisons. This takes 2–10 seconds in-browser depending on your machine.
Related tools
Validate CSV
Audit CSV files for structural errors, encoding problems, and row-length inconsistencies.
Open Tool →Validate JSON
Parse and validate JSON strings to expose syntax errors at exact line and column positions.
Open Tool →Find Duplicate Rows
Identify and count duplicate rows in CSV files by exact match or by key column selection.
Open Tool →