CSV cleaner
Remove duplicates from a CSV and clean it: names, emails and stray spaces
Upload a CSV or Excel file and get it back without duplicate rows, without empty rows, with stray spaces and invisible characters removed, emails in lowercase and names written one way. Duplicates can be whole rows or rows that share an email or a company, and near matches such as "ACME, Inc." and "acme inc" count as the same. A list shows every removed row and which row it repeated. Files of up to 1,000 rows are free in full; bigger files are $5, paid once.
- Up to 1,000 rows free in full, no account needed
- Whole file $5, one payment: up to 200,000 rows
- Duplicates by whole row or by columns such as Email
- Near matches: case, spacing, punctuation and Inc/LLC/Ltd ignored
- Names and companies written one way; emails lowercased
- A list of every removed row and the row it duplicated
What you get back
A cleaned copy of your file, named for example contacts.clean.csv, and a list of removed rows. Before you pay, the screen shows how many duplicates, empty rows and cells were fixed, and the first cleaned rows.
- CSV in, CSV out, with the same delimiter and encoding and the same header. Excel in, Excel out, as a clean sheet of values (formatting and formulas are not carried over; formula results are).
- The first copy of each duplicate is kept, in its original position; later copies are removed.
- Every cell trimmed, double spaces collapsed, and non-breaking spaces, zero-width characters and control characters removed. Columns named like Email are lowercased.
- Name columns (Name, Company, Customer, Contact, Vendor or the ones you list): words written in ALL CAPS or all lowercase are capitalized, so "maria GARCIA" becomes "Maria Garcia", and company suffixes are written one way, such as Inc., LLC, Ltd and GmbH.
- A removed rows CSV with each removed row, its original values and the number of the row it duplicated.
Cleaning a file with a chatbot, and with this tool
A chatbot with code tools can deduplicate a small file, and spreadsheet software removes exact duplicates. The hard parts are near matches, keeping a record of what was removed, and files too big to paste.
| Your situation | A chatbot | This tool |
|---|---|---|
| A short list with obvious repeats | Usually handles it | Handles it, free up to 1,000 rows |
| 100,000 rows | Cannot read them in a conversation; needs code you have to check | Cleans the whole file, up to 200,000 rows for $5 |
| "ACME, Inc." and "acme inc" | Treated as different unless asked carefully | Treated as the same with near matching on |
| Same person, email in capitals | Often missed | Emails are compared in lowercase |
| What was removed? | Rarely tells you row by row | A CSV of every removed row and the row it repeated |
| Running it again next month | A new conversation, maybe different rules | The same rules every time |
How to remove duplicates from a CSV
-
1
Upload and choose how to match
Drop a .csv, .tsv or .xlsx file. Choose whole rows or the columns that define a duplicate, such as Email, and whether near matches count.
-
2
Check the counts and first rows
See how many duplicates and empty rows were found and how the first rows look after cleaning. Small files are free in full.
-
3
Download
Download the cleaned file and the list of removed rows; for files over 1,000 rows, unlock them first for $5.
Why near duplicates are hard
Exact duplicate removal compares rows character by character, so "ACME, Inc." and "acme inc", or "[email protected]" and "[email protected]", survive as two records. In a contact list that means two emails to the same person; in a supplier list, two accounts for one company.
This tool builds a comparison key for each row from the columns you choose. With near matching on, the key ignores capital letters, spacing and punctuation, and in company columns it also ignores legal suffixes such as Inc, LLC, Ltd, GmbH and S.A. Rows with the same key are duplicates; the first stays and the others are listed. Rows whose key columns are empty are never treated as duplicates of each other.
What people use it for
- Cleaning a contact or lead list before importing it into a CRM or email tool
- Merging exports from two systems and removing the overlap
- Supplier and customer lists with the same company written several ways
- Survey or sign-up exports with repeated submissions
- Removing empty rows and stray spaces before a VLOOKUP or a database import
- Fixing names typed in capitals in a registration form
Optional: fix name variants with AI
Rules cannot know that "Intl Business Machines" and "IBM" are the same company. Tick the AI option and the distinct names in each name column are sent to an AI model, which writes one spelling per company or person and fixes obvious typos, leaving names alone when it is not sure. This runs after duplicates are found, so it changes how names are written in the result, not which rows are removed. Without the option, nothing is sent to an AI model.
Limits worth knowing
One file per job, up to 100 MB; in Excel the first sheet with a header row is used. One payment covers up to 200,000 rows and Unlimited up to 500,000; rows beyond the limit are copied to the end of the file unchanged. Names written in mixed case, such as "DeShawn" or "McKenzie", are left as they are, and short all-capital company words such as IBM are treated as abbreviations.
By language and situation
Remove duplicates from a CSV online
Upload a CSV and get it back with duplicate rows removed, keeping the first copy of each. Rows that differ onl...
Read more →Remove duplicate rows in a large Excel file
Upload an .xlsx file and get a clean .xlsx back with duplicate rows removed and the first copy of each kept, p...
Read more →Deduplicate a contact list by email
Upload your contact list as CSV or Excel and get it back with one row per email address. Emails are compared i...
Read more →Clean messy CSV data
Upload a messy CSV or Excel file and get it back with every cell trimmed, double spaces collapsed, invisible c...
Read more →What it costs
Small files
Free
Files of up to 1,000 rows are cleaned free in full, downloads included. Bigger files: the counts and first rows on screen, no account.
Whole file
$5
One payment for one file: up to 200,000 rows, with the removed rows list. No subscription, never expires.
Unlimited
$19 / week
Every tool on the site, with files of up to 500,000 rows.
Questions and answers
Can ChatGPT remove duplicates from a CSV?
For a small file, yes, usually by writing code. A large file does not fit in the conversation, near matches like "ACME, Inc." and "acme inc" are easy to miss, and you rarely get a list of what was removed. This tool applies the same rules to every row and lists every removed row.
Which copy is kept?
The first one, in its original position. Later copies are removed and listed with the number of the row they duplicated.
Can I remove duplicates by email only?
Yes. Choose "By columns" and type Email, or any columns that identify a record, such as First name, Last name and Company. Rows where those columns are empty are kept.
What counts as a near match?
With near matching on, differences in capital letters, spacing and punctuation are ignored, and in company columns so are legal suffixes such as Inc., LLC, Ltd and GmbH.
Will it change my data?
Only in the ways listed: spaces and invisible characters removed, emails lowercased, all-caps or all-lowercase names capitalized, company suffixes written one way, and duplicates and empty rows removed. Other values stay as they are.
How big a file can it clean?
Up to 200,000 rows for one payment of $5, and up to 500,000 rows with Unlimited, in files of up to 100 MB.
Is it free?
Yes for files of up to 1,000 rows, downloads included. Bigger files show the counts and first rows free; the cleaned file is $5, paid once.
Are my files private?
Only you can open your job. Cleaning runs on our server and nothing is sent to an AI model unless you tick the AI option; then only the distinct names in the name columns are sent. Jobs uploaded without an account are deleted after 7 days, and you can delete any job yourself at any time.
Updated October 25, 2026 · APPFACT STUDIO LTD