How to Copy a ChatGPT Table into Excel or Google Sheets
The table looks like a table in the chat window, then arrives in Excel as one long column of text. Nothing is broken: what you copied is Markdown, and a spreadsheet splits a paste on tabs, which Markdown does not contain.
The short answer
Convert the table to tab-separated text before you paste it. A spreadsheet decides where one column ends and the next begins by looking for tab characters, and a Markdown table contains pipes instead — so pasting it directly usually drops each row into a single cell.
Paste the table into the Markdown Table ↔ CSV converter, choose TSV, copy the result, and paste that into Excel or Google Sheets. Nothing is uploaded — the conversion happens in your browser.
Why AI tables paste badly
ChatGPT, Claude, and Gemini all answer in Markdown. The chat window renders that as a neat table, but what goes on your clipboard is the underlying text:
| Feature | Free | Pro |
| ------- | :--: | ---:|
| Storage | 1 GB | 100 GB |
| Support | Email | Email, chat |To a spreadsheet, that is just lines of text. There are no tabs in it, so there is nothing to split on, and each line becomes one cell. The pipes and the row of dashes then sit in the cells as literal characters. Nothing has gone wrong — the clipboard simply carried a document format rather than tabular data.
Markdown, CSV, and TSV are three different things
All three describe the same table. What differs is how a column boundary is written, and that is the whole of the problem:
| Format | Column boundary | Pasting into a spreadsheet | Best for |
|---|---|---|---|
| Markdown | Pipes and a row of dashes | Not tabular text — usually lands as one column | Writing for a README, a pull request, or a chat |
| TSV | A real tab character | Generally splits into columns on paste | Pasting straight into a spreadsheet |
| CSV | Commas, with quoting where needed | Often one column until you run an import step | Saving a file, or feeding another program |
Paste behaviour varies between applications, versions, and platforms, so treat the middle column as the usual case rather than a guarantee. The underlying point holds everywhere: a spreadsheet needs a delimiter it recognises, and pipes are not one.
The fastest route: convert to TSV
The table above converts to this, with a real tab between each column:
Feature ⇥ Free ⇥ Pro
Storage ⇥ 1 GB ⇥ 100 GB
Support ⇥ Email ⇥ Email, chatThe ⇥ marks show where the tabs are; the real output contains the tab characters themselves. Note the third row: Email, chat keeps its comma and stays in one cell, because the separator is a tab rather than a comma.
ChatGPT to Excel, step by step
- 1. Copy the table out of the chatSelect from the first pipe to the last row and copy. Some assistants offer a copy button on the message, which is easier and gets you the same Markdown.
- 2. Paste it into the converter and choose TSVPaste into the Markdown Table ↔ CSV tool, leave the direction on Markdown → CSV, and switch the output format to TSV.
- 3. Copy the TSV outputThe output panel now holds the same table with a real tab between each column, which is the format a spreadsheet understands as columns.
- 4. Click a single cell in Excel and pasteSelect one cell — not a range — and paste. The table fills outward from that cell. If it still lands in one column, use Data → Text to Columns and choose Tab.
ChatGPT to Google Sheets, step by step
- 1. Convert to TSV the same wayThe conversion is identical; only the destination changes.
- 2. Click a cell in Google Sheets and pasteSheets generally splits tab-separated text into columns on paste without any extra step.
- 3. If it lands in one column, use Split text to columnsPaste, then Data → Split text to columns, and pick Tab as the separator. Sheets remembers the choice for the next paste.
CSV or TSV — which should you pick?
TSV when you are pasting. Tabs are what a spreadsheet splits on, so the table generally lands in cells without an extra step.
CSV when you are producing a file — saving it, sending it to someone, or feeding it to another program. The same table as CSV looks like this:
Feature,Free,Pro
Storage,1 GB,100 GB
Support,Email,"Email, chat"Notice what changed: "Email, chat" is now quoted, because the comma inside it would otherwise look like a column boundary. That quoting is correct CSV and every spreadsheet import understands it — but pasted directly, CSV often arrives as one column, which is why TSV is the better clipboard format.
What happens to the awkward cases
| In the Markdown table | In the spreadsheet |
|---|---|
| A cell containing a comma | Kept in one cell. TSV needs no quoting for it; CSV quotes it. |
| A literal pipe written as \| | Becomes a plain | in the spreadsheet cell. |
| An empty cell, including the last one in a row | Preserved, so the row keeps its column count. |
| A cell with <br> in it | Becomes a real line break inside that one cell. |
| A row with more or fewer cells than the header | Converted exactly as written, and reported. Nothing is padded or removed. |
| Column alignment such as :---: | Dropped. Alignment is Markdown styling and has no spreadsheet equivalent. |
| Formatting inside a cell such as **bold** | Kept as the literal characters, because it is part of the cell value. |
The last row is worth expanding on. The converter moves cell values across as data, so if the assistant wrote **bold** inside a cell, that is what arrives in the spreadsheet — asterisks included. It does not clean Markdown formatting out of cell values, and it is not trying to: that text is part of your data. If you want formatting stripped from prose, Markdown to Plain Text is the tool for that job.
When the paste still goes wrong
| Symptom | Cause | Fix |
|---|---|---|
| Everything is in column A | Markdown was pasted directly, or CSV was pasted rather than TSV. | Convert to TSV and paste again, or split the pasted column on the tab character. |
| Pipes and dashes appear in the cells | The raw Markdown went in without conversion. | Undo, convert the table first, then paste the converted output. |
| One row is short or has an extra column | The assistant produced a row that does not match the header. | The converter reports which row. Fix it in the source table rather than in the spreadsheet. |
| A number turned into a date | The spreadsheet auto-formatted the value on paste. Nothing to do with the conversion. | Format the column as Text before pasting, or use the import dialog and set the column type. |
Convert the table
Paste the Markdown table into the Markdown Table ↔ CSV converter and pick TSV or CSV. It works in both directions, so it also turns a spreadsheet selection back into a Markdown table for a README or a pull request.
It converts text, and only text. There is no file upload, no .xlsx support, and no connection to Excel or Google Sheets — you copy the output and paste it yourself. Everything runs in your browser, so a table containing real data is not uploaded anywhere.
Related tools
To strip Markdown formatting from an answer rather than convert a table, Markdown to Plain Text removes headings, bold, and bullets while keeping the words. If a CSV file is opening oddly in Excel for reasons of its own, CSV Converter reports which delimiter the file actually uses.
Measured with
- DataToolsHQ Markdown Table ↔ CSV —
Papa Parse 5.5.4
The converted output on this page comes from the tool itself. Spreadsheet paste behaviour is described from common practice and is not measured here — it varies by application, version, and platform.