π Excel to CSV Converter
Paste rows copied from Excel and get clean CSV output instantly. Free browser-based Excel (TSV) to CSV converter β no upload, works offline.
Need to turn spreadsheet data into a CSV file that other tools can actually read? Our Excel to CSV Converter does exactly that, with zero uploads. You copy your rows from Excel, Google Sheets, or any spreadsheet app, paste them into the box below, and get properly formatted CSV back β ready to save or use in a script, database import, or analytics tool.
The tool is built for how people really work with spreadsheets. When you copy cells from Excel, they arrive as tab-separated text. This converter reads that structure and re-emits it as RFC-4180-style CSV: commas between columns, newlines between rows, and automatic quoting of any cell that contains a comma, a quote, or a line break. The result is clean, predictable data that won’t break your downstream pipeline.
This is invaluable for common tasks like migrating contact lists into CRM tools, preparing product catalogs for e-commerce imports, exporting survey results to analysis software, or building training data for machine learning models. Instead of fighting Excel’s save dialogs and locale quirks, you paste, convert, and copy β done.
Everything runs locally in your browser. No file ever leaves your machine, there is no size limit tied to a server, and the conversion is instant even for thousands of rows.
How the Conversion Works
When you copy cells from Excel or Google Sheets, the spreadsheet places a tab character between columns and a line break between rows. What lands on your clipboard is therefore Tab-Separated Values (TSV), not CSV. This tool reads that TSV structure and rebuilds it as RFC-4180-compliant CSV:
- Each line is split on the tab character to separate columns, and the input is split on newlines to separate rows.
- Every cell that contains a comma, a double quote, or a line break is wrapped in double quotes so its meaning survives.
- Any double quote inside such a cell is doubled (""), which is the standard CSV escape for an embedded quote.
- The separated cells are then joined back together with commas between columns and newlines between rows.
The result is clean, predictable CSV that Excel, Google Sheets, LibreOffice, and nearly every database import tool can read without guessing.
Worked Examples
Let us trace a real conversion. Say your sheet has a customer list with the columns Name, Email, and Country, and two rows. Copying those cells gives tab-separated text (tabs shown here as β₯ for clarity):
Nameβ₯Emailβ₯Country Bob, Sr.β₯bob@example.comβ₯Belgium
This tool turns that into:
Name,Email,Country "Bob, Sr.",bob@example.com,Belgium
Notice that Bob, Sr. is wrapped in double quotes because it contains a comma β otherwise the comma would be mistaken for a column separator and the name would be split into two columns. The email and country have no special characters, so they are left as plain values.
A second case: a cell that holds the text He said "hello" contains a double quote, so it is quoted and the inner quote is doubled. The output becomes:
"He said ""hello"""
A third case is a cell with an internal line break, such as a two-line address or a multi-line note. That cell is quoted as well, and the newline inside it is kept intact rather than treated as the end of a row:
"123 Main Street Apt 4B"
When you paste that CSV back into a spreadsheet, Apt 4B stays inside the same cell instead of spilling into a new row β exactly what a CRM import or a database loader expects.
Edge Cases & Limitations
- Blank lines are skipped, so stray empty rows never appear in the middle of your output.
- CRLF (Windows) line endings are normalized to LF so the file opens cleanly on every platform and in every script.
- Commas, quotes, and newlines inside cells are quoted and escaped correctly, so your structure is never corrupted.
- Thousands of rows are processed locally in your browser β there is no server round-trip and no size limit tied to a server.
- Leading zeros (phone codes like 030, IDs like 007) are already dropped by Excel itself when a column is formatted as a number; the converter can only work with the text Excel actually copied, so format such columns as Text first if you need to keep the zeros.
- Data already separated by commas (instead of tabs) will be seen as a single column, because this tool expects tabs as the column separator. For that case, use the JSON-to-CSV tool or export via your spreadsheet's built-in CSV export instead.
π Try other converters:
π§Ύ JSON to CSV πΎ Data π¬ MP4 to MP3 π° Currency πΌοΈ Image Resizer π PDF to Word πΈ PDF to JPG π Word to PDFFrequently Asked Questions
How do I copy cells out of Excel for this converter?
Select the cells you want (including headers), press Ctrl+C (or Cmd+C on Mac), then click into the input box and paste. Excel copies the selection as tab-separated text, which is exactly the format this converter expects. Pasting from Google Sheets works the same way.
Does it handle commas, quotes, or line breaks inside cells?
Yes. Any cell containing a comma, a double quote, or a line break is automatically wrapped in double quotes, and embedded quotes are doubled (""), following the standard CSV rules. This keeps the output valid even when your data contains tricky characters like "Smith, John" or multi-line notes.
Is my data uploaded anywhere?
No. The conversion runs entirely in your browser with JavaScript β nothing is sent to a server. This makes it safe for sensitive data like customer lists, financial figures, or any information you would rather keep off third-party services.
What if my paste uses commas instead of tabs as separators?
Copying from Excel and Google Sheets always produces tabs between columns, so the default path works out of the box. If you have data already separated by commas, use the JSON to CSV converter or a spreadsheet export instead β pasting comma-separated text into this tool would treat it as a single column.
Will the output open correctly in Excel and Google Sheets?
Yes. The generated CSV uses commas as separators and double quotes for escaping, which are exactly the defaults that Excel, Google Sheets, LibreOffice, and most database import tools expect. If your regional Excel uses a semicolon as the list separator, you may need to switch the list separator in your system settings or re-import using the text-import wizard β that is an Excel locale setting, not a problem with the CSV itself.
What happens to empty cells or blank rows in my selection?
Empty cells become empty fields, which keeps the column alignment intact (for example, Alice,,Netherlands). Entirely blank rows are skipped, so you will not get hollow lines scattered through the output. If you accidentally select a large empty region below your table, it simply disappears from the result.
Can I convert very large spreadsheets without the browser slowing down?
Yes. Because the work happens entirely in JavaScript in your browser, there is no upload time and no server-side limit. Even tens of thousands of rows convert almost instantly. The only practical ceiling is your device's memory for truly enormous selections, which is far beyond what a typical copy-and-paste job needs.
Is there a way to preserve leading zeros, like phone codes or IDs?
This converter works with exactly what Excel copies. If a column is formatted as a number, Excel itself drops leading zeros before you ever copy it. To keep them, format the column as Text in Excel before copying (or re-type the cells as text). The converter will then preserve the zeros because it receives them as part of the text.
Why does a cell with a comma get wrapped in double quotes?
Because a comma is the character used to separate columns, an unquoted comma inside a cell would split that cell into two columns and corrupt the row. The CSV standard solves this by wrapping any cell that contains a comma, a quote, or a line break in double quotes. That is what this tool does automatically, so your data structure stays correct.
Do you offer an API or an upload option?
No, and that is deliberate. The tool is 100% client-side and private: your data is never transmitted anywhere. If you need to process a file on disk rather than pasted text, you can still copy the cells from that file and paste them here, or use a spreadsheet export to CSV and then edit the result. For programmatic use, the same quoting rules apply in any CSV library.
Does this converter work with Google Sheets?
Yes. Google Sheets copies cells as tab-separated text, exactly like Excel, so the same copy-and-paste flow works: select the cells, press Ctrl+C (or Cmd+C on Mac), and paste them into the box. The same applies to LibreOffice Calc and Apple Numbers, which also use tabs as the column separator on the clipboard.
Are formulas and cell formatting preserved in the CSV?
No β and that is expected. When you copy cells, the spreadsheet converts formulas to their computed values, so the visible result is what gets pasted. Formatting such as colors, fonts, borders, and number formats is not part of the copied text and is not carried over. CSV is a plain-value format by design, which is why it imports cleanly into so many tools.
What about cells that contain a line break, like a multi-line note or address?
A cell with an internal line break is wrapped in double quotes so the newline is not mistaken for the end of a row. When you paste the CSV back into a spreadsheet or import it into a database, the multi-line field stays intact inside a single cell. This is standard RFC-4180 behaviour and exactly what the converter produces.
Can I use the output for database imports or machine-learning training data?
Yes. Because the generated CSV follows RFC-4180 quoting rules, it imports cleanly into MySQL, PostgreSQL, SQLite, Airtable, and most data and machine-learning tooling. Since the conversion runs entirely in your browser, you can even prepare sensitive rows or large training corpora locally without any of that data leaving your machine.
About the Author
This converter is built and maintained by Aren Breur, the creator of ConvertAny.app. Aren focuses on fast, privacy-friendly online tools that run entirely in your browser, so your data never leaves your device. For questions or feedback, reach out at aren2connect@gmail.com.