Purplelink
← All tools

Free web tool

CSV to XLSX

Convert CSV and TSV files to Excel .xlsx. Leading zeros, long ID numbers and values that look like dates stay exactly as they are in the CSV, which is what usually goes wrong when Excel opens a CSV itself. The workbook is built on your device. Nothing is uploaded.

Options

Bytes of your files sent anywhere: 0

Files are read and converted in this tab, in a background worker. The only requests the page makes are for its own scripts. Your files are never sent anywhere.

How it works

When Excel opens a CSV directly, it guesses what each value is. It drops the leading zero from ZIP codes and IDs such as 02134, shows a 16-digit account number in scientific notation and rounds its last digits, and turns values like 3-4 or MARCH1 into dates. Researchers know the last one from gene names.

This page builds the .xlsx itself and only stores a value as a number when it is written as a plain number that Excel can hold exactly. Everything else is stored as text, as written. Formulas are never created, so a value starting with an equals sign shows as text.

It reads the text as UTF-8, or as Windows-1252 if the file is not valid UTF-8 (the usual export from older Excel on Windows). It finds the separator by looking for the character that splits the first lines into the same number of columns. The row says what it used, and both can be set by hand.

The workbook is assembled with JSZip, served from this site, in a background worker in this tab.

How to convert CSV to XLSX

  1. Add the CSV. Drop the file on the box, or click it to choose it. Several files give one workbook each.
  2. Check the row. The row shows the number of rows and columns, the text encoding and the separator it used.
  3. Fix the reading if needed. If the columns look wrong, set the separator or the encoding, then add the file again.
  4. Download. Download the .xlsx from its row, or use Download all as .zip.

Limits

Questions

Are my files uploaded?
No. The page reads each file with your browser and converts it in a background worker in this tab. There is no server step. The meter under the drop zone counts the bytes the page and its worker send while they work, so you can check this yourself. The only things the page downloads are its own scripts and the zip library.
Why do my leading zeros survive here and not in Excel?
Excel reads 02134 as the number 2134 when it opens a CSV. This page stores any value with a leading zero as text, so Excel shows 02134. The same goes for values with a leading plus sign, such as phone numbers.
Which values become numbers?
Plain numbers such as 42, -3.5, 0.007 or 1.5e-3, up to 15 significant digits and under 12 digits for whole numbers. A number written as 1.10 is stored as 1.1, as Excel would show it. Tick Keep every value as text to store everything as text.
My columns are all in column A. What went wrong?
The separator was read wrongly, which can happen with very short files. Set the separator by hand, for example Semicolon for files exported from European versions of Excel, and add the file again.
The accents look wrong. How do I fix it?
The file is in a different text encoding than the one detected. Set Text encoding to the one the file was saved in, often Windows-1252 for older Windows exports, and add the file again.
Is it safe to open the result?
Yes. Every cell is stored as a value, and no formula is written, so a CSV that contains text like =HYPERLINK(...) cannot run anything when the workbook opens.
Is it free?
Yes. There is no account, no watermark and no limit beyond the sizes above.

If this saves you time, you can leave a tip. It helps keep these tools free and online.