Skip to Content
RowSlice

Free Online CSV to Excel Converter

Convert a CSV to Excel Without Changing Your Values

Opening a CSV in Excel and saving it as .xlsx writes Excel's guesses into the file: ZIP codes lose their leading zeros, 16-digit references come back rounded, a part code like SEP-1 becomes a date. This builds the workbook straight from the CSV text instead, so none of that happens.

  • Multi-GB files
  • Never uploaded
  • Free, no sign-up

In short: RowSlice's CSV to Excel converter writes an .xlsx workbook directly from the text of your CSV, in your browser, without opening it in Excel and without the file being uploaded. Nothing ever asks Excel to interpret a value, so the values that normally change on the way in do not: 00742 stays 00742, a 19-digit account number keeps all 19 digits, and SEP-1 stays a part code instead of becoming the first of September. Every cell is written as text by default; auto mode turns the values that can survive it into real numbers and leaves the rest alone. Rows past Excel's limit of 1,048,576 continue on further sheets, and the two things that cannot fit at all — columns past 16,384 and cell text past 32,767 characters — are counted on the results screen rather than disappearing quietly.

How to Convert a CSV to Excel Without Losing Data

  1. Choose or drag in the CSV file. It is read from your own disk rather than uploaded, so even a large file is ready in a second, and the first rows appear as a preview with the delimiter and encoding that were detected.
  2. Look at the preview. If accented letters are already wrong there, they are wrong in the CSV itself and the workbook will carry the same damage, so convert the file to UTF-8 first.
  3. Leave Numbers on text unless you need to calculate on the result. Text is the setting that keeps every value exactly as the file has it.
  4. Press Convert to Excel and download yourfile.xlsx. Double-click it and it opens; there is no import dialog to walk through, because the type of every cell was already decided.

What Excel Changes When You Open a CSV and Save It

A CSV is plain text and carries no column types, so when Excel opens one it decides what every value means, cell by cell, without asking. Microsoft names four of those conversions and publishes them as switches you can turn off. Save the result as .xlsx and each one is written permanently into the workbook.

In the CSVOpened in Excel and savedRowSlice, text modeRowSlice, auto mode
00742 — a ZIP code74200742, as text00742, as text
4532118899001234 — a 16-digit reference4.53212E+15, stored as 4532118899001230All 16 digits, as textAll 16 digits, as text
SEP-1 — a part code1-Sep, a dateSEP-1, as textSEP-1, as text
123E5 — a batch number1.23E+07123E5, as text123E5, as text
0.50 — a price0.50.50, as text0.50, as text
1250 — a quantity12501250, as text1250, as a number

Two of those changes cannot be undone afterwards. Once a 16-digit number has been cut to 15 significant digits the missing digit is gone, and setting the cell format to Text later gives you 4532118899001230, not the number you started with; formatting changes how a value looks, it cannot bring back one Excel has already replaced. The two we hear about most have guides of their own: stop Excel removing leading zeros and stop Excel turning long numbers into scientific notation.

This tool sits before all of that. It reads the CSV as text and writes the workbook itself, so there is no moment at which Excel gets to guess. What you see in the cell is what was in the file.

Text Mode or Auto Mode: Which to Choose

Text is the default and the reason the tool exists. Every cell is written as a string, so Excel reinterprets nothing at all: leading zeros, long digit strings, codes that look like dates, values with spaces at either end, all arrive as the characters your file holds.

Auto is for the file you actually need to do arithmetic on. It writes a value as a real number only when writing it as a number and reading it back would give exactly the same text — so 1250 and -3.75 become numbers, while 00742 (which would come back as 742) and a 19-digit account number (which would come back rounded to 15 significant digits) stay text. That is not a limitation of auto mode, it is its point: those two conversions are the data loss this tool exists to prevent, so neither mode will perform them.

The test runs on each value on its own, not on the column it sits in, so an order export can come out with numeric quantities and prices next to a customer reference that is still text. Dates stay text in both modes, because a CSV does not record whether 03/04/2026 is April or March. If the file is heading for an API or a script rather than a spreadsheet, the same values can be written out as JSON instead, where auto mode applies the same value-by-value test.

Files with More Than 1,048,576 Rows

A worksheet holds 1,048,576 rows, and a CSV with more than that cannot become one sheet in any program. Rather than stopping, the converter continues onto a second sheet in the same workbook, and a third, and so on. When the first row of your file is a header it is repeated at the top of each sheet, which leaves 1,048,575 rows of data on each: a file of 3,000,000 data rows comes out as three sheets.

It is worth saying plainly that a file that size is usually the wrong thing to put in a spreadsheet. Excel will open the workbook, but slowly, and scrolling three sheets is not how anyone finds an answer. If you want to know what is in the file — how many rows, which columns, what range the values cover — the CSV analyzer reports it without writing anything, and the viewer shows the rows themselves, 100 at a time, without converting anything at all. If you want to work on part of it, the CSV splitter cuts the file into parts that fit a sheet, with the header repeated at the top of every part, and you convert the part you need.

What the Workbook Holds, and Where Excel's Limits Cut In

What comes out is one workbook holding your values. The only formatting it adds is to the header row: when the first row of your file is a header, it is written in bold and the top row of every sheet is frozen, so the column names stay in view as you scroll. Untick First row is a header and even that is gone. Beyond it there are no formulas, no colours or borders, no column widths, no charts and no pivot tables — a CSV contains none of those, so there is nothing to carry across and nothing invented. It takes one CSV file at a time and writes one .xlsx; it does not read Excel files, and it does not write the older binary .xls. When the data arrived as JSON rather than as a CSV, turn it into a CSV first and convert that.

Three hard limits belong to Excel rather than to this converter — all three are in Microsoft's published Excel specifications and limits — and each is reported instead of passed over:

Excel's limitValueWhat happens at it
Rows on one worksheet1,048,576The rest continue on another sheet, with the header repeated at the top
Columns on one worksheet16,384Columns past the limit are left out, and how many were left out is on the results screen
Characters in one cell32,767The value is cut at that length, and how many cells were cut is on the results screen

Anything that arrives wrong in the CSV leaves wrong in the workbook. If the file is in the wrong encoding, the mangled characters are copied faithfully; if a row has more values than the header has names, that is what the sheet shows. Checking the CSV first finds both, and the UTF-8 converter fixes the encoding and the delimiter before you convert.

Why the Numbers Come Out as Text

This is the tradeoff, and it is a real one. A cell kept as text will not be added up: SUM skips it, an average over the column ignores it, and Excel puts a green triangle in the corner with the note Number stored as text. That warning is the tool working as intended — the cell is text because keeping it as text is the only way to be certain the value survived — but it is still a column you cannot total.

Auto mode exists for exactly that. Convert the file again with Numbers set to auto and the values that can be numbers safely become numbers, while the ones that cannot stay as they are. You are not choosing between a workbook that is correct and a workbook that calculates; you are choosing how much of it does both.

Converting a text column to numbers inside Excel afterwards is the other route, and it is worth knowing what it costs: the conversion that makes 1250 add up is the same conversion that makes 00742 into 742. Do it only to the columns you will calculate on.

If You Would Rather Import It in Excel Yourself

Excel can do this safely on its own, through Data › From Text/CSV rather than by double-clicking the file: turning automatic data type detection off there makes every column Text, which is the same result as text mode here. Our guide to importing a CSV into Excel by hand walks through that route step by step, and through the same job in Google Sheets and LibreOffice Calc. It is the one to follow when you want to choose the type of each column by hand, or want real dates in the workbook.

Use this tool when you want the safe result without the dialog, when the same export has to be converted every week, or when the CSV is larger than what you want to put in front of Excel at all.

Last updated .

FAQ

Frequently Asked Questions

Will a ZIP code like 00742 still have its zeros?

Yes, in both modes. Every value goes into the workbook as the text your CSV holds, so 00742 arrives as 00742. Auto mode does not change that: a value whose leading zero would be lost is kept as text on purpose, because turning it into the number 742 is the loss this tool exists to prevent. The same rule protects anything longer than 15 significant digits. Stop Excel removing leading zeros from CSV files covers the four ways to keep them when you do go through Excel.

Why are my numbers stored as text, and how do I add them up?

Because text is the only way to guarantee a value arrives unchanged: the moment a cell holds a number, Excel’s leading-zero and 15-significant-digit rules apply to it. The cost is real — a text cell is not counted by SUM, and Excel marks it with a green triangle and the note Number stored as text. If you need to calculate on the result, convert the file again with Numbers set to auto, which writes the values that survive the round trip as real numbers and leaves the identifiers as text. Converting a text column inside Excel afterwards works too, and it strips the leading zeros while it does it.

What does auto mode convert, and what does it leave alone?

It writes a value as a number only when writing it as a number and reading it back would give exactly the same text. 1250 and -3.75 come back unchanged, so they become numbers. 00742 would come back as 742, a 19-digit account number would come back rounded to 15 significant digits, and 0.50 would come back as 0.5, so all three stay text. The decision is made value by value rather than column by column, so a file holding both quantities and ZIP codes gets numbers in one column and text in the other.

My dates arrive as text. Can Excel still use them?

Dates are written as text in both modes. A date in Excel is a number with a format on it, and nothing in a CSV says whether 03/04/2026 means the third of April or the fourth of March — guessing is exactly what this tool is built not to do. As text they sort alphabetically, which is the right order only for dates written as 2026-03-18. To turn a column into real dates, select it in Excel and use Data › Text to Columns: its last step asks which of DMY, MDY and YMD the values use, so you answer the question the file cannot.

What happens to a CSV with more than 1,048,576 rows?

It carries on to another sheet in the same workbook. A worksheet holds 1,048,576 rows, and when the first row of your file is a header it is repeated at the top of every sheet, leaving 1,048,575 rows of data on each. A file of 3,000,000 data rows comes out as three sheets. Whether you want that is a separate question: Excel will open such a workbook, slowly, and it is awkward to work in. Splitting the CSV into separate files, or measuring it without opening it at all, is usually the better move.

What about very wide files, or a value thousands of characters long?

A worksheet holds 16,384 columns and a single cell holds 32,767 characters. Both are Excel’s limits, not this tool’s, and neither is passed over quietly. Columns past 16,384 are left out of the workbook and the number left out is on the results screen; a value longer than 32,767 characters is cut at that point and the number of cells cut is there too. If you do not know how wide your file is, the CSV analyzer counts the columns without opening the file in anything.

Can I put several CSV files into one workbook, one sheet each?

No. It converts one CSV file at a time, and the extra sheets it writes exist only for a file longer than a single sheet can hold. For one sheet per file, follow combining CSV files into one Excel workbook, which covers doing it by hand, with Power Query and with a tested script. To get every file onto one sheet instead, merge the CSVs into one file and convert that.

Can it open an .xlsx, or save in the old .xls format?

No to both. It reads plain text — .csv, .tsv, .txt and .tab — and writes .xlsx, the workbook format Excel has used since 2007. It cannot read a workbook, so this is a one-way trip. Going the other way means saving the sheet out of Excel as CSV, and CSV UTF-8 vs CSV in Excel explains which of Excel’s four CSV formats to pick. The older binary .xls is not written at all.

Is there a size limit, and is my file uploaded?

Nothing is uploaded. The conversion runs in your browser, on your own computer, and works offline once the page has loaded. The CSV is read a few megabytes at a time, so its size is not what limits the job — free disk space is. The sheet is written out as XML before it is packed into the .xlsx, and XML that wraps a tag around every cell is a good deal bulkier than the CSV it came from, so allow for noticeably more free space than the size of your file, within the storage your browser gives one site (about 10 GB in Firefox). Tested in current Chrome, Edge and Firefox on Windows; Safari and macOS are untested.

Guides

More Tools

More CSV Tools

CSV Analyzer

Count the rows, list the columns and profile the values in a CSV too big to open.

CSV Viewer

Page through and search a CSV that is far too large for Excel, without uploading it.

Compare Two CSV Files

See what was added, removed and changed between two exports, matched on an ID column.

Take a Sample from a CSV

Pull the first rows, every Nth row or a random slice out of a huge file for testing.

Sample CSV File Generator

Download realistic test CSV files from 10 rows up to 20 GB, with messy values on request.

Split CSV into Multiple Files

Cut a CSV that Excel refuses to open into multiple files by rows, size or number of parts.

Split CSV by Column Value

One file for every store, region, client or status — straight from a huge export.

Filter CSV Rows

Keep only the rows you need — by value, text match or number range — from a file of any size.

Merge CSV Files

Combine multiple CSV files into one, lining up columns by name, even when the result is too big for Excel.

Remove Duplicates from CSV

Delete repeated rows from millions of records, comparing whole rows or chosen columns.

Convert CSV to JSON

Turn a CSV into a JSON array or NDJSON, with every value kept exactly as written.

Convert JSON to CSV

Flatten a JSON array or NDJSON export into a spreadsheet-ready CSV.

CSV Validator

Find the broken rows, bad quotes, wrong encoding and duplicate IDs before an import fails.

Convert CSV to UTF-8

Repair garbled characters like é by converting to UTF-8, and switch semicolons to commas.