How to open a CSV without losing data
- Choose the CSV. The encoding and delimiter are detected automatically.
- Review the columns at risk. For each one you see how many values Excel would change and real examples from your file, with what Excel would show instead.
- Pick what stays text. Risky columns are ticked for you. Tick others, or force every column to text.
- Download the .xlsx and open it. Protected values are stored as text cells, so Excel cannot convert them. The other columns keep their numbers so you can still sum them.
Private by design: no upload
Lab results, customer IDs and account numbers are exactly the data you should not upload to a random website. Here the file is read and written in your browser, in a background thread; nothing leaves your device. You can check it in the Network tab of your browser's developer tools.
What Excel changes when it opens a CSV
A CSV has no column types. When you double-click one, Excel guesses the type of every value and converts it on the spot, before you can see the original. These are the conversions this tool looks for:
- Leading zerosPostcodes (02134), employee and product IDs (000123), phone numbers (0612345678) lose their zeros and become plain numbers.
- More than 15 digitsExcel keeps 15 significant digits. Card numbers, IBAN-style account numbers and long IDs come back with their last digits replaced by zeros.
- 12 to 15 digitsBarcodes (EAN-13) and long references are displayed as 8.41235E+12. If you save as CSV again, that rounded text is what gets written.
- Things that look like datesGene symbols such as MARCH1, SEPT2 or DEC1 and codes such as 1-2, 3/4 or 12-2010 become dates.
- Scientific notationPart numbers such as 1E5 or 12E3 become 100000 and 12000.
- FormulasValues starting with =, +, - or @ are treated as formulas: “+44 20 7946 0958” loses its plus sign or becomes an error, and “=…” is calculated.
The gene name problem
The best-documented damage comes from genetics. Excel silently turns gene symbols such as MARCH1 or SEPT2 into dates, and those files end up in published papers. An analysis of more than 11,000 articles from 2014 to 2020 found errors of this kind in 31% of the supplementary files that contained gene lists in Excel (Revista Pesquisa FAPESP, Retraction Watch). The HUGO Gene Nomenclature Committee ended up renaming about 27 genes, for example MARCH1 to MARCHF1 and SEPT1 to SEPTIN1, so that spreadsheets would stop mangling them. Older datasets still use the old names, and the conversion also depends on the language of Excel.
Doesn't Excel have a setting for this now?
In 2023 Microsoft added Automatic data conversion options (File › Options › Data) that let you switch off removing leading zeros, keeping only 15 digits, converting to scientific notation and converting to dates. They help, with limits: Microsoft lists them for Microsoft 365 and Excel 2024 (on Mac from version 16.77), they do not apply to Power Query imports or while macros run, and they only change the computer where you set them (Microsoft Support). A colleague with an older Excel, LibreOffice or a different default still sees the damage. An .xlsx with text cells looks the same for everyone.
How to do it by hand in Excel
- Data › From Text/CSV, then Transform Data, select the columns and set their type to Text before loading.
- With the legacy Text Import Wizard, select each risky column in step 3 and choose “Text” as the column data format.
- Formatting the cells as Text or with a custom format after opening does not help: as Microsoft notes, zeros that were already removed are not restored.
This tool does those steps for you and shows which columns needed them. For a general conversion with numbers and dates, use CSV to Excel, which protects the same columns by default. If accents look like “é”, fix the CSV encoding first.
Known limitations
- Detection is based on patterns. It covers English and Spanish month names; other languages may convert codes it does not flag. Force a column to text if in doubt.
- Full dates such as 2024-03-15 or 15/03/2024 are not flagged, because they are usually meant to be dates.
- Columns that are not protected are converted to numbers when the whole value is a plain number; dates are left as text.
- If you later save the .xlsx as CSV and open that CSV by double-clicking, Excel will convert the values again.
- The file is processed in memory; very large files can exhaust memory on phones.