Upload or paste CSV and TSV text and get a genuine .xlsx workbook: the delimiter is detected, quoted fields parse right, and you name the sheet.
Parsing and workbook building happen locally in your browser. Nothing is uploaded.
Click to choose a CSV file or drag a .csv or .tsv file here — you can also paste below
Input text — from a file or your clipboard — runs through a small, strict CSV state machine, and the resulting grid is packed into a real OOXML workbook by SheetJS and offered as a local download. Both halves happen inside the tab.
The .xlsx format itself caps a sheet at 1,048,576 rows by 16,384 columns, but you will hit a different wall first: this converter builds the workbook in your browser tab's memory. Plain-text inputs up to a few megabytes convert smoothly; the page deliberately rejects anything over 5 MB so a giant paste fails with a clear message instead of freezing the tab. Split very large exports and convert parts.
It is a deliberate, honest choice. CSV carries no type information — the characters 1,097 could be a thousands-separated number or a sentence fragment, and 01-02-2026 is ambiguous between two date formats. Guessing wrong silently corrupts data, so every parsed cell is stored as text exactly as written (this is also what protects zip codes like 00744 from losing their leading zeros). Excel will still offer its own conversion when you open the file.
Because the container already buys you a lot: one file instead of endless import dialogs, a named sheet, no delimiter ambiguity, no encoding guesswork, and a format Excel, Numbers and Google Sheets open by double-click. And the moment a cell is edited in Excel its type is back — the text storage only describes the starting point.
The first non-empty line is scanned outside quoted sections, and comma, semicolon and tab occurrences are counted; the winner is used and labeled under the selector. Detection is only a heuristic — a header like name,comment is fine, but a one-column file with stray commas is not — so the selector always lets you force comma, semicolon or tab and the preview re-parses instantly.
No. The text is parsed and the workbook is assembled inside your browser tab; the .xlsx is handed back as a local download. The one-time load of the SheetJS library from its public CDN is the only network request involved — your data never leaves your device.
If you just finished with CSV to Excel, the natural next steps are XML Formatter, XML to JSON, Markdown to HTML, or browse every tool in Privacy File Tools.