The first choice is not the converter. It is the CSV format you need: plain CSV, UTF-8 CSV, or a regional CSV that uses semicolons instead of commas. Pick the wrong one and your file may open with broken accents, shifted columns, or numbers that silently change format. Before exporting, check who will import the CSV and what their system expects.
What CSV conversion actually changes
An Excel workbook can hold multiple sheets, formulas, formatting, filters, merged cells, comments, charts, hidden rows, and cell colors. A CSV file cannot. CSV is plain text: one row per line, with values separated by a delimiter, usually a comma.
That means converting `.xlsx` or `.xls` to `.csv` is not a visual export. It is a data export.
Here is what happens during conversion:
For example, if a product code is `001245`, Excel may store it as `1245` unless the cell is formatted as text before entry. Once that leading zero is gone, exporting to CSV will not bring it back automatically.
If your goal is to preserve layout for a client, manager, or invoice record, CSV is the wrong format. Use PDF instead. For a clean visual copy of a spreadsheet, the free Excel to PDF tool is a better fit because it keeps the sheet’s appearance rather than flattening it into raw data.
The safest free method: export from Excel
If you have Microsoft Excel installed, this is usually the most controlled way to convert an Excel file to CSV. The key is to prepare one sheet at a time.
Step-by-step in Excel for Windows
Choose CSV UTF-8 whenever the file contains names, addresses, product titles, or notes with accented characters such as `é`, `ñ`, `ü`, or non-Latin characters. UTF-8 is the safest general option for web apps, databases, CRMs, and most modern systems.
Use ordinary CSV (Comma delimited) only if the receiving system specifically asks for it, or if you are working with older software that does not handle UTF-8 correctly.
Step-by-step in Excel for Mac
On Mac, I usually open the exported CSV once in a plain text editor, not Excel, before sending it anywhere. TextEdit can work if set to plain text, but a code editor is better because it shows commas, quotes, and encoding issues more clearly.
Convert Excel to CSV for free with Google Sheets
Google Sheets is useful if you do not have Excel installed. It is also handy when someone sends an `.xlsx` file and you just need a quick CSV export.
Steps
Google Sheets exports only the current sheet, just like Excel. If your workbook has five sheets, repeat the download for each sheet and give each file a clear name, such as:
A common mistake is assuming Google Sheets will export the whole workbook into one CSV. It will not, and it should not. CSV has no built-in way to store multiple sheets.
Be careful with very wide spreadsheets or files containing complex formulas. Google Sheets may recalculate formulas differently or fail to reproduce some Excel-specific functions. Before exporting, compare key totals against the original workbook. Check a few rows near the top, middle, and bottom rather than only the first row.
Convert Excel to CSV with LibreOffice Calc
LibreOffice Calc is a strong free desktop option, especially if you regularly handle spreadsheets and do not want to upload files to an online service.
Steps
The Edit filter settings checkbox is the reason I like LibreOffice for tricky files. It lets you choose UTF-8, comma delimiter, semicolon delimiter, tab delimiter, and quote handling directly.
Use a comma delimiter for most imports. Use a semicolon only if the receiving system asks for it or if your region uses commas as decimal separators, such as `12,50`. In those cases, a semicolon-delimited file may look like:
```text name;price;currency Notebook;12,50;EUR Pen;1,20;EUR ```
Technically, that is not a comma-separated file, but many systems still call it CSV. Always match the importer’s instructions.
Clean the spreadsheet before exporting
Most bad CSV files are caused by messy spreadsheet structure, not by the export tool. Spend two minutes cleaning the source file before conversion.
Start with the header row. Use one row only. Avoid merged header cells like “Customer Details” spanning three columns. A clean CSV header should look like this:
```text customer_id,first_name,last_name,email,signup_date ```
Avoid duplicate column names. If two columns are both named `Status`, rename them to `payment_status` and `shipping_status`.
Remove notes above the table. Many spreadsheets start with a title, a date, and a few blank rows before the actual data. Import tools often treat the first row as headers, so a title like `June Sales Export` can break the upload.
Check date columns carefully. If the receiving system expects `YYYY-MM-DD`, format the Excel column that way before export:
For time values, use a 24-hour format like `hh:mm:ss`. It avoids confusion between `7:30 AM` and `7:30 PM`.
For ID numbers, ZIP codes, SKU codes, and phone numbers, use text format. In Excel:
If values already lost leading zeros, you may need to restore them with a formula before exporting. For example, to turn `245` into a six-character code `000245`, use:
```text =TEXT(A2,"000000") ```
Then copy the formula results and paste them as values before saving as CSV.
Also remove commas from numbers if the importer cannot handle them. A value displayed as `1,250` may be read as two fields by poor import tools if quotes are mishandled. A proper CSV exporter will quote it as `"1,250"`, but not every receiving system is well built. If the target system is strict, export plain numbers like `1250`.
Common CSV problems and how to fix them
Accented characters look broken
If `José` becomes `José`, the file was probably opened or imported with the wrong encoding. Re-export as CSV UTF-8.
In Excel, choose CSV UTF-8 (Comma delimited) instead of plain CSV. In LibreOffice, set Character set to `Unicode (UTF-8)`.
If the importing system asks for an encoding, choose `UTF-8`.
All data appears in one column
This usually means the delimiter does not match what the program expects. For example, the CSV uses commas but your spreadsheet app expects semicolons, or the file uses semicolons and the importer expects commas.
Try one of these fixes:
Double-clicking a CSV is convenient but not reliable for diagnosis because Excel guesses based on system settings.
Numbers turn into dates
Values like `3-4`, `1/2`, or `12-10` may become dates. This is common with product sizes, model numbers, and codes.
Before export, format those columns as Text. If importing the CSV into Excel later, do not open it by double-clicking. Use:
Leading zeros disappear
This affects ZIP codes, account numbers, employee IDs, and SKU values. Format the column as text before entering or pasting the values. If the zeros are already gone, rebuild them with `TEXT()` using the correct length.
For a five-digit ZIP code:
```text =TEXT(A2,"00000") ```
For a ten-digit account number:
```text =TEXT(A2,"0000000000") ```
Then paste the formula output as values before CSV export.
Only one sheet was converted
That is expected. CSV supports one table, not multiple tabs. Export each worksheet separately. Name each CSV after the sheet so the recipient can tell them apart.
If the sheets are related, keep a shared ID column in each file. For example:
That makes the files easier to import into databases or business tools.
Check the CSV before sending or importing
Do not rely on the file icon. Open the exported CSV in a plain text editor and inspect the first few lines. You should see something like:
```text customer_id,first_name,last_name,email,signup_date 1001,Ana,Rivera,[email protected],2026-06-19 1002,Mark,Chen,[email protected],2026-06-20 ```
Look for these issues:
If a cell contains a comma, the CSV should wrap that value in quotes:
```text company,address Acme Ltd,"14 King Street, Floor 2" ```
If a cell contains quotation marks, they should be doubled inside the quoted field:
```text product,description Desk,"48"" wide office desk" ```
That looks strange, but it is valid CSV.
If your next step is to use the converted data in a web app or development workflow, you may need JSON rather than CSV. Once your CSV is clean, you can convert it with the free CSV to JSON tool. This is useful for API testing, app configuration, product feeds, or handing structured data to a developer.
Quick format recommendations
Use these settings for the most common cases:
A clean CSV starts with a clean sheet. Pick UTF-8 unless you have a specific reason not to, export one worksheet at a time, and verify the result in a text editor before uploading it anywhere. If you need to use the converted file in a developer-friendly format, try the BestAIFinds CSV to JSON tool after you export your CSV.