ChatGPT Table to Excel
Paste a table from ChatGPT, Claude or any AI chat and download it as an Excel .xlsx or a CSV file, with numbers kept as numbers. Nothing is uploaded.
Preview
The table appears here as you paste.
How to use this tool
- In ChatGPT, Claude or Gemini, press the copy button under the answer that contains the table. Paste it into the box. Or press "Try an example".
- Check the preview. The answer's other text is ignored, and if it holds several tables you can choose which one to preview.
- Press "Download .xlsx" for an Excel workbook, with one sheet per table, or "Download .csv" for the table in the preview.
- Open the file in Excel, Google Sheets, Numbers or LibreOffice.
Example: a pricing table from an AI answer
Before: what the copy button gives you
Here is a comparison of the three plans: | Plan | Monthly price ($) | Users | Notes | |---|---:|---:|---| | Starter | 9 | 1 | Email support | | **Team** | 29 | 10 | Chat, email | | Business | 99 | 1,000 | SSO \| audit log | Let me know if you want yearly prices too.
After: the CSV file
Plan,Monthly price ($),Users,Notes Starter,9,1,Email support Team,29,10,"Chat, email" Business,99,"1,000",SSO | audit log
The .xlsx holds the same 4 rows and 4 columns, with the prices and user counts stored as numbers.
Awkward cells, handled
Tables from AI chats are full of things that break a quick copy and paste: commas inside cells, bold text, links, line breaks, the occasional escaped pipe and text that a spreadsheet would run as a formula. Each row below was run through the converter; the right-hand column is the CSV line it wrote, quoted the way RFC 4180 says, with formula-like cells made safe as OWASP recommends.
| Case | Row you paste | CSV line you get |
|---|---|---|
| Bold and links | | **Team** | [site](https://commonmark.org/) | | Team,site (https://commonmark.org/) |
| A comma in a cell | | Chat, email | 29 | | "Chat, email",29 |
| Quotation marks | | 5" screen | "Pro" plan | | "5"" screen","""Pro"" plan" |
| An escaped pipe | | SSO \| audit log | 99 | | SSO | audit log,99 |
| A line break | | Line one<br>line two | 1 | | "Line one line two",1 |
| A row with a missing cell | | Starter | | Starter, |
| A cell a spreadsheet would run as a formula | | =HYPERLINK("https://commonmark.org/") | -3.5 | | "'=HYPERLINK(""https://commonmark.org/"")",-3.5 |
Numbers stay numbers
In the .xlsx file, a cell that is plainly a number is stored as a number, so SUM, sorting and charts work straight away. Anything that could be changed by guessing is kept as text: a leading zero would vanish, so would the last zero of a price such as 4.50, a barcode or order number longer than 11 digits would show as 5.90123E+12, and currencies, percentages and dates are written in too many ways to convert safely. The header row is always text. Untick "Store numbers as numbers" to keep every cell as text.
| Cell text | Stored as |
|---|---|
42 | the number 42 |
-3.5 | the number -3.5 |
1,000 | the number 1000 |
007 | text, exactly as written |
4.50 | text, exactly as written |
5901234123457 | text, exactly as written |
$29 | text, exactly as written |
45% | text, exactly as written |
2026-03-01 | text, exactly as written |
Why AI tables do not paste into Excel
ChatGPT and other assistants draw tables with Markdown: each row is a line of text, cells are separated by vertical bars, and a line of dashes marks the end of the header. The chat window renders that as a neat grid, but the copy button copies the text underneath. Paste it into a spreadsheet and every row lands in a single cell of column A, pipes and all. Splitting it with Text to Columns gets close, until a cell contains a comma or a pipe of its own.
This tool reads the table the way a Markdown renderer does, following the GitHub Flavored Markdown table rules, and writes each cell to its own spreadsheet cell. Prose before and after the table is ignored, so you can paste a whole answer without trimming it first, and every table in it is found.
Private by design
The spreadsheet is built in this page, on your device. Your table is not uploaded, logged or stored anywhere, which matters when it holds sales figures, salaries or customer names.
Limits
- Formatting inside cells is removed: bold, italics and code become plain text, and a link becomes its text followed by the address in brackets.
- Each table needs its line of dashes under the header row, as AI chats always write it.
- A table ends at the first blank line or the first line without a vertical bar, so a table split by a blank line is read as two tables.
- Merged cells and colours cannot be expressed in a Markdown table, so none are created.
- The .xlsx stores every cell as a value, never as a formula. In the .csv, a cell starting with =, +, - or @ gets an apostrophe in front so a spreadsheet opens it as text, unless you untick "Protect against formulas".
- The CSV holds one table, the one shown in the preview; the .xlsx holds all of them.
Frequently asked questions
Is my table uploaded anywhere?
No. The table is read and the files are written by code inside this page, in your browser. Nothing you paste is sent to a server.
Why does the table come out in one column when I paste it into Excel?
Because the copy button in an AI chat copies the answer's Markdown, where a table is lines of text with | between the cells. Excel does not split those lines into cells. This tool reads the pipes and builds a real spreadsheet from them.
Can I paste a table I selected on screen instead?
Yes. When you select a rendered table with the mouse and copy it, most browsers put tab-separated rows on the clipboard. The tool reads those too, including cells quoted the way Excel and Google Sheets quote them.
Which should I choose, .xlsx or .csv?
Choose .xlsx to open the table in Excel with a bold header row, sensible column widths and numbers ready for formulas. Choose .csv to import the data into another program, a database or a script. The CSV follows RFC 4180 and starts with a byte-order mark so Excel reads accented letters correctly.
Why do some CSV cells start with an apostrophe?
A cell that begins with =, +, - or @ is run as a formula when a spreadsheet opens a CSV file, and a formula hidden in pasted text can fetch web pages or run commands. Following the OWASP advice on CSV injection, the tool puts an apostrophe in front of such cells so they open as text. Ordinary negative numbers such as -3.5 are left alone. Untick "Protect against formulas" if you really want them run.
Does it work with tables from Claude, Gemini and Copilot?
Yes. They all write tables in the same Markdown pipe format, and so do GitHub, Notion exports and most Markdown editors.
Is it free?
Yes, with no sign-up and no limit on how many tables you convert. Pro, planned as a one-time purchase, adds converting a whole folder of Markdown files at once.