CSV to Excel
This free CSV to Excel converter turns a CSV file into a real .xlsx spreadsheet entirely in your browser. Paste your data or upload a .csv file, check the preview, and download the workbook. Nothing leaves your device, and there is no sign-up.
CSV looks simple, but it has dialects. The same file can be separated by commas, semicolons, tabs or pipes; it can arrive as UTF-8, UTF-16 or a legacy code page; and its first row may or may not be a header. Get any one of those three wrong and every column shifts. This page shows you all three explicitly, and tells you how many columns the first row resolved to before you download.
How to use this CSV to Excel converter
- Paste your CSV into the box, or upload a
.csv,.tsvor.txtfile. - Leave Delimiter on Auto-detect and the tool reports which separator it found, or pick one yourself — including a custom character such as
^or~. - Pick the Encoding if your file is not UTF-8. Auto detects a byte-order mark; choose GBK, Latin-1, Windows-1252, Shift_JIS and others for older exports.
- Keep First row is header on when your file has column names; turn it off and the tool generates
Column 1,Column 2… and keeps every line as data. - Optionally set a Sheet name; it defaults to
Sheet1. - Click Convert to Excel, check the preview, then Download .xlsx.
What this tool supports
Delimiters
Comma, semicolon, tab and pipe are detected automatically by counting separators outside quoted text on the first lines of the file — the delimiter that appears the same number of times on every line wins, which is why a stray comma inside a company name does not confuse it. Any single custom character works too. You always see which delimiter was used, and you can override it.
Encodings
UTF-8, UTF-16 LE and UTF-16 BE are recognised from the byte-order mark. If your export opens with broken characters, switch the encoding to ISO-8859-1, Windows-1252, GBK, Big5, Shift_JIS, EUC-KR or KOI8-R. The tool counts undecodable characters and warns you when the chosen encoding does not match the file, instead of silently handing you garbage.
Headers
With First row is header on, the first line becomes the column names; blank names become Column N and duplicates are made unique. With it off, every line is treated as data and the columns are named automatically — useful for headerless exports and log files.
Quoted fields
Fields wrapped in double quotes are handled as one value: commas, semicolons and even line breaks inside quotes stay inside the cell. A doubled quote "" is read as a literal ". Both Windows CRLF and Unix LF line endings are accepted.
Values
- Numbers become real numbers, so they sort and calculate correctly.
- Leading-zero strings —
007,01234— stay text, so zip codes, phone numbers and fixed-width IDs keep their zeros. - Digit strings longer than 15 characters stay text, so long identifiers are not rounded by floating-point precision.
- Values starting with
=or@are kept as text, so imported data can never be evaluated as a spreadsheet formula. - Dates are not guessed. CSV dates are ambiguous between regional formats, so they stay exactly as written.
- Switch Values to All as text when you want every cell stored verbatim.
Privacy
Uploaded files are read with the browser's own file reader and never leave your device. There is no upload endpoint on this page, no account, and no stored history. You can disconnect from the internet after the page loads and it will still work.
Using your file in spreadsheet software
Open the downloaded .xlsx by double-clicking it, or from inside Excel, Google Sheets, Numbers, or LibreOffice via File → Open. The first row holds the column names and each following row is one record. Because it is a real spreadsheet file, you can sort, filter, chart, and re-save it like any other workbook — unlike opening a .csv directly, which leaves every column as text and drops the number formats.
Spreadsheet apps cap the number of rows per sheet. If your data exceeds that cap, the limit is the spreadsheet app's, not this converter's; the converter itself imposes no row limit and works in your browser's memory.
FAQ
Is this CSV to Excel converter free?
Yes. It is free with no login and no usage limit, and all processing stays in your browser. For the other directions see the CSV to JSON converter, the JSON to Excel converter and the JSON to CSV converter.
Do I have to upload my CSV file?
No. The file is read locally with the browser's file API and converted in the page. Nothing is uploaded, logged or stored, and you can go offline after the page loads.
Which delimiters does it detect?
Comma, semicolon, tab and pipe, chosen by counting separators outside quotes on the first lines. You can also set any custom character. The result is shown next to the preview so you can confirm it before downloading.
Why is all my data in one column?
That means the delimiter setting does not match the file — most often a semicolon-separated or tab-separated export being read as comma-separated. Look at the detection note under the preview, then switch the delimiter to the right one. If the file really has one column, the note says so too.
My text looks like broken characters. What do I do?
That is an encoding mismatch. Files exported from older desktop software are often not UTF-8. Try ISO-8859-1 or Windows-1252 for Western European text, GBK or Big5 for Chinese, Shift_JIS for Japanese, EUC-KR for Korean. The tool warns you when characters cannot be decoded.
Does it keep leading zeros and long ID numbers?
Yes. Values such as 007 and 01234 stay text so zip codes and fixed-width IDs keep their zeros, and digit strings longer than 15 characters stay text so they are not silently rounded.
Can I convert CSV to XLSX or to XLS?
Both. The default output is .xlsx, the current Excel format; switch Format to .xls for the legacy Excel 97-2003 format when something downstream requires it. The downloaded file name carries a timestamp, for example csv-to-excel-20260917-183000.xlsx, so repeated conversions never overwrite each other. Note that the older .xls format holds far fewer rows and columns per sheet than .xlsx — the tool tells you when your data is too large for it.
Can I set the sheet name?
Yes. Type it in the Sheet name field before converting; it defaults to Sheet1. Excel limits sheet names to 31 characters and forbids [ ] : * ? / \, so those characters are removed automatically.
Is there a file size limit?
There is no imposed limit — conversion runs in your browser's memory, so very large files depend on your device. The row ceiling you may hit is the spreadsheet app's own, not this converter's.
Can I convert Excel or CSV back to JSON?
Yes — use the CSV to JSON converter for CSV, and the JSON to CSV converter for the other direction. This page only goes from CSV to Excel.