FreeDeskTools

CSV Column Matcher

Last Updated: June 27, 2026

CSV File A No file

Drop CSV file here or click to browse

Supports CSV, TXT, TSV

CSV File B No file

Drop CSV file here or click to browse

Supports CSV, TXT, TSV

Column Selection
Matching Settings
30% (~3 edits)
Preprocessing Options

Fuzzy CSV Column Matcher

Upload two CSV files, select the columns to compare, and find exact & fuzzy matches using Levenshtein distance.

All processing stays in your browser — nothing is uploaded.

Large dataset detected. Matching continues locally using optimized browser processing with Web Workers.

Matching...
Processing rows...
Rows in A 0
Rows in B 0
Exact Matches 0
Fuzzy Matches 0
Unmatched 0
Avg Similarity 0%
Avg Edit Distance 0
Processing Time 0ms
Exact Match % 0%
Fuzzy Match % 0%
Unmatched % 0%
Total Matched 0
0 matches
# Value A Value B Similarity Edit Dist Match Type Status
No results match your filters.

All CSV processing and fuzzy matching happens locally in your browser. Your data never leaves your device.

Fuzzy match two CSV columns online free — reconcile messy datasets with Levenshtein distance. Find near matches, typos, and inconsistencies across CSV columns in your browser with no uploads.

Browser Based
Free Forever
No Sign Up

How To Use

Follow these simple steps to get started with csv column matcher.

1

Upload CSV File A

Upload your first CSV file using drag-and-drop or the browse button. The file is parsed locally and column headers are detected automatically.

2

Upload CSV File B

Upload your second CSV file. Column headers from both files appear in dropdown menus for selection.

3

Select columns to match

Choose the column from File A and the column from File B that you want to compare. The tool will match values between these two columns.

4

Adjust tolerance

Use the tolerance slider or choose a preset (Strict, Balanced, Lenient) to control how closely values must match.

5

View and filter results

Browse matched results in the virtualized table. Filter by match type (exact, fuzzy, unmatched) or search within results.

6

Export your matches

Download the matched results as CSV or JSON, or copy the table to your clipboard. All processing stays in your browser.

Real-World Examples

Practical situations where csv column matcher helps solve real problems.

CRM Data Cleanup

Reconcile duplicate customer records across CRM exports — match names, emails, and companies with typo tolerance.

Inventory Reconciliation

Match product SKUs, part numbers, and supplier lists between inventory management systems to identify discrepancies.

Customer Database Matching

Find near-matching customer records across merged databases — handle name variations, misspellings, and formatting differences.

Vendor & Supplier Imports

Compare vendor lists, supplier catalogs, and purchase order data to find matching and missing entries across systems.

Why Use This Tool

Discover how this tool can improve your workflow and productivity.

Fuzzy Levenshtein Matching

Find near-matches, typos, and inconsistencies between CSV columns using the Levenshtein distance algorithm. Adjustable tolerance from strict to lenient.

100,000+ Row Support

Process enterprise-scale CSV files with up to 100,000+ rows using Web Worker chunked processing. The UI stays fully responsive throughout.

Smart CSV Parsing

Auto-detect delimiter (comma, semicolon, tab, pipe) with manual override. Handles quoted fields, escaped quotes, and encoding detection.

Complete Privacy

All matching happens locally in your browser via a Web Worker. Your CSV data never leaves your device — no uploads, no APIs, no servers.

Rich Filtering & Export

Filter results by match type (exact, fuzzy, unmatched). Sort by similarity, alphabetically, or by row. Export matched results as CSV, JSON, or copy to clipboard.

IndexedDB Persistence

Automatically save uploaded CSVs, column selections, tolerance, and settings via IndexedDB with localStorage fallback. Recover instantly after refresh.

Common Use Cases

Practical scenarios where this tool can help you get things done.

CRM Data Cleanup

Reconcile duplicate customer records across CRM exports — match names, emails, and companies with typo tolerance.

Inventory Reconciliation

Match product SKUs, part numbers, and supplier lists between inventory management systems to identify discrepancies.

Customer Database Matching

Find near-matching customer records across merged databases — handle name variations, misspellings, and formatting differences.

Vendor & Supplier Imports

Compare vendor lists, supplier catalogs, and purchase order data to find matching and missing entries across systems.

Marketing List Cleanup

Deduplicate and reconcile email lists, contact databases, and lead generation exports with fuzzy name and company matching.

Financial Record Comparison

Match transaction descriptions, account names, and reference numbers across financial reports and bank statement exports.

Tool Summary

Quick facts about this tool at a glance.

Purpose Fuzzy match values across two CSV columns using Levenshtein distance — reconcile messy datasets with typos, variations, and near-matches entirely in your browser.
Best For Data analysts, CRM managers, inventory specialists, marketers, financial analysts, and anyone reconciling messy CSV data across systems.
Processing 100% browser-side using Web Worker with chunked Levenshtein processing.
Cost Free.
Sign-Up Required No.
Data Storage None. Uploaded CSVs and settings are saved locally via IndexedDB for recovery after refresh.

What Is CSV Column Matcher?

A CSV Column Matcher is a browser-based utility that performs fuzzy string matching between two columns of CSV data using the Levenshtein Distance algorithm. It enables users to reconcile messy datasets containing typos, inconsistent formatting, abbreviations, and near-matching values without writing Excel formulas or Python scripts. All processing happens locally with Web Workers for enterprise-scale performance.

About This Tool

Fuzzy CSV column matching is an essential capability for anyone who works with data from multiple sources. Real-world data is rarely clean — names are misspelled, formatting varies, abbreviations differ, and typos accumulate. Manually reconciling these differences across thousands of rows is impractical, which is why an accurate, performant, and private fuzzy matching tool is so valuable.

How Fuzzy Matching Works

The tool uses the Levenshtein Distance algorithm, which measures how many single-character edits (insertions, deletions, substitutions) are needed to turn one string into another. For example, 'Smith' and 'Smyth' have a distance of 2 (two substitutions), while 'Jonhson' and 'Johnson' have a distance of 1 (one insertion). The edit distance is converted to a similarity percentage — the closer to 100%, the more similar the strings.

The tolerance slider converts between edit distance and similarity percentage. A higher similarity threshold (lower tolerance) means only very close matches are reported. A lower threshold (higher tolerance) captures more distant matches at the risk of false positives. The three presets — Strict (0-20%), Balanced (20-50%), and Lenient (50-100%) — provide quick starting points for common scenarios.

Preprocessing Pipeline

Before matching, the tool applies configurable preprocessing steps to normalize data and improve match accuracy: • Unicode Normalization (NFC) — ensures consistent character representation for accented characters and special symbols • Whitespace Trimming — removes leading and trailing whitespace that would otherwise prevent matches • Punctuation Removal — strips punctuation characters so 'John Doe.' and 'John Doe' match • Case Normalization — converts all text to lowercase for case-insensitive matching • Repeated Whitespace Collapsing — replaces multiple spaces with single spaces • Invisible Character Removal — strips zero-width characters, non-printing control characters, and other invisible Unicode • Empty Value Filtering — removes blank or whitespace-only values before matching

These options can be toggled individually, allowing you to tune the preprocessing pipeline to your specific dataset.

Privacy & Performance

All CSV parsing, preprocessing, and Levenshtein matching happens locally in your browser using a dedicated Web Worker. CSV files are read via the FileReader API and processed in memory — nothing is uploaded, stored on servers, or transmitted over the network. The Web Worker architecture enables chunked processing of up to 100,000+ rows without freezing the UI. Progress updates use requestAnimationFrame for smooth visual feedback.

Business Use Cases

CRM teams use fuzzy matching to reconcile duplicate customer records after data imports and system migrations. Inventory managers match product SKUs and part numbers across warehouse management systems. Marketing teams clean email lists and lead databases by finding near-matching contact records. Financial analysts reconcile transaction descriptions across bank statements and accounting exports. HR teams match employee records across payroll, benefits, and HRIS systems.

Quick Summary

This free CSV Column Matcher performs fuzzy matching between two CSV columns entirely in your browser. Upload two CSV files, select the columns to compare, and use Levenshtein distance to find exact matches, near matches (typos, name variations), and unmatched values. Features include configurable matching tolerance (0-100%) with Strict/Balanced/Lenient presets, automatic delimiter detection, Unicode normalization, preprocessing options, interactive results table with filtering and sorting, summary dashboard with animated counters, and export to CSV or JSON. The tool uses a Web Worker for processing up to 100,000+ rows without freezing the UI. All CSV data is processed locally with zero uploads — use the tool offline after initial load.

Related Concepts

Explore related terms and topics associated with csv column matcher.

match csv columns onlinefuzzy string matching tool onlinecompare csv columns for typoscsv vlookup alternative onlinefind near matches in two listsclient side csv matcherfuzzy csv matchingcsv column comparison tooldata reconciliation tool onlinerecord linkage tool browser

Frequently Asked Questions

Common questions about csv column matcher.

How do I fuzzy match two CSV columns without Excel?

Upload your two CSV files, select the columns you want to compare from each file, adjust the tolerance slider to control matching strictness, and view the results instantly. The tool uses Levenshtein distance to find near-matches — no Excel formulas or macros needed. Everything runs in your browser with zero data uploads.

Is it safe for PII?

Yes. All CSV processing and fuzzy matching happens entirely in your browser. Your data never leaves your device — no uploads, no server processing, no API calls. You can verify this by using the tool offline after the initial page load.

What algorithm is used?

The tool uses Levenshtein Distance as its primary matching algorithm. Levenshtein Distance measures how many single-character edits (insertions, deletions, substitutions) are needed to change one string into another. This makes it ideal for detecting typos, name variations, and near-matches in textual data.

Can I adjust the matching tolerance?

Yes. Use the tolerance slider (0-100%) to control matching strictness. Lower values (0-30%) find only very similar matches, medium values (30-70%) capture common typos and variations, and higher values (70-100%) find loose matches. Three presets — Strict, Balanced, and Lenient — provide quick starting points.

Do files leave my browser?

No. Your CSV files are read locally using the FileReader API and processed entirely in your browser by a dedicated Web Worker. No data is uploaded, stored on servers, or transmitted over the network. The tool works offline after the initial page load.

What is Levenshtein Distance?

Levenshtein Distance is a string metric that measures the minimum number of single-character edits (insertions, deletions, or substitutions) required to transform one string into another. For example, the Levenshtein Distance between 'John' and 'Jon' is 1 (one deletion of 'h'). This makes it highly effective for detecting typos, spelling variations, and near-matches in textual data.

Can I export the matched results?

Yes. You can export matched results as CSV (Excel-compatible), JSON, or copy the table directly to your clipboard. Filters and search are applied before export — only visible (filtered) results are exported. Download buttons are available in the results section.

How accurate is fuzzy matching?

Accuracy depends on your data and the tolerance setting. At strict tolerance (0-20%), the tool finds virtually exact matches and very minor typos. At balanced (20-50%), it captures common name variations, misspellings, and formatting differences. At lenient (50-100%), it finds loose semantic matches but may include false positives. For best results, start with a lower tolerance and increase gradually.

Does it work offline?

After the initial page load, all CSS and JavaScript are cached by your browser. CSV files are read locally via the FileReader API, and Levenshtein matching runs in a Web Worker — no network requests needed. The tool works fully offline once loaded.

What file formats are supported?

The tool supports CSV files with comma, semicolon, tab, or pipe delimiters. Delimiter detection is automatic but can be overridden manually. TXT files (one value per line) are also supported. File encoding detection handles UTF-8, UTF-16, and Latin-1 (ISO-8859-1) encoded files.

How do I reconcile two customer databases?

Export the customer data from both systems as CSV files. Upload each file into its respective panel, select the column containing customer names or emails from each file, set an appropriate tolerance level, and run the match. Review exact matches, fuzzy matches, and unmatched records. Export the results for further processing or import.

What preprocessing is applied before matching?

Before matching, the tool applies configurable preprocessing: Unicode normalization (NFC), whitespace trimming, punctuation removal, case normalization, repeated whitespace collapsing, and invisible character removal. These options can be toggled individually to suit your dataset.

Reviewed by FreeDeskTools Editorial Team

CSV Column Matcher has been reviewed for accuracy, usability, privacy, and browser-side performance. FreeDeskTools tools are designed to run locally whenever possible, helping users complete tasks quickly without unnecessary data collection.

Was this tool helpful?

Your feedback helps us improve CSV Column Matcher and build better tools for everyone.

Free, private utilities for developer, text, image, calculator, marketing, productivity, and security workflows. No uploads, no sign-ups.