How to Convert XLS to CSV
Older .xls files (Excel 97–2003 format) convert to CSV exactly the same way as modern .xlsx: open in Excel, **Save As → CSV UTF-8**. If you don't have Excel, Google Sheets imports .xls files just fine.
Why you might still see .xls files
Many enterprise reports, banking exports, and government data portals still ship .xls because their backend systems were built before .xlsx existed (2007). The conversion process is identical to .xlsx — only the source format differs.
Conversion steps
- Open the .xls file in Excel, Numbers, or Google Sheets.
- Use the program's CSV export option.
- Verify the result opens in a text editor and looks correct.
Python (pandas) for batch conversion
import pandas as pd
# pandas reads .xls via xlrd; install with: pip install xlrd
pd.read_excel('legacy.xls').to_csv('legacy.csv', index=False)
Frequently asked questions
Is .xls a security risk?
.xls supports macros (VBA). Disable macros before opening files from untrusted sources.
What's the row limit?
Legacy .xls caps at 65,536 rows. CSV has no limit — converting unblocks bigger datasets.