DataShift

Convert CSV to Excel Online

Stop letting Excel mangle your CSV data. Convert to .xlsx and preserve leading zeros, dates, phone numbers, and special characters exactly as they are.

CSV → Excel

Free CSV to Excel converter that preserves leading zeros, date formats, and Unicode characters that Excel normally destroys. Download a proper .xlsx file without opening the file in Excel directly.

100% local — no uploads
Input · CSV

Output will appear here

How to use the CSV → Excel

  1. Paste or upload your CSV data

    Paste text directly into the input box, drag and drop a file onto it, or click "Upload file" to browse. Conversion starts instantly on paste — no button click required.

  2. Configure options (optional)

    Open the Options panel to customise delimiter, headers, nested-object flattening, and more. Use the Field Selector to pick exactly which columns appear in the output.

  3. Copy or download your EXCEL

    Click Copy to grab the result, or Download to save the file. Everything runs locally in your browser — no data ever leaves your device.

Frequently Asked Questions

Is my data safe?
Yes. Every conversion runs entirely inside your browser. No data is ever transmitted to a server. The tool works offline once loaded.
What is the maximum file size?
There is no hard limit. Files under 1 MB convert instantly. Files 1–10 MB show a progress indicator. Files over 10 MB prompt a warning and run in a background thread to keep the browser responsive.
Why does my CSV fail to parse?
Common causes are trailing commas, single-quoted strings, unquoted keys, or missing closing brackets. The converter auto-repairs many of these and tells you exactly what it changed.
Can I convert multiple files at once?
The tool handles one file at a time. For bulk conversion, consider the csvjson CLI or API.

Related Converters

How it works

Step 1

Why Excel destroys your CSV data when you open it directly

When you double-click a CSV in Windows, Excel opens it with "General" formatting — which means Excel guesses what type each cell is. A barcode like `0049000028903` becomes `49000028903` (leading zero gone). A date in your system's locale format might get shuffled. A product SKU like `1E10` gets interpreted as scientific notation. A phone number `+1 (555) 000-1234` or a currency code like `EUR` might trigger auto-correction. Excel is trying to help and failing badly.

Step 2

This converter writes cells as the right type from the start

Instead of letting Excel guess, this tool explicitly sets the cell type for every value before writing the .xlsx file. Columns that look like they contain identifiers (barcodes, SKUs, phone numbers, postal codes) are written as text, preserving their exact string value. Columns that are genuinely numeric are written as numbers. Dates in ISO format are written as Excel date values with a format that displays correctly.

Step 3

Unicode and special characters survive

A CSV encoded as UTF-8 opened directly in Excel will often show mojibake — garbled characters where accented letters, Chinese characters, or emoji used to be. The .xlsx format is always UTF-8/Unicode internally, so characters like é, ñ, €, or 日本語 come through intact.

Example

Product inventory export with barcodes and dates

Input
sku,product_name,barcode,price,stock,expiry_date
A001,Organic Almonds 500g,0049000028903,12.99,240,2026-09-01
A002,Trail Mix 250g,0049000028904,8.49,580,2026-06-15
B001,Protein Bar (Chocolate),5000159484695,3.29,1200,2025-12-31
Output
Excel .xlsx with:
• sku       → text  (preserves leading "A"/"B" prefix)
• barcode   → text  (preserves leading zeros: 0049000028903)
• price     → number (right-aligned, usable in SUM/AVERAGE)
• stock     → number
• expiry_date → date (formatted as DD/MM/YYYY, sortable by date)

If you opened this CSV directly in Excel, the barcode column would lose its leading zeros immediately. Saving as .xlsx via this converter writes the barcode as a text cell, so 0049000028903 stays 0049000028903.

Edge cases, handled

Leading zeros

Columns where most values start with zeros (barcodes, ZIP codes, account numbers) are automatically written as text cells in Excel. No more 00123 becoming 123.

Large numbers

Excel silently rounds numbers larger than 15 significant digits. If your CSV contains 18-digit IDs or account numbers, they're written as text to prevent data loss — a warning appears in the output.

Semicolon/tab delimited files

The delimiter is auto-detected. European CSV exports that use semicolons instead of commas (because of locale-specific decimal separators) are handled correctly without any configuration.

Frequently asked questions

Why does Excel change my dates when I open a CSV?

Excel applies your operating system's regional date format to anything that looks like a date. If your CSV has 2024-01-15 (ISO format) and your system is set to US locale, Excel might display it as 1/15/2024 or even misparse it entirely. By converting to .xlsx first, you control exactly how the date is stored and formatted — it won't change based on which computer opens the file.

My CSV has a column of ZIP codes that are losing their leading zeros. How does this fix that?

The converter detects columns where values consistently start with zero (or have a fixed length that suggests they're identifiers rather than numbers) and writes them as text cells in the .xlsx file. This is equivalent to pre-formatting the column as 'Text' in Excel before pasting — which is the only reliable way to preserve leading zeros.

My CSV uses semicolons because I exported from a European system. Will this work?

Yes. The delimiter is auto-detected. Semicolons, tabs, and pipes are all recognized automatically. If detection fails for an unusual delimiter, you can set it manually in the options.

Can I set the sheet name in the Excel file?

Yes. The default sheet name is "Sheet1". Change it in the options before downloading.

What's the maximum file size I can convert?

There's no server-side limit — the conversion runs in your browser. The practical limit is your browser's RAM. A 100 MB CSV file typically processes in a few seconds on a modern machine. Excel itself has a 1,048,576 row limit; if your CSV exceeds that, only the first million rows are included.