Excel to CSV Converter – Free, Instant, No Upload

Convert Excel to CSV instantly in your browser — paste cells or upload .xlsx. No sign-up, no upload, RFC 4180-compliant output. Free and private.

Excel data (TSV)
CSV

Turn Your Excel Data into a Clean CSV File in Seconds

Paste your Excel data (or drop a spreadsheet) above and get a clean, comma-separated CSV back instantly — no account, no upload, no waiting. Great for feeding data into Python scripts, databases, APIs, or any tool that doesn't speak .xlsx.

Quick Excel to CSV conversion: copy a range from Excel (or paste a tab-separated table), click Convert, then copy or download the result. Quoted fields and numbers are detected automatically. Everything runs in your browser — nothing is uploaded.

How to Convert Excel to CSV

  1. Copy your data from Excel. Select the cells you want, then press Ctrl+C (or Cmd+C on Mac). Excel copies it as tab-separated text.
  2. Paste into the tool above. Click the input area and press Ctrl+V. The tool reads your rows and columns automatically.
  3. Choose CSV as the output format (it's the default on this page).
  4. Click Convert. Your CSV appears instantly in the output panel.
  5. Copy or download. Hit the copy button to grab the result, or click Download to save a .csv file to your computer.

You can also upload a .xlsx or .xls file directly using the file picker — no copy-paste needed for larger spreadsheets.

Worked Example: Excel Table → CSV

Say you have this table in Excel (three columns, two data rows):

Excel source (what you copy from the spreadsheet)

Name          Sales Q1    Region
Alice Nguyen  12500       North
Bob Okafor    9800        South

Excel copies that to the clipboard as tab-separated values. Paste it into the tool and click Convert — the output looks like this:

CSV output

Name,Sales Q1,Region
Alice Nguyen,12500,North
Bob Okafor,9800,South

Tabs become commas, numbers stay as numbers (not text), and any cell that contains a comma gets wrapped in double quotes automatically — so the file stays valid.

Need to go the other way? The same tool handles CSV back to Excel-friendly formats and a dozen other conversions — just switch the output format in the selector.

How to Do This in Python or JavaScript

If you're converting files in a script rather than one-off in a browser, here's the shortest path in two popular languages.

Python (using pandas)

import pandas as pd

# Read the Excel file (sheet 1 by default)
df = pd.read_excel('data.xlsx')

# Save as CSV — no row numbers in the output
df.to_csv('data.csv', index=False)

Install pandas with pip install pandas openpyxl. The openpyxl engine is needed to read modern .xlsx files.

JavaScript (Node.js, using xlsx)

const XLSX = require('xlsx');

const workbook = XLSX.readFile('data.xlsx');
const sheet = workbook.Sheets[workbook.SheetNames[0]];

// Convert the first sheet to CSV
const csv = XLSX.utils.sheet_to_csv(sheet);
require('fs').writeFileSync('data.csv', csv);

Install the library with npm install xlsx. The same xlsx package also reads .xls (older Excel format) without any extra config.

How It Works

When you paste Excel data, your browser sends tab-separated text (that's what Excel puts on the clipboard). The converter parses each row by splitting on tabs, detects column types, then re-serialises the data with commas as delimiters and RFC 4180-compliant quoting — wrapping any field that contains a comma, newline, or quote in double quotes and escaping internal quotes as "".

Uploading an .xlsx file? The engine reads the binary workbook format (Office Open XML) entirely in your browser using WebAssembly or JavaScript — no file ever leaves your device. You can verify this by going offline and running a conversion; it works just the same.

The CSV specification is defined in RFC 4180 (IETF). Following that spec means the output file opens correctly in Excel, Google Sheets, pandas, and virtually every other tool that reads CSV.

When to Use CSV (and When Not To)

SituationCSV is the right choice?
Importing data into a database (MySQL, PostgreSQL, SQLite)✅ Yes — most databases have a native CSV import
Feeding a Python / R data analysis script✅ Yes — pandas.read_csv() is the standard entry point
Sharing data with non-Excel users or tools✅ Yes — CSV is universally readable
You have multiple sheets that need to stay linked❌ No — CSV is single-sheet only; keep the .xlsx
Your data has formulas you need to preserve❌ No — CSV stores values only, formulas are lost
You need formatting, charts, or pivot tables❌ No — use Excel or Google Sheets format instead

Tips for a Clean Conversion

  • Select only the data range — avoid copying empty rows or merged header cells, which can shift columns in the CSV.
  • Dates: Excel stores dates as numbers internally. After conversion, check that dates appear as readable strings (2024-06-01) rather than serial numbers like 45444. The tool handles this automatically for most date formats.
  • Special characters: If your data has non-English characters (accented letters, CJK characters), make sure to open the downloaded CSV in your target app as UTF-8. That avoids the garbled-text problem common with older Excel files that default to Windows-1252 encoding.
  • Large files: The tool handles typical spreadsheets (tens of thousands of rows) quickly. For millions of rows, the Python script above will be faster.

Related Tools You Might Need Next

Once your data is in CSV, you might want to convert it further or clean it up. If your next step involves JSON, these tools are handy:

Bottom line: paste your spreadsheet data above, click Convert, and you'll have a standards-compliant CSV ready to use anywhere — in about three seconds, with no data ever leaving your browser.

Frequently asked questions

Is my Excel data uploaded to a server when I use this tool?+
No — the conversion runs entirely in your browser. Your spreadsheet data never leaves your device. You can even disconnect from the internet after the page loads and the tool will still work.
Can I convert a whole .xlsx file, or only pasted data?+
Both. You can paste copied Excel cells directly, or use the file picker to upload an .xlsx or .xls file. The tool reads the first sheet by default. For multi-sheet workbooks, select the sheet you want before converting.
What's the difference between a CSV and an Excel file?+
An Excel file (.xlsx) is a binary format that can hold multiple sheets, formulas, charts, and formatting. A CSV (Comma-Separated Values) file is plain text — one sheet, no formulas, no styling. CSV is simpler and works with almost every software tool, while Excel is better when you need those extra features.
How do I open the downloaded CSV in Excel without garbled text?+
Open Excel, go to Data → From Text/CSV, select the file, and set the encoding to UTF-8. If you just double-click the CSV file, Excel may default to a regional encoding that garbles special characters.
How do I convert Excel to CSV in Python?+
Use pandas: import pandas as pd; df = pd.read_excel('file.xlsx'); df.to_csv('file.csv', index=False). You'll need to install pandas and openpyxl first: pip install pandas openpyxl.
Does the tool handle Excel files with multiple sheets?+
Yes. When you upload an .xlsx file you can choose which sheet to convert. If you paste data from the clipboard, it's always a single sheet (since Excel only copies one selection at a time).
Is this tool free? Do I need to sign up?+
Completely free, no account needed. Paste or upload your data, convert, and download — nothing else required.
My CSV has numbers stored as text in Excel. Will they convert correctly?+
The tool detects numeric values and writes them as plain numbers in the CSV output. However, if Excel has a cell explicitly formatted as Text (shown with a green triangle warning), copy-paste conversion will preserve that as a string. Uploading the file directly gives the tool access to the cell's actual data type, which is more reliable.