Skip to content

📊 Excel Paste Formatter

Convert CSV, TSV or free text into Excel-paste-ready TSV. RFC 4180 quotes, LF/CRLF switch, formula-injection escape (=, +, -, @ prefixed with single quote).

100% Free No signup Browser-only 5 languages Dark mode

🔒 About Privacy

💡 Tip: click Copy, then select a cell in Excel and press Ctrl+V (Cmd+V on Mac) to paste.

📖 Where people get stuck

Reshapes CSV, TSV or free text into TSV that pastes straight into Excel, with RFC 4180 quote handling, a choice of LF or CRLF, and escaping against formula injection. Everything runs in the browser. Excel damages data on the way in, not the data itself — automatic conversion fires the moment you paste, so the job is not only to format what you hand over but to account for the settings on the receiving side.

Case What happens What to do
Leading zeros vanish, values become dates or scientific notation Excel tries to interpret every string in a cell as a number or a date. The result is that 0123 becomes 123, 1-2 becomes 2 January, 1/2 becomes a date, 1E5 becomes 100000, and digits beyond the sixteenth are replaced with zeros. Postcodes, phone numbers, product codes, bank account numbers and gene names are the classic victims — the MARCH1 problem actually forced the genetics community to change its naming conventions. The conversion is committed the instant you paste and cannot be undone; once saved, the information is gone for good. Set the destination columns to text format before you paste. That is the only reliable method: select the columns, choose Text in the cell format dialog, and paste afterwards. The reverse order does not work — converting an already-numeric cell to text does not bring the lost zeros back. When you are handing over a file, tell the recipient not to open the CSV by double-clicking it: importing it as a text file from the Data tab lets them assign a type per column. Walking through that yourself once before you send it makes the instructions concrete.
Newlines inside a cell break the row structure When pasting via the clipboard, Excel splits columns on tabs and rows on newlines — a simple rule that pays no attention to whether you are inside quotes. So data containing a newline inside a cell, such as an address or a notes field, breaks the row at that point. It is not one row going wrong: every row after it shifts by a column and the whole table collapses. Reading the same data as a CSV file does honour RFC 4180 quoting, but pasting is a different path and does not — and not knowing that difference makes the cause impossible to find. Replace in-cell newlines before preparing data to paste — swapping them for a space or a / is the practical choice. Inside Excel you create an in-cell line break with Alt+Enter, and pasting cannot reproduce that. If the line breaks genuinely have to survive, hand the data over as a CSV file rather than through the clipboard and have it imported from the Data tab, where quoted newlines are interpreted correctly. The key is to decide which of the two routes you are using before you start formatting; switching halfway always breaks something.
Cells starting with = are executed as formulas This is not a display problem but a vulnerability, known as CSV injection. An attacker who puts a value such as =cmd|'/c calc'!A1 into a name field gets a command executed on the administrator machine the moment that administrator opens the exported CSV in Excel. Your server did nothing wrong, and your CSV became the delivery vehicle. The dangerous leading characters are not only = but +, - and @, and also a tab (0x09) and a carriage return (0x0D). Turn on formula escaping on this page: it prefixes values that begin with a dangerous character with a single quote so Excel treats them as text. The real fix, though, is on the serverif you have any code that exports user-supplied values as CSV, implement the same escaping at that output. Structurally this is the same problem as XSS: the correct design escapes at output rather than rejecting at input, because rejecting at input also turns away legitimate values — chemical formulas that look like expressions, an accounting -100. That OWASP treats this attack as an item in its own right is a fair indication that it should not be waved away.

Pasting through the clipboard has one large advantage: no character-encoding problem arises — which is why this tool produces TSV. When you hand over a file instead, Excel in a Japanese environment will try to read a UTF-8 CSV without a BOM as Shift-JIS and garble it. The standard workaround is to save as UTF-8 with BOM, but then the receiving program finds an invisible \ufeff stuck to the front of the first header name — that is the explanation whenever a column called id mysteriously cannot be found. In Python, reading with encoding="utf-8-sig" strips it. One more thing: TSV cannot carry a tab inside a value, because it has no quoting convention like RFC 4180, so replace tabs with spaces before pasting if your data might contain them. Being able to guarantee that the delimiter never appears inside a value is also precisely why TSV is easier to work with than CSV.

📖 How to Use

  1. 1
    Paste CSV or TSV
    Paste source data. Delimiter can be auto-detected.
  2. 2
    Set options
    For Windows Excel use CRLF and formula escape ON.
  3. 3
    Press Convert
    TSV (tab-delimited) appears in the output box.
  4. 4
    Copy and paste into Excel
    Click Copy, then Ctrl+V in an Excel cell. Each value lands in its own cell.

❓ Frequently Asked Questions

What is formula escape?
If a cell starts with = + - @, Excel treats it as a formula (CSV injection risk). We prefix a single quote so it is treated as text.
Should I use LF or CRLF?
CRLF for Windows Excel. LF works fine in Mac/Linux editors and Google Sheets.
Can a cell contain a line break?
Yes. With RFC 4180 quotes ON, double-quoted fields keep internal line breaks.
🐛 Found a bug or issue with this tool?

Free to use, no signup. Even just the steps to reproduce are helpful. Reports go directly to the operator and help us fix issues.

* Browser info (UA / screen / language / URL) is sent automatically to help reproduce the issue