creatorvalet

Convert CSV to Excel

Every column is typed, shown and adjustable before the workbook is written — so a postcode of 01234 arrives as 01234 and not as 1234.

Runs in your browser0 bytes uploaded

Drop a .csv file here

Nothing is uploaded. The file is decoded and the workbook built in this tab.

Copying a range in Excel, Numbers or Google Sheets and pasting anywhere on this page works too, and keeps the column structure — including any cell with a line break inside it. Pasted text has already been decoded by the browser, so the encoding control only appears for a file.

CSV to Excel, and the four guesses in between

A comma-separated file is a list of lines. A workbook is a grid in which every cell knows what kind of thing it holds. Getting from the first to the second means somebody has to decide what each column means, and along the route Google recommends — the Data tab, then From Text/CSV, then Load — that somebody is a wizard which decides silently and shows you the result afterward. It is right most of the time. When it is wrong it is wrong in four particular ways, and all four are permanent the moment the workbook is saved.

This page turns the order around. The file is read here in the tab, and before a single byte is written you are shown the row count, the separator it found, the encoding it found, whether row one looks like a set of names, and one line per column saying what type that column will be given and what would otherwise have happened to it. Disagree with any of it and change it. Then take the file.

Why every row lands in column A

Google's own overview asks about this halfway down the page: are your columns clumping together into a single column? They are, and your file is not damaged. Whatever sits between two values is simply not the character the spreadsheet went looking for. Exports produced in Sweden, Germany, France or Spain put a semicolon there, because in those languages the comma is already the decimal point and cannot hold down two jobs at once. Database and analytics tools lean toward the tab; a handful of older data feeds use a pipe.

Here the separator is counted rather than assumed, and counted outside quotation marks, so a comma sitting inside somebody's address does not get a vote. What it found is stated as a fact and offered as a control, and switching it redraws the grid immediately. That is the entire repair, and it costs one click. If you want the underlying rules in full, the guide on what a CSV file is covers separators, quoting and the places the format was never really specified.

01234 is a postcode, not the number one thousand two hundred and thirty-four

The second failure is the expensive one. A column of postcodes, product codes or phone numbers beginning with a zero reads as numeric to any importer, and a number has no leading zero, so the zero leaves. Not hidden — gone. Nothing in the saved workbook remembers it was ever there, and the person who notices is usually the one running a mail merge three weeks later.

Any column carrying a value of that shape is set to text here automatically, listed in the plan with an example lifted from your own file, and written into a cell that genuinely holds text. The same guard catches identifiers running past fifteen digits, where a number keeps only the first fifteen and displays the remainder as 1.23457E+18. Renaming a .csv to .xlsx rescues neither case, because a renamed file has no cell types in it at all — it is still a text file wearing a different extension, which is also why a spreadsheet shows a security warning when it opens one.

SEPT1 is a gene, and 03/04 is two different days

Geneticists renamed seventy-five human genes in 2020 rather than keep arguing with spreadsheet software, because SEPT1, MARCH1 and DEC1 kept turning up as calendar dates. The same rule quietly eats part numbers: 3-12 becomes the twelfth of March. Values shaped like that are written as text here and left precisely as they were typed.

Genuine dates are a separate question, and it gets asked out loud. 03/04/2026 is the fourth of March to an American reader and the third of April to most of the rest of the world, and nothing in the file says which was meant. A column of dates therefore gets an order control, so the ambiguity is settled once by you instead of surfacing later inside a report. What then goes into the cell is a real date — the day count a spreadsheet keeps internally, with a date format attached — so your own copy renders it in whichever short-date style your machine already prefers.

Accented letters, on the way in

Åsa, José and Ciudad Juárez arrive as Ã…sa, José and Ciudad Juárez whenever a UTF-8 file is read as Windows-1252. The bytes are tested here against UTF-8 first, which has the useful property of failing loudly rather than quietly on anything that is not UTF-8, then against the two UTF-16 layouts, which otherwise look like ordinary text with a zero wedged between every letter. Whatever it settles on is shown and can be overridden, because a Latin-1 file can be valid UTF-8 by accident and only a person reading the names can tell. Where the damage happened before the file ever reached this page, a line from it is quoted before and after, which is considerably easier to act on than the words "encoding problem". The three bytes at the front of many of these files have their own guide:what a byte order mark is.

What CSV to XLSX actually gives you, and what it does not

The .xlsx produced here is a zip archive containing the worksheet, the cell styles and the relationship parts, assembled by your own browser. What it gives you, checked against the writer rather than assumed: real cell types covering text, numbers and dates; a sheet name you choose; a heading row that is bold and frozen so it stays visible as you scroll; and column widths measured from the content instead of left at a default which shows a long email address as a row of hash marks.

Not included: colors, fills, borders, more than one sheet, formulas, filters, conditional formatting or charts. A CSV holds none of those, so none of them is lost in the trip — but neither are any of them invented. If you already have a workbook and want a sortable look at a flat file instead, the CSV viewer does that without producing a download at all, and SQL to Excel uses the same writer starting from a database dump. For splitting one already-imported column inside a sheet,text to columns is the narrower tool.

Going the other way, and going nowhere at all

The reverse trip is its own page: Excel to CSV takes a workbook apart, every sheet at once rather than whichever tab happens to be in front. Which direction you actually want is worth a moment. A CSV travels well and everything reads it; a workbook keeps types, so anything that has to survive being opened by a person belongs in one.

Whichever way you are heading, the work happens in this tab. The bytes are decoded, the rows parsed and the archive compressed by your browser, with no upload endpoint on the other end and no account to make first. Open the network panel before you drop the file and you can watch nothing go out. The two routes usually suggested for this job both fail that test in their own way — desktop Excel wants a license this machine may not have, and importing into Google Sheets means handing a customer list to somebody else in order to get a spreadsheet back. Large files are not turned away either: you are told what your own hardware is in for, the rows are written in batches with an honest count, and the job then goes ahead.

Questions

How do I convert a CSV file to Excel?

Drop the file on the box above. It is read in this tab and you get a plan straight away: how many rows there are, which character is separating the fields, which encoding the bytes are in, and what type each column will be given. Change anything you disagree with, then take the .xlsx. There is no import wizard to walk through and no license to hold, because the file never goes near a spreadsheet application.

How do I convert CSV to Excel with multiple columns?

If everything is landing in column A, the separator is the problem. Your file uses one character between fields and the spreadsheet expected a different one — semicolons are standard in Swedish, German, French and Spanish editions, because the comma is already the decimal point there. The separator this file actually uses is detected and shown above the grid, and you can override it from the same control. The preview redraws immediately, so you can see the columns come apart before anything is written.

Will my leading zeros survive?

Yes, and that is most of the reason this page exists. A postcode written 01234, a product code of 007, a phone number starting with a zero: every one of them is a number as far as an import wizard is concerned, and the zero is gone the moment the file is saved. Here any column holding a value like that is marked as text automatically and flagged in the plan, and text is what a real .xlsx cell can be. Renaming a .csv to .xlsx cannot do this, because it is still a text file with no cell types in it.

Is a .CSV an Excel file?

No. A CSV is a plain text file: lines of values with a separator between them, and nothing else — no cell types, no sheets, no formatting, no formulas. Excel opens one happily, which is where the confusion comes from, but opening is not the same as being. Every time it opens one it has to guess what each column means, and this page exists because those guesses are wrong in four specific, well-known ways.

What happens to dates?

You decide, per column. A column that reads as dates is written as real dates — stored as the day count Excel uses internally, with a date format attached, so your own copy displays it in whichever short-date style your machine prefers. Where a value could be read two ways, 03/04/2026 being the classic case, the plan says so and you pick month-first or day-first rather than finding out later. Columns that merely look date-ish, such as a gene name of SEPT1 or a part number of 3-12, are written as text and stay exactly as typed.

Do I need Excel or a Google account for this?

Neither. The two routes usually suggested are opening the file in desktop Excel, which needs a license this machine may not have, and importing it into Google Sheets, which means uploading your data to somebody else. This page writes the workbook itself: the .xlsx format is a zip archive holding a few XML parts, and your browser can build one. The result opens as a native workbook in Excel, LibreOffice, Numbers and Sheets alike.

Is the file uploaded anywhere?

No. The bytes are decoded, the rows parsed and the archive zipped in this tab, using compression the browser already has. Open the network panel before you drop the file and you can watch nothing leave. It is worth caring about here: a CSV heading into a spreadsheet is usually an export of customers, orders or payroll, and handing that to a converter to get a spreadsheet back is a poor trade.