Convert XLS to CSV Online
What an Excel 97-2003 workbook really becomes when it is exported as a plain CSV table.
- Add a file Choose or drop it here
- Pick the format Change it whenever needed
- Download the result After conversion completes
From BIFF Records to Delimited Rows
An .xls file is the older Excel workbook family used by Excel 97 through Excel 2003. Microsoft calls its binary worksheet format BIFF8, short for Binary Interchange File Format version 8. The workbook is stored in a Compound File Binary container, which is a small file system inside one file rather than a simple list of visible rows. It can carry worksheet records, cell records, formulas, styles, page settings, charts, names, comments, and links between sheets. The Excel 97-2003 grid also has a fixed ceiling of 65,536 rows and 256 columns on each worksheet. An XLS file commonly appears when data came from an older business system, an archived Excel workbook, or software that still exports the legacy Excel format.
CSV has a much narrower purpose. It is ordinary text in which each record is written as fields separated by a delimiter, normally a comma. RFC 4180 describes the familiar comma form and registers the media type text/csv, but the file itself has no workbook directory, sheet tab, cell style, or formula engine. Exporting XLS to CSV therefore does not update the workbook to a newer Excel format. It makes a flat text representation of one worksheet for an importer, database, script, or service that wants fields rather than a spreadsheet package. Keep the original XLS file when the source has more than one sheet or any information beyond the visible values of the selected sheet.
When a Legacy Workbook Loses Its Second Dimension
An XLS workbook can hold several worksheets and workbook-wide objects; one CSV file describes one ordered table only. Excel's own text-format documentation says that CSV saves only the active sheet. If an XLS file has a summary tab, a data tab, and a lookup tab, choosing CSV produces one file from the selected tab, not a three-tab text file. The other tabs are not hidden inside the CSV and cannot be reconstructed from it later. Export every required sheet separately, with names that identify the source tab, when the receiver accepts more than one file. This is the first check to make before comparing values, because a perfectly parsed CSV can still be incomplete at the workbook level.
Cell content also changes from typed spreadsheet information into characters. A BIFF8 formula record can store an expression and Excel can calculate its result, while CSV has no syntax for a formula cell. During ordinary CSV export, a calculated cell becomes the value that is displayed at export time, such as 45, rather than the rule =SUM(B2:B10) that produced it. A later edit to the CSV cannot recalculate a total, lookup, or cross-sheet reference because those relationships are gone. Styles, borders, fills, column widths, merged cells, comments, charts, data validation, and print areas have the same problem: CSV has no field for them. A useful CSV is a delivery copy of data, not an editable substitute for the legacy workbook.
Even an apparently simple value can need preparation before it becomes text. A date may have been stored by Excel as a serial number and shown through a date format; the text export supplies a displayed representation that a different program may read under another regional date rule. A percentage, currency symbol, or number using a decimal comma can likewise be read differently by the next importer. CSV also does not announce which fields are text, number, date, or blank. Decide what the receiving system expects for dates, decimal marks, headers, and empty fields before creating the file. Then inspect both the raw text and an import preview instead of trusting how the exporting copy of Excel happens to display it.
Six Consequences of Flattening an XLS Sheet
- One tab is portable: a CSV is easy for import tools to read because it needs no BIFF8 workbook parser, but Excel exports only the active worksheet to it.
- Results survive, rules do not: a formula's current shown result can be written as text, but its formula, dependencies, and recalculation behavior cannot.
- Formatting is deliberately removed: Microsoft warns that saving to a text format removes formatting, so color, width, borders, and conditional cues cannot guide the next reader.
- Quoted fields protect the table shape: commas, quotation marks, and line breaks in a value need correct CSV quoting or one value can become several columns or records.
- Text identifiers need protection first: leading zeroes and digits past Excel's 15-digit numeric precision limit cannot be restored by a later CSV export.
- Encoding becomes part of delivery: accented letters and non-Latin text remain useful only when the receiving program reads the same character encoding used for the CSV.
Excel, LibreOffice, and the CSV Contract
Excel can open legacy XLS workbooks and can save the selected worksheet as CSV, but broad support does not mean that every program makes the same choices. Microsoft documents text and CSV import and export for Excel for Microsoft 365, Excel 2024, Excel 2021, Excel 2019, and Excel 2016. In those programs, a direct CSV open can use local default settings to decide separators and interpret dates or numbers. LibreOffice Calc also opens and exports CSV, and its Text Import dialog lets the user choose a character set, separator options, and text delimiter. A plain-text editor is useful alongside either application because it shows the actual separator and quote characters without applying spreadsheet display rules. Test the export in the application or service that will receive it, not only in the program that produced it.
A CSV extension does not settle its encoding or delimiter. Microsoft says a UTF-8 CSV can be opened normally in Excel when it has a byte order mark, or it can be imported through Data, Get Data, From Text/CSV when it does not. Microsoft also notes that the default CSV delimiter is the current list separator, which can differ on systems using a comma as the decimal mark. That is why a file may open as one long column on another computer even though its rows were exported correctly. State the required delimiter and encoding in the handoff instructions, then use the receiver's import preview to set them explicitly. If the target asks for literal comma-separated UTF-8, do not silently send a semicolon-separated local export.
Why a CSV Reopens With Changed Values
A common failure is an account code such as 001247 becoming 1247, or a long identifier ending in zeroes after it has passed through Excel. The cause is automatic number conversion, not a broken comma. Microsoft says Excel has a maximum precision of 15 significant digits, and digits after the fifteenth are changed to zero when a 16-or-more-digit value is treated as a number. Product codes, phone-like strings, card-like references, and other identifiers are data labels, not quantities to calculate. Set those columns to Text before they enter or are pasted into the XLS workbook, and use the Text/CSV import route when checking the result. Formatting a damaged number as Text afterward cannot bring back characters that Excel has already discarded.
A second failure is a description that shifts the rest of its row, or a quoted address that appears to create an extra line. RFC 4180 says a field containing a comma, double quote, CR, or LF should be enclosed in double quotes, and an embedded double quote is represented by two double quotes. For example, the value North, "West" belongs in one field as "North, ""West""". Splitting the file simply at every comma or physical line ignores those rules and corrupts the table. Export a small test containing a comma, quote, blank field, and line break before a large transfer. Also test an unambiguous date such as 2026-07-30 if the destination accepts ISO-style dates, because 03/04/2026 can be read as two different days under different local settings.
What the Export Retains and Leaves Behind
| Check | XLS source | CSV result |
|---|---|---|
| Internal form | BIFF8 binary records in a Compound File Binary container | Delimited plain text |
| Worksheet scope | Can contain multiple sheets | One active sheet per Excel CSV export |
| Formula | Can store live formulas and results | Current displayed value; no live formula rule |
| Presentation | Styles, widths, charts, comments, and print settings can exist | Not represented |
| Grid limit | 65,536 rows by 256 columns per worksheet | No built-in worksheet grid or type system |
| Import decision | Excel interprets workbook records | Receiver must agree on delimiter, quote, encoding, and types |
Answers Before You Hand Off an XLS Export
Does XLS to CSV keep all worksheets?
No. Excel's CSV save option writes only the active worksheet. Export every required tab as a separately named CSV, and retain the XLS source if the relationship between sheets matters.
Why did my CSV lose formulas and colors?
CSV is a text table with no formula or formatting layer. It can contain the value shown by a formula at export time, but not the calculation, colors, borders, charts, or page layout behind it.
Why is the converted CSV in one column?
The importer probably expected a different delimiter from the file's actual separator. Choose the delimiter and encoding in the import preview instead of relying on the computer's regional defaults.
Can I recover a 16-digit ID after export?
Not if Excel already converted it to a number and changed digits past its 15-digit precision limit. Return to an untouched source that still contains the full identifier, then import that column as Text before making a new CSV.
What should I check before sending the file?
Compare the chosen sheet's row count, headers, a zero-prefixed ID, a long identifier, a date, a quoted comma, and key totals. Finally, open the raw CSV in a text editor and make one test import in the receiving system using the required delimiter and encoding.