dataeng.tools

Convert CSV to Excel — Free, Private, In-Browser

CSV is untyped text. Excel is a workbook someone opens by double-clicking. This conversion is for a person, not a pipeline: a stakeholder who wants to sort, filter, and chart a dump you were sent as CSV, without installing pandas. The in-browser converter reads the CSV with DuckDB-WASM (header detection, delimiter sniffing, quoted fields) and writes a single .xlsx worksheet with SheetJS. Drop the file, check the inferred schema, download the workbook. The CSV never leaves your machine.

Typing is inferred, not declared. DuckDB sniffs each column and, where it is confident, writes real Excel numbers and booleans instead of text. The usual traps apply: ZIP codes and IDs with leading zeros inferred as integers (zeros dropped), a stray N/A forcing a numeric column to text, ambiguous dates. Eyeball the schema panel before you trust it. Excel then adds its own ceiling: every numeric cell is an IEEE-754 double, so integers past 2^53 cannot be held exactly — this converter writes those out-of-range integers as text cells so the digits survive.

A worksheet is capped at 1,048,576 rows by 16,384 columns. Feed it a bigger CSV and the overflow will not fit; export stays as CSV or Parquet for a full extract. Output is one sheet named Sheet1. Because .xlsx is zipped XML assembled in memory, very wide or very long inputs are slower than a streaming CSV. Reach for this when a human is the consumer. DuckDB reads, SheetJS writes, both in your browser — no upload, no server-side conversion.

Drop a file or click to browse

Drop a CSV file — processed locally, never uploaded

Frequently asked questions

Why did some numeric-looking columns land as text?
DuckDB only assigns a numeric type when a whole column looks numeric. A stray N/A, a thousands separator, or a leading-zero ID forces the column to stay text. Check the schema panel after loading. Integers larger than 2^53 are also written as text on purpose, so Excel does not round them.
How many sheets, and is there a row limit?
One sheet, named Sheet1. Excel itself caps a worksheet at 1,048,576 rows and 16,384 columns — that is the format ceiling, not a tool limit. Bigger CSVs should stay CSV or become Parquet.
Does this recalculate or style anything?
No. The output is values in a blank workbook: no formulas, no formats, no charts. You get a grid a human can open. Styling happens after they download it.
Is my file uploaded anywhere?
No. The CSV→Excel conversion runs entirely in your browser via DuckDB-WASM. Your file never leaves your device.
How large a file can I convert?
It's bounded by your browser's available memory rather than any server limit — files in the hundreds of MB are routine. DuckDB runs single-threaded here, so very large files just take a little longer.
Do I need an account?
No — it's free and requires no sign-up.

Do more with your CSV file

Related conversions