Remove duplicates from an .xls file

.xls is the binary Excel format Microsoft used before 2007, and it still arrives from older accounting, payroll, and reporting systems. Two ways to clean it: Excel's built-in Data → Remove Duplicates, or the tool below, which reads legacy .xls as well as .xlsx and lets you choose which columns define a duplicate. Parsing happens in your browser; the file is never uploaded.

Drop a .xlsx / .csv file here or

Processed locally. Check your Network tab: no uploads.

Method 1: Excel's built-in Remove Duplicates

  1. Open the .xls file. Modern Excel opens it in Compatibility Mode, which changes the title bar but not this feature.
  2. Select the data range, or click any single cell inside it.
  3. Go to the Data tab and click Remove Duplicates.
  4. Tick the columns that define a duplicate and press OK. Excel reports how many rows it removed and keeps the first occurrence of each.

The catches are the same as on any Excel sheet: matching is exact, so a trailing space or different capitalization means "not a duplicate", and the deletion happens in place, so your only undo is Ctrl+Z. The .xls format also caps out at 65,536 rows and 256 columns, which is worth knowing before you start editing a file that is already near the ceiling.

Method 2: the tool on this page

The file picker accepts .xls alongside .csv, .tsv, and .xlsx. Legacy .xls workbooks are parsed by SheetJS, the same library that handles .xlsx here, so an old binary workbook loads without Excel installed anywhere. Once it loads, click the column chips to say what counts as a duplicate, run it, and check the kept and removed counts before you download.

Use this route when you do not have Excel, when you want a cleaned copy rather than an edited original, or when you want case-insensitive matching. Exact matching handles 500,000 rows in well under a second, which is far more than an .xls file can hold. Names formatted differently ("Smith, Jane" vs "jane smith") need fuzzy matching via the API.

When a very old .xls will not open

Not all .xls files are the same age. Workbooks written by Excel 95 and earlier use an older internal layout, and Excel's Trust Center blocks them by default on security grounds. If a file refuses to open in either Excel or the tool above, open it once in LibreOffice Calc or upload it to Google Sheets, save it as .xlsx, and dedupe that instead. Anything written by Excel 97 through 2003, which is the overwhelming majority of .xls files still in circulation, needs no such conversion.

Why the cleaned file comes back as CSV

The download is a CSV, not an .xls. Excel opens a CSV directly on a double click, every other spreadsheet app imports it, and it carries none of the row and column limits of a format Microsoft retired. If you need the result back as a workbook, open the CSV in Excel and use Save As → .xlsx. Working with the current format instead? See removing duplicates in Excel for .xlsx files, or the CSV duplicate remover if your export was plain text all along.

FAQ

Frequently asked questions

Can I remove duplicates from an .xls file without Excel?

Yes. Drop the .xls into the tool on this page. It uses the SheetJS parser, which reads the legacy binary .xls format as well as .xlsx, so the file loads without Excel installed. Pick the columns that define a duplicate and download the cleaned copy.

Does Excel's own Remove Duplicates work on .xls files?

Yes. Opening an .xls in a modern Excel puts it in Compatibility Mode, but Data → Remove Duplicates still works normally. It matches exactly, keeps the first occurrence, and edits the sheet in place.

Why won't my very old .xls file open?

Excel's Trust Center blocks the oldest workbook formats (Excel 95 and earlier) by default, and some parsers only handle the Excel 97 to 2003 generation. The fix is to open it once in something more permissive, such as LibreOffice Calc or Google Sheets, and save it as .xlsx before deduping.

Why does the cleaned file download as CSV?

Because writing a new file in a format Microsoft retired in 2007 would help nobody. CSV opens directly in Excel with a double click, imports into every other spreadsheet app, and carries no legacy row or column limits.

How many rows can an .xls file hold?

65,536 rows and 256 columns. That is a limit of the format itself, not of Excel. If your data is close to it, save as .xlsx before you do anything else.

Is my spreadsheet uploaded?

No. The file is parsed by JavaScript in your browser and nothing is transmitted. Open your browser's developer tools and watch the Network tab if you want to confirm it.

Last updated