A CSV becomes an Excel table when a parser reads each comma-separated row, respects the quoting rules that keep commas and line breaks inside cells, and writes the values into a worksheet of a real .xlsx workbook. The conversion is local when the parser runs in the browser tab rather than on a remote server, so the source file never leaves the machine. To convert a CSV to an Excel table, paste the CSV text or choose a local .csv file no larger than 500 KB, click Convert to Excel, and download the resulting workbook — the source CSV is not overwritten, retained, or shared. Each row in the input becomes a row on a single worksheet named CSV data, with the first CSV row landing on the first worksheet row exactly as written. Text values, including strings that begin with =, +, -, or @, are written as text cells, so the browser never evaluates them as spreadsheet formulas while creating the file.

What the converter actually does
The CSV to Excel Converter takes a bounded comma-separated table, parses it locally, and produces an OOXML .xlsx ZIP package that any modern spreadsheet program can open. The output is a one-sheet workbook whose worksheet is named CSV data, and the input's first row is preserved as the worksheet's first row. There is no header inference, no schema detection, and no attempt to label columns; if you want a header row in the workbook, put it on row one of the CSV.
Because the parsing runs in the current browser tab, the source CSV is never uploaded, logged, or sent to a remote API. The workbook creation step dynamically loads the SheetJS core only when the user clicks Convert to Excel, and visitor values are written as ordinary cells without formula execution. Macros, external links, embedded scripts, remote data connections, and chart objects are not generated; the result is a plain data export you can audit cell by cell in the destination program.
How to convert a CSV to an Excel table
- Open the CSV to Excel Converter in your browser and either paste CSV text into the input area or pick one local .csv file that is no larger than 500 KB.
- Check the preview: confirm the header row looks right and that any commas or line breaks inside quoted fields appear as a single column value.
- Click Convert to Excel. The browser parses the rows, enforces the quoting rules, and stops with a clear error if a row is ragged or a quote is unclosed.
- Download the .xlsx workbook that the tool offers. Save it somewhere you can find again — the original CSV is untouched.
- Open the downloaded .xlsx once in the destination spreadsheet program (Microsoft Excel, Google Sheets, LibreOffice Calc, Numbers, or another reader) to confirm the row count, the header, and a sample of values.
CSV rules the table keeps and what it drops
CSV has a precise quoting rule that matters the moment your data contains commas, quotes, or line breaks. A comma inside a quoted field is data, not a new column. Doubled quotation marks ("") represent one literal quotation mark. A quoted field may contain a line break, so a single CSV record can span multiple physical lines without splitting the row. The converter accepts CRLF, LF, and CR record endings, so Windows, Unix, and classic Mac line endings all parse the same way without preprocessing.
What CSV does not carry is just as important. It has no types, no column widths, no colors, no merged cells, no charts, no comments, no validation rules, no filters, and no print layout. The converter intentionally does not infer dates, identifiers, currencies, locale conventions, or any business schema. A string that looks like a date stays text unless you format the destination cells, and an identifier that starts with a leading zero (a US ZIP code, an account number, a product SKU) should be kept as CSV text if the leading zero matters. A spreadsheet program may apply its own regional formatting when opening the .xlsx, so verify a meaningful sample in the destination system before you treat the workbook as authoritative.
Two safety properties are worth highlighting. First, every CSV row must have the same number of fields; a ragged record is rejected, not guessed. Second, text values that begin with =, +, -, or @ are written as text cells, so the browser never evaluates them as spreadsheet formulas during conversion. If you need formula behavior in the workbook, add it after opening the .xlsx in your destination program.
Hard limits that stop the conversion
The converter enforces a small set of bounds that protect the browser and make failure visible. When a limit or CSV syntax rule is exceeded, the browser stops with an error and writes no workbook — it never quietly drops a row, trims a column, or emits a partial file. The exact caps are:
| Limit | Maximum | What happens when exceeded |
|---|---|---|
| Input size | 500 KB | Input is rejected |
| Data rows | 10,000 | Parser stops with an error |
| Columns per row | 200 | Ragged record or over-wide row is rejected |
| Total cells | 200,000 | Workbook is not created; the user can split the source |
| CSV syntax | RFC-style only | Unclosed quote or malformed field after a closing quote is rejected |
If your input is too large, the practical fix is to split the CSV upstream (a database export, a shell split, or a small script) and convert each chunk separately, then combine the resulting workbooks in the destination spreadsheet if you need a single file.
Verifying the .xlsx before you share it
A reliable workflow is small, predictable, and easy to repeat. Start with the smallest relevant CSV you have, open the preview text, and confirm that the header row and the first few quoted fields look right. Create the workbook, open the downloaded .xlsx once, and spot-check the row count, the header labels, and a sample of values that contain commas or line breaks inside quotes. If you see a value that should have stayed text (such as a US ZIP code beginning with 0), keep the original CSV alongside the workbook and decide in the destination program whether to format that column as text.
Because the converter does not run macros, external links, embedded scripts, formulas, or remote data connections, the output is deliberately a plain data export. The trade-off is that you do not get display formatting for free. Keep the source CSV when distinctions like column widths, colors, merged cells, charts, comments, validation rules, filters, or print layout matter — those are properties of the workbook layer, not the CSV layer, and they have to be reapplied in the destination program if needed.
When the converter is the wrong tool
The converter does one thing: it turns a well-formed CSV table into one downloadable .xlsx workbook in the browser. It does not merge multiple CSV files, repair a corrupt CSV, infer column labels from the first row, validate personal data, generate formulas, or convert legacy spreadsheet formats. If you need to go the other direction — turn a .xlsx worksheet into a CSV — the reverse workflow is a separate guide with its own rules.
Privacy, quoting, and formula safety
Three properties show up repeatedly when readers compare this converter to a remote service. The CSV is not uploaded — parsing and workbook creation happen in the current browser tab, and the file is not retained or shared with Lizely. Quoted commas and quoted line breaks are preserved as part of a single cell, so a CSV fragment such as "Smith, John","line 1line 2",42 becomes a row of three cells, not five or seven. Text that starts with =, +, -, or @ is written as a text cell and is not run as a formula by the converter; if you need formula behavior, add it after opening the .xlsx in your destination program. Together those three properties give the converter a narrow, honest contract: a well-formed CSV in, one auditable .xlsx workbook out, with no hidden evaluation step in the middle.
If you're weighing options, CSV to HTML Table in Shell: Why It Breaks and a Safer Way covers this in detail.