Why the table falls apart when you paste it
A table in the ChatGPT window looks like a table, but underneath it is markdown: one line of text per row, cells divided by vertical bars, and a line of dashes under the header. Select it, copy it, paste it into Excel, and Excel does the only thing it can do with plain text: one line per cell, pipes and all. You get a single column of | Widget Pro | $12,400 | 8.5% | strings. The copy button under the answer sometimes does better, because it also puts a rich version on the clipboard, but what arrives depends on the Excel build, and the numbers often come through as text with a stray space or a non-breaking space attached.
The manual repair is Data → Text to Columns with | as the delimiter, then trimming the spaces, then deleting the dashes row, then converting the number-shaped text to numbers. That is five minutes per table. This page does it on paste and hands the result to Excel in whichever form you want.
Three ways in, and when to use each
Copy puts both a rich table and a tab-separated version on the clipboard, so it also pastes correctly into Numbers, LibreOffice and Google Sheets.
Copy for Sheets / Excel is the everyday route. The clipboard carries an HTML table, which Excel reads directly into cells: the header row becomes the first row, each cell becomes a cell, and Excel runs its own recognition on the text, so 12,400 becomes a number and 2024-03-01 becomes a date in your regional format. It is the same thing that happens when you copy a table from a web page, done cleanly.
Download .xlsxis for when you want a file: to attach to an email, to import into a system that wants a workbook, or to keep. The file is built in your browser from the parsed cells, which means the typing is done by the tool rather than by Excel’s guesswork: numbers are numeric cells with a thousands-separator format, percentages are stored as fractions and formatted as percentages, currency keeps its symbol as a format rather than as text, the header row is bold and frozen so it stays visible while you scroll, and column widths are set from the content. If the answer contained three tables, the workbook has three sheets.
Download .csv is the lowest common denominator. One table, plain values, commas and quotes exactly as the CSV standard says, with a byte-order mark at the start so Excel opens accented names correctly instead of as mojibake. Use it when the destination is not Excel at all.
What happens to numbers, percentages and currency
The point of a spreadsheet is that the numbers add up, so the tool is careful about which cells it treats as numbers. The rules below apply to the .xlsx download and to the right-aligned preview; when you paste instead, Excel applies its own, similar recognition.
Two of those rules are worth a sentence each. Leading zeros are the classic spreadsheet accident: a ZIP code of 02134 becomes 2134 the moment it is typed as a number, so anything that starts with a zero stays text. And a sixteen-digit account or card number cannot be held exactly in a spreadsheet number, which rounds past fifteen digits, so those stay text too. Switch “Detect numbers” off if you would rather have every cell as text and type the columns yourself.
Several tables, several sheets
ChatGPT answers often contain more than one table: a summary and a breakdown, a before and an after, one table per region. Paste the whole answer and each table is found separately — the count and a row of tabs appear above the preview. Copy and CSV act on the table you have selected; the .xlsx download writes all of them, one per sheet, in the order they appeared. Prose between the tables is ignored, so there is no need to trim the answer before pasting.
Cleaning that happens on the way
Cells are cleaned the same way the rest of this site cleans AI text. Bold markers, backticks and other inline markdown are removed, so a header written as **Revenue** arrives as Revenue. Links become their text with the address in brackets. Line breaks inside a cell, which markdown writes as <br>, become real line breaks. And the hidden characters that ride along with copied AI output — zero-width spaces, non-breaking spaces, the narrow space in “3 PM” — are stripped, which is what makes the number recognition reliable: a non-breaking space glued to 12,400 is the usual reason a pasted number refuses to add up.
Not only ChatGPT, not only markdown
The detector reads whatever table shape it is given. Markdown tables from Claude, Gemini, Copilot and Perplexity look the same as ChatGPT’s. ASCII tables drawn with +---+ borders or box-drawing characters, which some models and most command-line tools produce, are read too. Tab-separated text from a terminal or a log, comma- or semicolon-separated CSV pasted from a file, and a table selected on any web page all parse. If you have a table from a Claude or Gemini answer, this is the page for it as well.
Related tools
- ChatGPT to Google Sheets — the same converter with the Sheets-specific notes: locale, Split text to columns, importing tabs.
- ChatGPT to Word — for the paragraphs around the table, as real headings and lists.
- Strip markdown — when you want the table as plain tab-separated text inside a document rather than a spreadsheet.
Private and free
Parsing, copying and building the .xlsx all happen in your browser with client-side JavaScript. Your table is never sent to a server, stored or logged. No account, no limits, no watermark.