Home › File & PDF Tools › CSV to Excel Converter
CSV to Excel Converter
Our free CSV to Excel converter turns a plain-text CSV file into a real .xlsx spreadsheet right in your browser. Paste your CSV text or upload a .csv file, pick the delimiter and the sheet name, and download a genuine Excel workbook — no upload to any server, no sign-up, and no watermark. The spreadsheet opens in Excel, Google Sheets, or LibreOffice, ready to sort, filter, and total.
Or upload a file instead — the file fills this box for you.
Your file stays on your device. It is parsed in your browser and never uploaded anywhere.
Comma suits most exports; semicolon helps where commas are decimal separators.
Up to 31 characters — the name of the one sheet in your workbook.
Leave blank to name it after your uploaded file, or "spreadsheet" for pasted text.
The header row becomes the column names in your spreadsheet.
How it works
A CSV file is plain text: each line is a row, and a delimiter — usually a comma — separates the columns. It is the standard hand-off format when data moves between programs, because almost every app can export one and read one. But plain text cannot do what a spreadsheet does: it cannot sort a column, filter a list, or add up numbers with a formula. That is the gap this tool closes — it reads your CSV and writes it out as a genuine .xlsx workbook, with your rows and columns as real spreadsheet cells.
When you paste text or upload a .csv file, the tool first checks that the input is not empty and that the file really ends in .csv. Then it parses the text with a proper quoted-field parser. A field wrapped in double quotes may contain commas without splitting the column, so "Doe, Jane" stays one cell instead of becoming two. A doubled double-quote inside a quoted field becomes a single quote mark, and quoted fields may even contain line breaks. If a quoted field is never closed, the tool stops and shows a friendly message telling you to check the quotes, instead of producing a broken spreadsheet.
You control how the workbook is built. The delimiter menu offers comma, semicolon, tab, or pipe, so files from different tools all convert cleanly — if the preview shows your columns jumbled into one, you have the wrong delimiter picked, so switch it and preview again. The sheet name is yours to choose, up to 31 characters, which is the longest name Excel allows; the default is Sheet1. The first-row menu says whether the first row holds column names or is data like the rest, and the number detection box decides whether values such as 12 and 4.50 are stored as real numbers — which lets you total and average them — or kept as text. Trimming removes stray spaces, and skipping empty rows keeps blank lines from becoming blank rows in your sheet.
The conversion itself builds the workbook with SheetJS, a spreadsheet library that runs entirely in your browser: your rows become a sheet of cells, the sheet is added to a workbook under your chosen name, and the workbook is written out as a real .xlsx file. Numbers stay numbers when detection is on, text stays text, and empty cells stay empty. Nothing is uploaded at any point, so your lists, prices, and contact sheets never leave your device. The download is named after your uploaded file with the ending changed to .xlsx, or the name you typed, and the page reports the row and column counts, the sheet name, and the file size.
The Preview button shows the parsed table before you download anything, with the header row and the first 20 data rows, so you can check the shape of the data while it is still easy to fix. This tool is the reverse of the Excel to CSV converter on this site: that one turns a spreadsheet into plain text, while this one turns plain text into a spreadsheet. If your CSV came from a spreadsheet export and you want it back as a workbook with the same columns, this is the page for it.
Worked example
Suppose you run a small online shop and have this month's orders as a CSV export:
Name,City,Orders
Alice,Austin,12
Bob,Chicago,8
Carol,Denver,15
Step 1: paste the four lines into the box, with the delimiter on Comma, the sheet name on "Orders", the first row set to "First row is the header", and number detection switched on.
Step 2: click "Preview table". The preview shows the header row — Name, City, Orders — followed by the three customers: Alice from Austin on 12 orders, Bob from Chicago on 8, and Carol from Denver on 15. The tool reports 4 rows and 3 columns.
Step 3: click "Convert to Excel". The tool builds a real .xlsx workbook with one sheet called "Orders", holding the same 4 rows and 3 columns, and saves it as spreadsheet.xlsx. Open it in Excel and the Orders column holds the real numbers 12, 8, and 15 — type =SUM(C2:C4) in the next empty cell and the answer is 35.
If the same data had a customer whose name held a comma, such as "Doe, Jane", the quoting rule keeps it as one cell: "Doe, Jane",Chicago,12 still parses to three columns, not four. And if your export used semicolons instead of commas, pick Semicolon and convert again — the same four lines come out as the same workbook.
FAQ
Is my CSV file uploaded to a server?
No. Your CSV is parsed and written into a spreadsheet entirely in your browser with a local copy of the SheetJS library. The file never leaves your device, so private lists, prices, and contact sheets stay private.
What does the .xlsx file contain?
A real Excel workbook with one sheet, named as you choose, holding your CSV rows and columns as spreadsheet cells. Numbers stay numbers and text stays text, so you can sort, filter, and add formulas the moment you open it in Excel, Google Sheets, or LibreOffice.
Does the converter handle commas inside quoted fields?
Yes. Fields wrapped in double quotes may contain commas, line breaks, and other characters without splitting the column. A doubled double-quote inside a quoted field becomes a single double-quote, exactly as spreadsheet apps handle it.
What delimiters can I use?
You can choose comma, semicolon, tab, or pipe as the delimiter. Comma is the default and suits most files. Semicolon is common in exports where commas are used as decimal separators, tab suits data copied from tables, and pipe suits text that already contains commas and semicolons.
What if my CSV has an error?
If a quoted field is never closed, or the input is empty, the tool shows a friendly message explaining the problem instead of producing a broken spreadsheet. Fix the quoted field or choose the right delimiter and try again.