CSV to Excel

Drop a CSV or TSV file and download it as an Excel workbook. Numeric cells are written as real numbers so formulas work immediately. Everything runs locally — nothing is ever uploaded.

Files never leave your device

Drop a CSV or TSV file, or click to browse

CSVTSV

What This Tool Does

This tool converts a CSV or TSV file into a real Excel XLSX workbook without leaving your browser. Drop your file, let the delimiter auto-detect (or set it yourself), and download a genuine workbook with your data written into a worksheet — not a renamed CSV.

Nothing is uploaded to make this work. A WebAssembly module loaded into your browser tab reads your file, decides how each cell should be written, and assembles the XLSX workbook entirely on your own device.

Tip: If a column of yours mixes codes and real quantities — say, product codes next to a price column — you don't need to configure anything for that. The tool decides cell by cell whether a value should become a real number or stay as text, so your price column still sums correctly while your product codes keep their exact original digits.

Numbers That Behave Like Numbers

A CSV has no concept of data types — every cell is just text, even a column full of prices or quantities. When this tool builds your workbook, any cell that parses cleanly as a number is written as an actual numeric value rather than a text string that merely resembles one. That means a formula like SUM or AVERAGE placed under that column works the moment the file opens, with none of the friction of Excel's usual "numbers stored as text" warning or a manual convert-to-number pass.

Keeping IDs and Codes Intact

Not every number-looking value should become a number, and this tool draws that line in two specific places. A value that starts with a zero and isn't a plain decimal — 007, 0043, a zip-style code — is kept as text, because writing it as a numeric value would silently drop the leading zero the instant the file opens. And a long numeric string of sixteen digits or more — the kind of length you'd see in an account or card number — is also kept as text, since spreadsheet numbers only hold full precision up to around fifteen digits; storing a longer ID as a genuine number risks rounding its last digit or two without any warning. Both checks exist for the same reason: protecting values where the exact digits matter more than doing arithmetic on them.

Delimiter Detection

By default, the tool figures out your file's delimiter on its own — reading the first line outside of any quoted text and counting how often comma, semicolon, tab, and pipe show up, then picking whichever wins. That covers plain comma-separated exports as well as semicolon-separated files common from some European spreadsheet software, and genuine tab-separated TSV files. If you'd rather not rely on the guess, the delimiter option lets you set it explicitly before converting.

Where to Go Next

Want to check the round trip? Excel to CSV can read the XLSX file this tool just built and convert it straight back to CSV, sheet by sheet. If your workflow runs through JSON instead, CSV to JSON and JSON to CSV cover conversions on that side.

Frequently asked questions

Does this create an actual Excel file, or just rename my CSV?
It builds a genuine XLSX workbook from scratch, with your data written into a real worksheet named Sheet1 — not a CSV with a different file extension slapped on. The result opens directly in Excel, Google Sheets, or LibreOffice like any workbook you'd have created inside that program.
Will my numeric columns become actual numbers I can sum with a formula?
Yes. Any cell that parses cleanly as a number is written into the workbook as a real numeric value, not text that merely looks like a number — so a SUM or AVERAGE formula over that column works immediately, without you first needing to run Excel's convert-text-to-number step on the whole sheet.
I have a column of codes like 007 or 0043 — will Excel strip the leading zeros?
No. This tool specifically detects values that start with a zero and aren't a plain decimal like 0.5, and keeps those as text rather than converting them to a number — because writing 007 as the number 7 would silently destroy the leading zeros the moment you opened the file. Codes, zip-style values, and similar identifiers keep their exact original text.
What about long numeric IDs, like a 16-digit account or card number?
Those are kept as text too, for a related reason: numbers in a spreadsheet are stored with limited precision, reliably exact only up to around fifteen digits. A sixteen-or-more-digit numeric ID stored as an actual number could have its last digit or two silently rounded, corrupting the value. This tool checks the digit count and keeps long numeric-looking strings as text specifically to avoid that kind of quiet corruption.
Does the tool guess my CSV's delimiter, or do I have to set it myself?
It auto-detects by default — scanning your file's first line outside of any quoted text and picking whichever of comma, semicolon, tab, or pipe shows up most often. If your export uses something unusual, or auto-detect ever picks the wrong one, the delimiter dropdown lets you set it explicitly instead.
Is my CSV file uploaded anywhere to build the Excel file?
No. The whole conversion — reading your CSV, deciding which cells become numbers, and assembling the XLSX workbook — runs through a WebAssembly module loaded into your browser tab, entirely on your device. Nothing is sent to a server at any point.