Excel to CSV Converter
Convert Excel spreadsheets (.xlsx, .xls) to CSV format in your browser. Select sheets, preview data, and download the CSV file instantly.
Excel files (.xlsx, .xls) are the standard format for spreadsheets, but many systems - databases, data pipelines, CRM imports, and programming languages - work with plain CSV. This converter reads your Excel workbook in the browser, lets you pick which sheet to export, shows a preview of the data, and generates a clean CSV file with proper quoting and encoding.
About Excel to CSV Converter
How the Conversion Works
The tool uses the SheetJS library running entirely in your browser. It reads the Excel binary format, extracts cell values with their data types, and writes them as comma-separated text.
| Step | What Happens |
|---|---|
| 1. Upload | Select an .xlsx or .xls file from your device |
| 2. Sheet selection | If the workbook has multiple sheets, a dropdown lets you choose which one to convert |
| 3. Preview | A table preview shows the first rows so you can verify the data is correct |
| 4. Convert | Cell values are extracted and formatted as CSV text |
| 5. Download | Save the CSV file to your device |
What Changes During Conversion?
CSV is a simpler format than Excel. Some information does not survive the conversion:
| Feature | Kept in CSV? | Details |
|---|---|---|
| Cell values (text, numbers) | Yes | All visible values are preserved exactly |
| Dates | Yes | Converted to ISO format (YYYY-MM-DD) or locale string |
| Formulas | Result only | The calculated result is kept, but the formula itself is lost |
| Formatting (fonts, colours) | No | CSV is plain text with no styling |
| Multiple sheets | No | Each sheet must be exported separately |
| Charts and images | No | Only cell data is extracted |
| Data validation rules | No | Dropdown lists and validation are lost |
| Merged cells | Partially | The value appears in the top-left cell; other merged cells are empty |
Handling Multiple Sheets
Many Excel workbooks contain several sheets - summary, raw data, lookup tables, and so on. The converter detects all sheets and shows them in a dropdown. Select the sheet you want, verify the preview, and download. To export multiple sheets, repeat the process for each one. Each download produces a separate CSV file.
When Should You Convert Excel to CSV?
| Scenario | Why CSV Is Better |
|---|---|
| Importing into a database | Most database import tools accept CSV natively (PostgreSQL COPY, MySQL LOAD DATA, etc.) |
| Feeding data into a script | Python, R, Node.js, and other languages parse CSV trivially with built-in libraries |
| Uploading to a CRM or SaaS tool | Salesforce, HubSpot, Mailchimp, and similar tools accept CSV for bulk imports |
| Version control | CSV files produce clean diffs in Git, while Excel files are binary and opaque |
| Sharing with Linux/Unix systems | CSV works everywhere; Excel requires specific software |
| Reducing file size | CSV is typically 30-50% smaller than the equivalent .xlsx for the same data |
CSV Quoting Rules
The output follows RFC 4180, the standard specification for CSV formatting. Fields that contain commas, double quotes, or newlines are automatically wrapped in double quotes. This ensures the CSV is correctly parsed by any compliant reader.
| Cell Value | CSV Output | Why |
|---|---|---|
| Hello | Hello | Simple text needs no quoting |
| London, UK | "London, UK" | Comma inside the value must be quoted |
| She said "hi" | "She said ""hi""" | Quotes are escaped by doubling them |
| Line 1 (newline) Line 2 | "Line 1\nLine 2" | Newlines inside values must be quoted |
| 42 | 42 | Numbers are written without quotes |
Supported Excel Formats
| Format | Extension | Supported | Notes |
|---|---|---|---|
| Excel Open XML | .xlsx | Yes | Modern Excel format (2007+), most common |
| Legacy Excel Binary | .xls | Yes | Older format (97-2003), still widely encountered |
| Excel Macro-Enabled | .xlsm | Yes | Macros are ignored; cell values are extracted |
| OpenDocument Spreadsheet | .ods | Partial | Basic support via SheetJS |
Need to go the other direction? The CSV to Excel converter turns delimited text into a proper .xlsx workbook. For viewing and editing CSV data with sorting and filtering, try the CSV Viewer. All processing runs client-side using JavaScript - your spreadsheet data stays on your device and is never uploaded to any server.
Worked Example: A Three-Column Sales Sheet
A small Excel sheet with a header row and two data rows converts to CSV like this. Each Excel cell becomes one CSV field, fields are joined by commas, rows by newlines, and any field containing a comma or quote is wrapped in double quotes.
| Excel row | Product (A) | Region (B) | Revenue (C) |
|---|---|---|---|
| 1 | Product | Region | Revenue |
| 2 | Widget Pro | London, UK | 12500 |
| 3 | Widget "Lite" | Berlin | 8200 |
The resulting CSV is three lines:
Product,Region,RevenueWidget Pro,"London, UK",12500"Widget ""Lite""",Berlin,8200
Notice the second row wraps "London, UK" in quotes because the value contains a comma, and the third row doubles the internal quotes per RFC 4180 Section 2.7. A reader that ignores these rules would split "London" and "UK" into two columns and break the dataset.
Character Encoding: UTF-8 vs Windows-1252
CSV files generated by this tool are UTF-8 encoded, which correctly handles accents, non-Latin scripts, emoji, and any Unicode character. This matches the encoding recommended by RFC 4180 and used by modern tools (Python's pandas, PostgreSQL, MySQL 8, and Node.js). Older Excel versions on Windows sometimes save CSV as Windows-1252 (CP1252), which corrupts characters outside the Latin alphabet - a common reason a file that looks fine in Excel shows "é" instead of "é" when re-imported elsewhere.
| Source | Typical encoding | Works with non-Latin characters? |
|---|---|---|
| This converter | UTF-8 | Yes, natively |
| Excel "Save As CSV" on Windows | Windows-1252 | No, mojibake for accents and CJK |
| Excel "Save As CSV UTF-8" | UTF-8 with BOM | Yes, but the BOM confuses some parsers |
| Google Sheets export | UTF-8 | Yes |
| LibreOffice Calc export | Configurable (UTF-8 default) | Yes when UTF-8 |
If a downstream tool expects a leading byte order mark (BOM), you can add one with any text editor or script. Most modern parsers handle both forms.
Common Pitfalls When Moving Data from Excel to CSV
These are the issues that trip people up most often. Most can be caught in the preview before downloading.
- Leading zeros get stripped. Excel treats "00123" as the number 123 and shows it with no leading zeros. Postcodes, product SKUs, and phone numbers with a leading zero lose that digit in the CSV. The fix is to force Excel to treat the column as Text before conversion, or to add a visible apostrophe prefix in the source sheet.
- Dates switch formats. A cell showing "01/02/2026" could be 1 February (UK) or 2 January (US). CSV has no date type, so the exported string reflects whatever locale Excel was using. Always check the preview and agree a format (ISO 8601 YYYY-MM-DD is safest) with whoever imports the file.
- Scientific notation on long numbers. A 16-digit credit card number or barcode shows as 4.53000000000000E+15 in Excel, and that is what lands in the CSV. Format the Excel column as Text first, or store such values as strings.
- Merged cells produce blanks. A value in a merged block appears only in the top-left cell of the merge. After export, the other cells are empty, which can break pivots in the destination tool.
- Hidden rows and filters are ignored. The CSV contains every row in the sheet, including rows hidden by a filter. If you only want filtered rows, paste the visible cells into a new sheet first.
- Trailing empty columns. If any cell in column Z has ever held a value, every row may be padded with commas out to column Z. Open the CSV in a text editor to check, or trim the used range in Excel before exporting.
- Line breaks inside cells. A multi-line address in one Excel cell becomes a field wrapped in quotes with an embedded newline. RFC 4180-compliant readers (Python pandas, PostgreSQL COPY with the CSV option, Node's csv-parse) handle this correctly, but a naive split on newline will treat each line as a separate row. Test imports before assuming the file is clean.
- Locale-specific number formats. Excel in German or French regions writes decimals with a comma (1.234,56). If the destination system expects a period as the decimal separator, the numbers will either be rejected or parsed as the integer 1234 followed by a stray value. Set Excel to English formatting before export, or run a find-and-replace on the resulting CSV.
Is CSV Still Relevant in 2026?
Yes, and arguably more than ever. Despite the rise of JSON, Parquet, and proprietary cloud formats, CSV remains the most universally accepted tabular interchange format. The US Data.gov catalogue lists CSV as the top-requested download format across federal datasets, the UK Office for National Statistics publishes every dataset in CSV alongside Excel, and the World Bank Open Data API exposes CSV endpoints for every indicator. RFC 4180 was written in 2005, but the standard is still the reference implementation for every major CSV library, from Python's csv module to .NET's TextFieldParser.
CSV's staying power comes from two properties: it is plain text (any editor can open it), and it has no versioning issues (a CSV written in 1990 reads correctly today). Parquet and Apache Arrow are faster and smaller for analytics workloads, but CSV wins for hand-off between teams, one-off imports, and audit trails.
Sources
Frequently Asked Questions
Which Excel formats are supported?
The tool supports .xlsx, .xls, .xlsm, and .xlsb files. These cover all common Excel formats from both modern and older versions.
What if my Excel file has multiple sheets?
The tool detects all sheets and shows a dropdown selector. Choose the sheet you want to convert, preview the data, and download it as CSV. Each sheet is converted separately.
Does it preserve formulas?
The CSV output contains the calculated values, not the formulas themselves. CSV is a plain text format and cannot store formulas.
Are my files uploaded to a server?
No. The conversion happens entirely in your browser using the SheetJS library. Your data never leaves your device.
Can I convert multiple sheets at once?
Currently you convert one sheet at a time. Select the sheet you want from the dropdown, download it, then select the next sheet.
Link to this tool
Copy this HTML to link to this tool from your website or blog.
<a href="https://toolboxkit.io/tools/excel-to-csv/" title="Excel to CSV Converter - Free Online Tool">Try Excel to CSV Converter on ToolboxKit.io</a>