XLSX to CSV Converter
Convert one Excel worksheet to CSV in your browser, choose formula and hidden-data handling, and review warnings before download.{{ values.csv_text || '' }}
| Worksheet | Selected | Visibility | Used range | Rows | Columns | Data cells | Formulas | Copy |
|---|---|---|---|---|---|---|---|---|
| {{ row.name }} | {{ row.selected }} | {{ row.visibility }} | {{ row.used_range }} | {{ row.row_count }} | {{ row.column_count }} | {{ row.data_cell_count }} | {{ row.formula_count }} |
| Check | State | Evidence | Next action | Copy |
|---|---|---|---|---|
| {{ row.check }} | {{ row.state }} | {{ row.evidence }} | {{ row.next_action }} |
Introduction
A spreadsheet workbook can hold many worksheets, formulas, styles, charts, hidden records, macros, and other workbook objects. CSV holds none of that structure. It is plain text arranged as rows and fields, so converting a workbook to CSV means choosing one worksheet and deciding which visible text belongs in the flat result.
That flattening is useful for database imports, analytics pipelines, command-line processing, and systems that do not read Excel workbooks. It is also lossy. Non-selected sheets, formulas as calculations, formatting, merged cells, charts, validation rules, comments, and macros do not become equivalent CSV features.
| Workbook content | CSV outcome | Decision before conversion |
|---|---|---|
| Multiple worksheets | One selected sheet becomes one file | Choose the intended worksheet |
| Formula cells | Saved value or formula text | Choose data handoff or formula audit |
| Hidden rows and columns | Included unless explicitly excluded | Check for sensitive or obsolete data |
| Styles, charts, macros, and workbook objects | Not represented | Keep the workbook when those features matter |
| Dates and numbers | Formatted text | Match the receiving system's expected representation |
The delimiter is part of the receiving contract. A comma is common, but some regional and technical imports expect semicolons, tabs, or pipes. A file can still have a .csv name when it uses another separator, so the importer must be configured to use the same delimiter.
Spreadsheet software can interpret text beginning with characters such as =, +, -, or @ as a formula when a CSV is opened. Treat untrusted cell text as active content risk and use a receiving workflow that sanitizes or imports it as text.
A CSV preview can confirm rows and quoting, but it cannot prove the handoff is safe. Open the downloaded file in the actual destination, check column alignment and character encoding, and compare a few source records before replacing or importing data.
How to Use This Tool:
Start with the receiving system's delimiter and formula requirements, then choose the worksheet that contains the handoff data.
- Browse for one Source workbook in XLSX, XLSM, XLSB, or XLS format. Files larger than 50 MiB are rejected.
- Choose the Worksheet and Delimiter. Hidden worksheets remain selectable and are labeled so an accidental hidden-sheet export is easier to catch.
- Set Formula cells to cached values for a data import or to formula text for an audit. Cached values come from the saved workbook and are not recalculated.
- Use the advanced options to preserve blank rows, trim trailing empty cells, exclude hidden rows and columns, set a date format, or add a UTF-8 byte-order mark to the download.
- Review the CSV text and conversion warnings, then test the downloaded file with the intended importer before discarding the workbook source.
Interpreting Results:
Row and column counts describe the flattened output, not the full workbook. Compare them with the selected worksheet and check whether blank rows, trailing empty cells, or hidden content changed the shape.
- A formula warning means saved values were used without recalculating the workbook. Open and recalculate the workbook in a trusted spreadsheet application when freshness matters.
- A hidden-data warning means hidden rows or columns remain in the CSV. Exclude them only when that matches the intended handoff.
- A macro warning confirms that macro content was detected but not carried into CSV or executed during conversion.
- For semicolon, tab, or pipe output, configure the importer for that separator even though the downloaded name ends in
.csv.
Technical Details:
Workbook decoding produces a bounded snapshot of sheet names, visibility, used ranges, hidden row and column markers, formatted cell values, and formula text. One worksheet is then reduced to a rectangular sequence of strings before CSV quoting is applied.
Transformation Core:
| Stage | Rule | Result |
|---|---|---|
| Worksheet selection | Use the named sheet; otherwise fall back to the first visible sheet | One sheet enters the CSV path |
| Formula handling | Use the saved formatted value or prefix formula text with = | No formula is calculated |
| Visibility filtering | Optionally remove marked hidden rows and columns | Hidden content is included by default |
| Row shaping | Optionally remove empty trailing fields and optionally omit blank rows | Output width and row count may change |
| Field quoting | Quote fields containing the delimiter, a quote, carriage return, or line feed; double embedded quotes | Field boundaries remain unambiguous |
| Record joining | Join fields with the selected delimiter and rows with CRLF | UTF-8 delimited text |
For example, the two fields North, East and He said "go" become "North, East","He said ""go""" with a comma delimiter. The same quoting rule protects embedded line breaks.
Date formatting is applied while workbook cells are decoded. It changes the text placed in CSV, not the workbook's stored date serial. A custom date pattern can therefore improve compatibility, but the receiving parser still decides whether that text becomes a date.
A UTF-8 byte-order mark adds three bytes at the start of the downloaded file. It is omitted from the on-page preview. The mark can help some spreadsheet applications recognize UTF-8, but importers that require text without a BOM should leave it off.
The accepted workbook size is at most 50 MiB, with up to 200 worksheets and 500,000 decoded cells. Empty sheets and outputs that become empty after filtering are rejected.
Limitations and Privacy Notes:
Workbook bytes are read and converted in the current browser tab rather than uploaded to a conversion service. The resulting CSV still contains the selected cell text and should be handled according to the source data's sensitivity.
- Only one worksheet is converted at a time.
- Formatting, charts, images, comments, validation rules, merged-cell behavior, macros, and workbook relationships are not preserved.
- Formulas are never recalculated, and generated CSV cells are not sanitized against spreadsheet formula injection.
- Large or complex workbooks may exceed the file, sheet, or decoded-cell limits.
Worked Examples:
Saved totals for a database import
An orders worksheet contains formulas in its Total column. Choosing cached values writes the saved totals rather than formulas. If the workbook has not been recalculated recently, the warning is a reason to reopen and save it in a trusted spreadsheet application before converting again.
Hidden review columns
A worksheet hides an internal-review column that should not reach a customer import. The default CSV includes it. Turning on Exclude hidden rows and columns removes marked hidden content; the final check is to compare the output headers with the customer's agreed schema.
References:
- RFC 4180: Common Format and MIME Type for CSV Files, IETF, October 2005.
- CSV and Text utilities, SheetJS Community Edition documentation.
- Save a workbook to text or CSV format, Microsoft Support.
- Excel formatting and features not transferred to other file formats, Microsoft Support.
- CSV Injection, OWASP Foundation.