XLS to CSV Converter

Transform old Microsoft Excel 97-2003 (XLS) spreadsheets into flat text-based CSV format with delimiters

No software installation • Fast conversion • Private and secure

Step 1

Drag files or click to select

Convert files online

Step 1

Drag files or click to select

Convert files online

What is XLS to CSV Conversion?

XLS to CSV conversion is the process of extracting tabular data from the legacy binary Microsoft Excel 97-2003 format and saving it as a simple text file with delimiters. This is a "from complex to simple" operation: from a closed proprietary binary container capable of storing complex formulas and formatting, data is translated into a format consisting only of cell values separated by delimiter characters.

The XLS (Excel Spreadsheet) format was the main spreadsheet format of Microsoft Excel from version Excel 97 through Excel 2003 - nearly 10 years. It is a binary BIFF (Binary Interchange File Format) format, inside which data, formulas, formatting, sheets, and metadata are packaged into specific binary blocks. The XLS structure was proprietary and poorly documented, which complicated working with it for third-party programs.

The CSV (Comma-Separated Values) format is the complete opposite of XLS. It is the simplest text format, where each row of the table becomes a line in the file, and cell values are separated by commas, semicolons, or other characters. CSV has no formatting, no formulas, no structure of multiple sheets - only raw values.

PEREFILE performs XLS to CSV conversion by extracting cell values from the first sheet of the XLS workbook and writing them to a text file with an appropriate delimiter and UTF-8 encoding with BOM for correct opening in Microsoft Excel.

Comparing the XLS and CSV Formats

These two formats represent different approaches to storing tabular data:

Characteristic XLS CSV
Year created 1997 Late 1970s
File type Binary BIFF Flat text
Standardization Proprietary RFC 4180 (recommendation)
File size Medium Minimal
Number of sheets Up to 255 One
Max rows 65,536 Unlimited
Formulas Supported No, values only
Cell formatting Full None
Fonts, colors Supported No
Charts and graphs Supported No
Images Supported No
VBA macros Supported No
Opening in editors Only specialized Any text editor
Machine processing Complex (libraries needed) Trivial

The key conceptual difference: XLS is a document with visual representation and calculation logic. CSV is just data in its simplest form.

When XLS to CSV Conversion is Necessary

Importing Data into a Database

All modern DBMSs (PostgreSQL, MySQL, SQLite, Microsoft SQL Server, Oracle) have built-in tools for loading CSV. PostgreSQL supports the COPY FROM command, MySQL has LOAD DATA INFILE, SQLite has .import. These commands work in milliseconds on thousands of rows. Direct XLS import is usually impossible or requires intermediate tools.

Processing Data with Scripts

Programming languages - Python, R, Go, JavaScript, PHP - have built-in CSV support. Reading CSV in Python with the pandas library is one line of code. Parsing XLS requires installing specialized libraries (xlrd, openpyxl, pyexcel), which complicates deployment and script maintenance.

Uploading to Web Services and SaaS Platforms

Most cloud services accept data exclusively through CSV. This applies to CRMs (Salesforce, HubSpot, Pipedrive), email marketing systems (Mailchimp, SendGrid, Constant Contact), marketplaces (Amazon, eBay, Shopify), and advertising platforms (Google Ads, Meta Ads). If you have data in XLS, conversion to CSV is needed for upload.

Extracting Data from Legacy Files

XLS files accumulated over years - price list archives, customer databases, historical reports - often contain valuable data. To load them into modern systems, conversion to the universal CSV format is needed.

Universal Data Exchange

If you are not sure what software the recipient has, CSV is the safest choice. This format will be read on any operating system, in any program capable of working with text.

Moving Away from a Proprietary Format

XLS files can become a problem over time - a damaged binary is difficult to recover, and opening old files in modern Excel may produce warnings about an unsafe format. Translating data to CSV is a way to "free yourself" from the proprietary format and ensure long-term data preservation.

Technical Aspects of XLS to CSV Conversion

Conversion from a rich spreadsheet format to flat text is an operation with significant loss of content. It is important to know what is lost:

Formulas are Replaced with Calculation Results

An XLS file may contain thousands of formulas: sums, products, references to other cells, VLOOKUP, IF, SUMIF functions, and many others. All these formulas disappear when converting to CSV - only the results of their calculations at the moment of conversion end up in the file. If you change values in some cells after conversion, others will not recalculate - there are no more formulas there.

Multi-Sheet Workbooks Keep Only One Sheet

An XLS workbook can contain up to 255 sheets: January, February, March, PriceList, Customers, Report. CSV is always one sheet. During conversion to CSV, only the first (leftmost) sheet of the workbook is preserved. If important data is on other sheets, you need to either move them to the first position or convert each sheet separately.

Visual Styling is Completely Lost

Cell fill colors, fonts, text sizes, styles (bold, italic), cell borders, alignment, number formats (dollars, euros, percentages, dates) - all of this disappears. CSV has no facilities for describing appearance.

Charts, Images, and Graphics are Removed

All charts, graphs, embedded images, OLE objects, shapes, and control elements (buttons, checkboxes) are not preserved when converting to CSV. CSV contains only text cell data.

VBA Macros are Not Transferred

If XLS had VBA macros - for example, a "Generate Report" button with a handler - they disappear. CSV does not support program code.

Merged Cells are Split Apart

Merged cells in XLS become regular ones in CSV: the value ends up in the first (top-left) position, the others become empty.

Number Formats are Simplified

In XLS, the number 1234.56 could be displayed as "$1,234.56". In CSV this becomes either "1234.56" or may be distorted depending on export settings. It is advisable to reduce numbers to a simple form without thousands separators and currency symbols before conversion.

Dates are Written as Text

Dates in XLS are stored as numbers (the number of days from a specific date). In CSV they are converted to a textual representation by default. It is better to use the ISO format "YYYY-MM-DD" for unambiguous interpretation.

Delimiters and Encoding in the Resulting CSV

PEREFILE automatically selects the optimal parameters for the output CSV:

Choosing the Delimiter

By default, the comma is used - this is historically the correct delimiter for CSV. In regions where the comma is the decimal separator (most of continental Europe), a semicolon is often used to avoid conflicts. If commas appear in the data (for example, in names with descriptions separated by commas), such values are escaped with double quotes according to the RFC 4180 standard.

UTF-8 Encoding with BOM

The file is saved in UTF-8 encoding - a universal encoding that supports Latin, Cyrillic, accented letters, and special characters. For correct opening in Microsoft Excel, a BOM (Byte Order Mark) is added at the start of the file - three service bytes (EF BB BF) that tell Excel the file should be interpreted as UTF-8. Without the BOM, Excel often displays non-ASCII characters as unreadable symbols.

Escaping Special Characters

If a cell contains quotes, delimiters, or line breaks, such a cell is enclosed in double quotes, and internal quotes are doubled. This is the standard CSV escaping rule.

Line Endings

CRLF (\r\n) is used between lines - the standard line ending for CSV files. This ensures compatibility with Windows and most tools.

Which XLS Files are Suitable for Conversion

Simple Tabular Data

The ideal candidate is an XLS file with one sheet containing a rectangular table: the first row of headers, then data rows, no complex formatting. Such files convert to CSV without significant losses.

Databases and Registries

Customer databases, price lists, product catalogs, employee lists - anything structured as a set of uniform records is excellent for conversion.

Exports from Accounting Systems

If XLS was obtained as an export from accounting software, inventory systems, or warehouse management systems, it usually needs to be converted to CSV for further processing in other systems.

Historical Data and Archives

XLS files accumulated over years - reports, price lists, databases - often need to be translated to a modern universal format for integration with new systems.

What is Not a Good Fit

  • Complex financial models with calculations across multiple sheets - will lose logic
  • Analytical dashboards with charts - graphs will disappear
  • Documents with explanatory text and illustrations - only data will remain
  • Files with critically important macros - macros will be lost

Advantages of CSV for Data Processing

Universal Readability

CSV opens in everything: Microsoft Excel, open-source spreadsheet programs, text editors (Notepad++, Sublime Text, VS Code), specialized viewers, scripts in any programming language, and command-line utilities.

Minimal Size

CSV contains only data, without service information, markup, or metadata. A file with ten thousand rows in CSV takes 5-10 times less space than the same dataset in XLS.

Easy Automatic Processing

Parsing CSV is a basic task for any program. Python, R, Excel, Power BI, Tableau - everywhere this works out of the box, without additional dependencies.

Long-Term Preservation

A text CSV file with UTF-8 will be readable decades from now regardless of which programs are popular. This is a reliable format for archival data storage.

Manual Editing Capability

CSV can be opened in a regular text editor and corrected by hand - convenient for quick fixes or working with scripts.

Transparency

CSV content is visible immediately, without special tools. This simplifies debugging, auditing, and data correctness verification.

Features of the Old XLS Format

XLS is a legacy format with well-known limitations that often cause the switch to CSV:

65,536-Row Limit

An XLS file cannot contain more than 65,536 rows per sheet. This limitation was introduced in 1997 and did not change until XLSX appeared. Modern data often exceeds this limit, and CSV has no such restrictions - millions of rows can be written to CSV.

Closed Binary Structure

Without specialized libraries it is impossible to read XLS programmatically. CSV is universal in this sense: it can be opened in any text editor.

Corruption Vulnerability

Binary XLS is sensitive to errors: even a small corruption of a byte can make the file unreadable. CSV is a text file; any error is localized and does not destroy the rest of the content.

Declining Support

Modern versions of Office work with XLS in compatibility mode, issue warnings, and may lose some elements when saving. CSV is an evergreen format - its support is only growing.

Alternatives to Online Conversion

Using Microsoft Excel or Alternative Spreadsheet Programs

If you have Excel or a free office suite installed, you can open XLS and save as CSV via "Save As". Disadvantages - software installation needed, manual processing, encoding problems in some older versions of Excel (without BOM, non-ASCII characters may display incorrectly).

Python Scripts

You can write a script: pandas.read_excel("file.xls").to_csv("file.csv", encoding="utf-8-sig"). Requires programming knowledge and Python installation with libraries - suitable for automation.

Command Line

Utilities such as xls2csv can convert XLS to CSV from the command line. They require installation of specialized tools.

PEREFILE Online Service

  • No software installation - works in the browser
  • No programming knowledge required
  • Automatically correct delimiter and encoding
  • Works from any device with internet
  • Multiple files can be converted in one session

Who Benefits from XLS to CSV Conversion

Data Analysts

Receiving price lists, reports, and exports from partners often happens in XLS. For loading into analysis tools (Power BI, Tableau, Metabase, Jupyter Notebook), CSV is needed - the universal input format for analytics platforms.

Developers and System Integrators

When integrating systems, it is necessary to pass reference data and configuration tables. CSV is the default format for such tasks: easy to parse, generate, and version-control in version control systems.

Marketers

Importing contact databases into CRMs, uploading mailing lists, updating product catalogs on marketplaces - all works through CSV. If historical data is maintained in Excel 97-2003, conversion is needed.

Accountants and Financial Specialists

Preparing data for loading into bank-client and tax services. Many accounting systems accept data exclusively through CSV.

Archive Workers

Translating data from the legacy proprietary XLS to open text CSV for long-term storage. This is part of a digital archiving strategy: removing dependence on specific program versions.

Webmasters and SEO Specialists

Importing SEO data, keywords, URL maps, and meta descriptions into content management systems often requires CSV format.

Recommendations for Quality Conversion

Move the Needed Sheet to the First Position

Only the first sheet will end up in CSV. If important data is not on the first sheet, move the corresponding sheet to the beginning of the workbook or copy the data to a new sheet that you make first.

Remove Unnecessary Content

Clean the table of explanatory headers, empty rows at the beginning, and summary calculations at the end - they will complicate subsequent import into the receiving system.

Lock In Formula Values

If XLS has formulas with volatile functions (NOW, TODAY, RAND), make sure the results correspond to what should remain in CSV - after conversion they become constants.

Standardize Number Formats

Replace complex formats like "$1,234.56" with simple "1234.56" - receiving systems work better with simple numbers.

Use ISO Date Format

Convert dates to "YYYY-MM-DD" format (for example, 2024-03-15) - this format is unambiguously understood by all systems.

Check the Result

Open the resulting CSV in a text editor (Notepad++) and make sure the data looks correct, delimiters are in place, and the encoding is right. Then open in Excel - non-ASCII characters should display normally thanks to the BOM.

What is XLS to CSV conversion used for

Importing into a database

Extracting data from legacy XLS files for loading into PostgreSQL, MySQL, SQLite via standard CSV import commands

Uploading contacts to a CRM

Converting historical customer databases from Excel 97-2003 for import into Salesforce, HubSpot, Pipedrive

Passing data to Python and R

Preparing data for processing by Python (pandas), R, and Node.js scripts that work with CSV out of the box

Uploading catalogs to marketplaces

Converting old price lists to CSV format for uploading to Amazon, eBay, Shopify

Archiving tabular data

Saving data from the legacy proprietary XLS in a long-term readable text format

Importing lists for email campaigns

Exporting recipient lists from XLS to CSV for uploading to Mailchimp, SendGrid, Constant Contact

Tips for converting XLS to CSV

1

Place important data on the first sheet

Only the first sheet of the XLS workbook ends up in CSV. If the needed data is on other sheets, move them to the beginning of the workbook or copy to a separate first sheet before conversion

2

Clean the table of unnecessary elements

Remove explanatory headers, empty rows at the beginning, and summary calculations at the end - this makes the data easier to import into the receiving system

3

Use simple number and date formats

Replace '$1,234.56' with '1234.56', and convert dates to 'YYYY-MM-DD' format - this will eliminate errors during subsequent imports into databases and web services

4

Check the encoding of the result

Open the CSV in a text editor and in Excel - make sure non-ASCII characters display correctly. The BOM at the start of the file ensures proper UTF-8 recognition in Excel

Frequently Asked Questions

Are formulas preserved when converting XLS to CSV?
No, only the results of formula calculations at the moment of conversion end up in CSV. After conversion, the link between cells is lost, and when some values change, others do not recalculate - there are no more formulas in CSV.
What happens to multiple sheets in an XLS workbook?
Only the first sheet of the workbook (the leftmost) is saved in CSV. If data from other sheets is needed, move the corresponding sheet to the first position in the source file or convert each sheet separately.
What delimiter is used in CSV?
By default, a comma or semicolon is used depending on regional settings. Values containing delimiters, quotes, or line breaks are automatically escaped with double quotes according to the RFC 4180 standard.
Will non-ASCII characters display correctly in Excel?
Yes, the file is saved in UTF-8 with a BOM marker at the start. This marker tells Excel that the file should be interpreted as UTF-8, ensuring accented letters and other non-ASCII characters display correctly when double-clicking the file.
Will charts, images, and formatting be preserved?
No, CSV is a simple text format without support for graphics, formatting, fonts, and colors. All charts, images, colors, and styles are removed during conversion. Only text cell data remains.
What happens to VBA macros?
VBA macros are removed since CSV does not support program code. If XLS had automation, after conversion to CSV it will not be there. Scripts and event handlers need to be implemented by means of the receiving system.
Why convert XLS to CSV if Excel reads both formats?
CSV is needed for systems that do not work with XLS: databases, web services, scripts, marketplaces, CRM systems. CSV is a universal data exchange format accepted by virtually any information processing system.
How many rows can be saved in CSV?
CSV has no limit on the number of rows - it is just a text file, its size is limited only by disk space. This is an advantage over XLS, which is limited to 65,536 rows per sheet.