Convert CSV to XLSX (Excel)
Turn a .csv file into a genuine .xlsx Excel workbook — built from scratch as a real ZIP+XML file right in your browser, not a renamed CSV. Opens natively in Excel, Google Sheets and Numbers. Nothing is uploaded.
Convert a CSV File to XLSX
Drop a .csv file below. It's parsed with the same delimiter-detection and quote-aware logic as our CSV viewer tool, then written into a genuine Excel workbook structure — previewed here, and ready to download.
Before you use this tool: This creates a real XLSX workbook and keeps identifiers such as leading-zero codes as text. Conversion does not add formulas or restore formatting that a plain CSV never contained. Review the preview before downloading.
🔒 Nothing is uploaded — your file never leaves this deviceOn this page
How this tool builds a real .xlsx workbook
A lot of "CSV to Excel" tools online just rename the file, or generate an old, deprecated binary format. This one actually constructs a valid, modern .xlsx workbook from scratch:
- A real ZIP archive — .xlsx is a ZIP file under the hood. This tool writes proper local file headers, a central directory and an end-of-central-directory record, with a correct CRC-32 checksum for every entry — the same structure our XLSX viewer tool reads on the way in.
- The required OOXML XML parts —
[Content_Types].xml, the package relationships,xl/workbook.xmland a worksheet XML part following the SpreadsheetML schema, written directly per the specification. - Type-aware cells — a value is written as a numeric cell only when it round-trips cleanly as a plain number; anything ambiguous (a leading-zero code, a locale-formatted number) stays text, unchanged.
We test this by generating a workbook, then verifying it independently with Python's openpyxl and a real LibreOffice conversion — not just by eyeballing that Excel doesn't complain.
Why convert CSV to XLSX
CSV can't hold multiple sheets, formulas, cell formatting or column widths. If you're about to build any of that on top of a plain CSV export — or a colleague specifically needs an actual .xlsx file rather than plain text — converting first gives you a real starting workbook instead of formatting it manually after opening the CSV in Excel each time.
Edge cases this tool handles
Values that look numeric but shouldn't be treated as numbers
A leading-zero code like "007" or a phone number is kept as text, not silently converted to the number 7.
Fields containing quotes, commas or line breaks
Parsed correctly from the source CSV (RFC 4180 rules) before being written into the workbook, so nothing is corrupted on the way in.
Non-ASCII characters
Written correctly as UTF-8 throughout the XML, so accented characters, non-Latin scripts and symbols come through intact.
Semicolon or tab-delimited CSV
Detected automatically before conversion, same as the site's CSV viewer tool.
Why double-clicking a CSV in Excel changes your data
When you open a .csv straight from File Explorer or Finder, Excel doesn't just display it — it guesses what every value "means" and converts it on the spot. Because a CSV has nowhere to store the original, saving it again bakes the changes in. The usual damage:
- Leading zeros vanish — ZIP code 02134 becomes 2134, product code 00720 becomes 720.
- Long numbers turn into scientific notation — Excel keeps only 15 significant digits, so a 16-digit or longer ID shows as something like 1.23457E+15 and every digit after the 15th is replaced with 0. That loss is permanent once you save.
- Text becomes dates — values such as
3-4,1/2orMARCH1are turned into calendar dates. - Accents break — a UTF-8 CSV without a byte-order mark is read using the Windows code page, so "Zoë" appears as "Zoë".
- Everything lands in column A — a semicolon-separated file opened on a computer set to a US locale isn't split into columns at all.
The fix in every case is the same: import the CSV and tell Excel how to read it, instead of opening it. In Excel for Microsoft 365 on Windows you can also switch off the guessing altogether under File > Options > Data > Automatic Data Conversion, which has separate checkboxes for removing leading zeros, shortening long numbers to scientific notation and turning text into dates.
Convert CSV to XLSX in Excel, Google Sheets, Numbers or Python
Excel for Windows: Data > From Text/CSV
- Open a blank workbook and go to Data > From Text/CSV (in the Get & Transform Data group). Pick your .csv and click Import.
- In the preview window, set File Origin to 65001: Unicode (UTF-8) if accents look wrong, and pick the right Delimiter (Comma, Semicolon, Tab…).
- Set Data Type Detection to Do not detect data types to keep every column exactly as text — or click Transform Data and set only the ID columns to Text in Power Query.
- Click Load, then File > Save As and choose Excel Workbook (*.xlsx).
A shortcut for semicolon files you open often: make the very first line of the CSV read sep=; and Excel for Windows will split on semicolons even when you double-click. Remove that line before feeding the file to other software, which will treat it as data.
Excel for Mac
Use File > Import, choose CSV file, and follow the Text Import Wizard: pick Delimited, set File origin to Unicode (UTF-8), tick your delimiter, and in the last step select the ZIP or ID columns and set their Column data format to Text. Then File > Save As with File Format Excel Workbook (.xlsx).
Google Sheets
File > Import > Upload, pick the file, leave Separator type on Detect automatically and uncheck Convert text to numbers, dates, and formulas if you need leading zeros kept. Then File > Download > Microsoft Excel (.xlsx).
Numbers on Mac and LibreOffice Calc
Numbers opens a CSV directly; export with File > Export To > Excel. LibreOffice Calc shows a Text Import dialog on open where you can set Character set to Unicode (UTF-8), choose separators, and click a column in the preview to set its type to Text; save with File > Save As and file type Excel 2007-365 (.xlsx).
Python (pandas)
python3 -c "import pandas as pd; pd.read_csv('orders.csv', dtype=str).to_excel('orders.xlsx', index=False)" — needs pip install pandas openpyxl. dtype=str writes every cell as text so nothing is reinterpreted; drop it to let pandas store numeric columns as numbers. For a semicolon file add sep=';' to read_csv.
Frequently asked questions
Does converting CSV to XLSX upload my file anywhere?
No. Both the parsing and the .xlsx file construction happen entirely inside your browser using JavaScript — the file's contents never leave your device.
Is the downloaded file a real .xlsx, or just a CSV renamed with an .xlsx extension?
It's a genuine .xlsx workbook — a real ZIP archive containing the required OOXML SpreadsheetML XML parts (workbook.xml, a worksheet, content-type declarations), built from scratch in your browser. Renaming a .csv file to .xlsx does not work; Excel would refuse to open it or show a format-mismatch warning. This tool actually constructs the correct file structure.
Does the converted file keep number formatting, like values with leading zeros?
A value is only written as a numeric Excel cell when it round-trips cleanly as a plain number. Anything ambiguous — like a leading-zero code ("007") or a locale-formatted number ("1.234,56") — is kept as text, exactly as it appeared in the CSV, so your data isn't silently reinterpreted.
Will formulas or formatting be added automatically?
No — the output is a plain data workbook with one sheet, matching what a CSV actually contains. CSV has no concept of formulas or cell formatting, so there's nothing to convert; you get clean data you can then format however you like.
Why does Excel remove the leading zeros from my CSV?
Excel treats anything that looks like a number as a number, and numbers don't have leading zeros. Import the file with Data > From Text/CSV and choose Do not detect data types (or set that column to Text), or turn off the leading-zero option under File > Options > Data > Automatic Data Conversion in Microsoft 365.
Why do long numbers in my CSV turn into 1.23457E+15 in Excel?
Excel stores at most 15 significant digits in a number, so longer values such as tracking numbers or card-style IDs are shown in scientific notation and their extra digits become zeros. Import the column as Text instead of opening the CSV directly, and don't save over the original CSV after it has been opened the wrong way.
How do I open a semicolon-separated CSV in Excel?
Use Data > From Text/CSV and pick Semicolon in the Delimiter list, or add a first line reading sep=; to the file so Excel for Windows splits it correctly on double-click. Semicolons are the norm for CSV exports from countries that use a comma as the decimal separator.
Can I combine several CSV files into one Excel workbook?
This converter makes one sheet per file. In Excel you can import each CSV with Data > From Text/CSV and choose Load To a new worksheet each time, or use Data > Get Data > From File > From Folder to stack CSVs with the same columns into a single table.
Last updated October 1, 2026.