F
FreeConvertingTools

Convert Excel to CSV Online for Free

Convert Excel spreadsheets (.xlsx, .xls) to CSV format. Pick a sheet to convert, right in your browser.

FreeNo SignupAPI Available

Ad space

Ad space

How to use the Excel to CSV

  1. 1

    Open the Excel to CSV tool

  2. 2

    Enter your data or upload your file

  3. 3

    Adjust settings if needed

  4. 4

    Get instant results

  5. 5

    Download or copy your output

Available as API

Integrate this tool into your app.

View documentation

Frequently asked questions

Is the Excel to CSV free?

Yes, our excel to csv is 100% free with no limits, no signup, and no watermarks.

Do I need to create an account?

No. You can use the excel to csv without any registration. Just open it and start using it.

Is my data safe?

Yes. Any files you upload are automatically deleted after 5 minutes. We never store, share, or access your data.

Does this work on mobile?

Yes. The excel to csv is fully responsive and works on phones, tablets, and desktops.

Is there an API for this?

Yes. All our tools are available as API endpoints for developers. Check our API documentation for details.

Excel to CSV: Turn a Spreadsheet Tab Into Plain-Text Data

An Excel workbook and a CSV file both hold rows and columns, but almost nothing that reads spreadsheets natively expects the .xlsx format specifically — import wizards, command-line scripts, database loaders, and countless smaller tools all speak CSV instead. This converter takes an uploaded .xlsx or legacy .xls workbook, reads whichever worksheet you choose, and hands back that sheet as comma-separated plain text. The reading and conversion happen with a JavaScript spreadsheet library called SheetJS, and on this page that library runs directly inside your browser tab: the workbook you drop onto the page never leaves your device to produce the CSV you see.

Workbooks routinely contain more than one worksheet, so the tool doesn't just grab "the spreadsheet" as a single blob — it lists every sheet name it finds and lets you pick which one becomes the CSV output. Switch tabs and the preview updates to that sheet's data, still without a single byte of the file having gone anywhere beyond the tab you're looking at.

How to Convert an Excel File to CSV with This Tool

  1. Drag your .xlsx or .xls workbook onto the drop zone, or click it to open a file picker. As soon as it's selected, the browser reads the file directly — there's no upload step to wait on.
  2. The tool lists every sheet name it found inside the workbook and automatically loads the first one, showing a live CSV preview beneath the file details.
  3. If the workbook has more than one sheet, a row of buttons lets you switch between them; clicking a different sheet name re-renders the preview using that sheet's cells instead.
  4. Use the copy button to send the CSV text straight to your clipboard, or the download button to save it as a standalone .csv file named after the sheet you converted.
  5. Click "Start over" to clear the loaded workbook and drop in a different file, repeating the process for as many spreadsheets as you need.

Because the conversion is arithmetic-free — it's just reading cell values out of the workbook's internal structure and joining them with commas — the preview typically appears within a moment of choosing the file, with no spinner-heavy wait even for a spreadsheet with a few thousand rows.

Why People Need to Convert Excel to CSV

  • Feeding data into a system that only accepts CSV. Countless import tools, e-commerce platforms, email marketing services, and database bulk-loaders explicitly want a comma-separated file and will reject or mishandle a native .xlsx upload.
  • Preparing spreadsheet data for a script or pipeline. A CSV is trivial to read with a one-line command in Python, a shell script, or almost any programming language, while parsing the .xlsx zip-based format directly usually requires a dedicated library.
  • Sharing a plain-text version of a report. Not everyone has Excel or a compatible spreadsheet app installed, and a CSV opens as readable text in literally anything, including a basic text editor.
  • Pulling one tab out of a multi-sheet workbook. A colleague might send a workbook with a dozen tabs when you only need the data from one of them; converting just that sheet avoids exporting the whole file.
  • Version-controlling tabular data. A CSV diffs cleanly in Git and similar tools, while a binary .xlsx file shows as an opaque, unreadable change — useful for anyone tracking a dataset alongside code.

What Happens to Your Workbook Under the Hood

SheetJS reads the .xlsx file's internal zip structure (or the older binary layout for .xls) and builds an in-memory representation of every worksheet, including which range of cells actually has data in it. When you convert a sheet, the library walks that range row by row and column by column, writing out each cell's displayed value — a formula cell contributes its calculated result, not the formula text itself, which matches what you'd see looking at the sheet in Excel rather than what's stored behind the scenes. Values with a comma, a quote character, or a line break inside them are automatically wrapped in quotes so the resulting CSV stays valid, the same escaping convention that spreadsheet software itself uses when it exports CSV.

Sheet selection works two ways if you're calling the metered API version of this conversion instead of using the page: pass a sheet by its exact name, or by a zero-based numeric position (0 for the first sheet, 1 for the second, and so on). Leaving the parameter out defaults to the first sheet in the workbook, same as the page does when a file is first loaded. Either interface will tell you the full list of sheet names it found, so there's no guessing at what a workbook contains before you decide which tab to target.

One practical bound exists on both the in-browser tool and the API: a single worksheet is capped at 500,000 cells (rows multiplied by columns within its used range). That's not a file-size ceiling — there's no cap on how large the .xlsx itself can be for the browser version, since nothing is uploaded and the limiting factor is simply how much your device can comfortably parse — it's a guard against an extreme edge case like a sheet with an enormous, mostly-empty used range. For the overwhelming majority of everyday spreadsheets, expense reports, contact lists, inventory exports, survey results, the cell count sits nowhere near that ceiling.

Browser Conversion vs. Excel's Own "Save As CSV"

ApproachWhat you getTrade-off
This tool (in-browser)Pick any sheet, preview instantly, copy or downloadRequires a modern browser; no install needed
Excel/Google Sheets "Save As" / "Export"Native, exact spreadsheet-software outputOnly exports the currently active sheet by default; requires the app installed or a Google account
This tool's metered APISame conversion, callable from a script or pipelineFile is transmitted to the server to run (see below)
A code library (pandas, SheetJS in your own script)Full programmatic control over the outputRequires writing and maintaining code for a one-off task

The in-browser tool and Excel's own export land on essentially the same output for a simple sheet — plain comma-separated values with the calculated cell contents. Where this tool has an edge is switching between sheets without re-opening a desktop application, and not needing Excel, Google Sheets, or any other spreadsheet software installed at all to get the CSV out.

Formatting Quirks Worth Knowing Before You Convert

CSV is a much simpler format than a spreadsheet, so a few things about how Excel displays data don't translate over cleanly, and it helps to know about them before you're staring at unexpected output. Dates are the most common surprise: internally, a spreadsheet stores a date as a plain number of days since a fixed starting point, and it's only the cell's display formatting that turns that number into something readable like "03/14/2026." The CSV conversion writes out each cell using its formatted, human-readable text rather than the raw underlying serial number, so a properly formatted date column should come through looking like a normal date — but a column formatted as a plain number that happens to contain date-like values may not.

  • Merged cells. Only the top-left cell of a merged group actually holds a value in the workbook's internal structure; every other cell in that merged range is empty. Converting a sheet with merged header cells, for instance, typically produces a CSV where only the first column of that header has text and the rest are blank.
  • Leading zeros in numbers stored as text. A ZIP code or ID number typed as "00123" and explicitly formatted as text in the spreadsheet keeps its leading zeros in the CSV. The same value stored as an actual number, though, has already lost those leading zeros inside the spreadsheet itself — the CSV can only reflect what the workbook already contains, not recover formatting choices that were never applied to begin with.
  • Empty rows and columns inside the used range. If a sheet has a blank row or column somewhere in the middle of its data (not just trailing empty space), that gap is preserved in the CSV as an empty line or empty field, exactly mirroring the sheet's own layout rather than compacting it.
  • Formulas that reference other sheets or external workbooks. These still resolve to their calculated value the same as any other formula — what shows up in the CSV is the number or text the formula last evaluated to, not any indication of where that value came from.

None of this is a limitation specific to this tool — it's simply what CSV as a format is and isn't capable of representing, and the same quirks show up converting a workbook to CSV through Excel's own export feature.

Does This Tool Upload My Spreadsheet?

Using the page itself, no. The workbook you drop or select is read by SheetJS running as JavaScript inside your browser tab, and the resulting CSV is generated locally — the .xlsx or .xls file's bytes never travel to any server to produce what you see on screen. That's why the drop zone says the conversion happens "entirely in your browser": it's a literal description of where the computation runs, not marketing language.

The distinction matters because this same conversion is also exposed as a metered API endpoint, meant for scripts and automated pipelines rather than a page you click through. Calling that API is fundamentally different in one respect: an HTTP API call has to send the file's bytes to the server as part of the request, so the workbook is transmitted there to run through the identical SheetJS conversion server-side, and the resulting CSV is sent back in the response. The server processes that upload for the duration of the request and does not retain the file afterward, but it does receive it, which the page's browser-local version never does. If keeping a spreadsheet strictly on your own device is a requirement, the page itself is the way to do that; reach for the API only when you specifically need this conversion driven by code.

Does converting an Excel file to CSV keep my formulas?

No — CSV has no concept of formulas at all, so what gets written out is each cell's calculated, displayed value at the time of conversion. A cell showing "42" because of a SUM formula becomes the text "42" in the CSV; the formula itself isn't preserved anywhere in a comma-separated file.

What happens to cell formatting, like currency symbols or bold text?

CSV is plain text with no formatting layer whatsoever, so visual formatting (colors, bold, borders, number formats like currency symbols) doesn't carry over. What transfers is the underlying value SheetJS reads from each cell — if a currency format was applied as display-only styling rather than baked into the value itself, the CSV will show the plain number.

Can I convert every sheet in a workbook to CSV at once?

The page converts one sheet at a time — pick a sheet from the tab list and its CSV appears, then switch to another sheet to get that one. For a workbook with only a few tabs this is quick to do sheet by sheet; there isn't a single "export all sheets as separate files" button on this particular tool.

Does this work with the older .xls file format, not just .xlsx?

Yes. SheetJS reads both the newer .xlsx (a zip-based Office Open XML format) and the legacy binary .xls format used by older Excel versions, so either extension can be dropped onto the tool without needing to convert it to .xlsx first.

Why does it say "500,000 cells" — is my spreadsheet going to hit that limit?

Almost certainly not. That figure is the used range of a single sheet (rows times columns with any data), and it exists mainly to guard against a pathological edge case rather than to constrain normal use — a spreadsheet with, say, 50,000 rows and 20 columns is nowhere close to it. If a sheet ever does exceed it, the tool tells you plainly rather than freezing the tab or producing a partial file.

Related Tools

Once your spreadsheet data is out as CSV, the natural next step for many workflows is turning it into structured JSON — the CSV to JSON converter handles exactly that, recognizing the same quoting rules this tool produces. Going the other direction, the JSON to CSV converter is useful when an API response needs to become a spreadsheet-friendly file instead. If your source data happens to already be in XML or YAML rather than a workbook, the XML to JSON converter and the YAML to JSON converter cover those formats with the same no-upload, browser-local approach used here.

Ad space

Related tools

Ad space