Why a CSV opened in Excel loses data, and a workbook does not
A CSV file has no types and says nothing about its encoding. When Excel opens one it guesses, cell by cell, and if you save the file the guesses are written back. The usual casualties:
- Leading zeros: 00123 becomes 123. That breaks ZIP codes, product codes and phone numbers.
- Long numbers: Excel keeps 15 significant digits. A 16 digit card or tracking number is shown in scientific notation and its last digits are replaced by zeros.
- Dates: values such as 1-2 or 3/4 turn into dates. The problem was big enough that in 2020 the committee that names human genes renamed genes such as SEPT1 and MARCH1, because spreadsheets kept turning them into dates.
- Delimiter and accents: Excel splits a CSV at the list separator of your regional settings, which is a semicolon in many European countries, and it often reads UTF-8 text as Windows-1252 unless the file starts with a byte order mark.
An .xlsx workbook stores every cell with its type, so none of this guessing happens when it is opened. This converter does the typing once, up front, and in the open: the preview shows the result before you download it.
How each cell is typed
An Excel cell is text, a number, TRUE or FALSE, or empty. The converter decides which for a whole column at a time. A column becomes numbers only when every filled cell in it is a clean number: digits with an optional minus sign and decimal point, no leading zeros and at most 15 digits. One stray word keeps the whole column as text, so a column never mixes numbers and words.
42,-3.5and3.50become the numbers 42, -3.5 and 3.5.00123and02134stay text and keep their zeros.1234567890123456(16 digits) stays text.1,234.50,$12and25%stay text, because thousands separators, currency signs and percent signs mean different things in different countries. Convert them in Excel if you need numbers.- A column that holds only
trueandfalsebecomes TRUE and FALSE. - Empty cells stay empty. The exact words
nullandNULLalso become empty cells when every type is detected, which is the default, and a note says how many. Choose Detect numbers or Keep as text to keep the word. =SUM(A1:A9),+1and@nameare text, not formulas.
Excel may mark cells that hold text which looks like a number, such as 00123, with a small green triangle. That is Excel pointing out the text, and it is what keeps your zeros. Pick Keep as text under Cell values if you want no number columns at all.
What is in the workbook, and what is not
- One sheet, called Sheet1 unless you choose a name.
- A bold header row, frozen so it stays visible when you scroll (when the header option is on).
- Column widths set from the longest value in the first 200 rows, at least 8 and at most 60 characters wide.
- Numbers as numbers, TRUE and FALSE as booleans, everything else as text.
- No number formats, colors, filters, formulas or extra sheets. Add those in Excel.
Dates deserve a note. A date in a CSV is only text, so it arrives as text such as 2024-01-15, and Excel does not sort or calculate with it as a date. To convert a column in Excel, select it, open Data, choose Text to Columns, press Next twice and pick Date with the order your data uses. For dates written like 2024-01-15 a formula such as =DATEVALUE(A2) also works.
Large files and limits
An Excel sheet holds at most 1,048,576 rows including the header, 16,384 columns and 32,767 characters in one cell. A CSV with more rows or columns is refused with a message that says how many it needs, and a longer cell is cut at the limit with a note.
Speed depends on your device. In our tests on a laptop, 50,000 rows by 10 columns (4 MB of CSV) became a 2.9 MB workbook in about 1.2 seconds, and 200,000 rows took about 5 seconds. The largest sheet that fits, 1,048,575 rows by 3 columns, took about 8 seconds and roughly 1 GB of memory. Phones and older computers will manage less, and the page does not respond while it works.