ChatGPT table pasted into one Excel column? Fix the columns
Reviewed .
You asked ChatGPT for a comparison table, clicked copy, pasted into Excel, and got every row squeezed into column A with vertical bars between the values. Nothing is broken. You pasted the table's source text instead of the table.
Why it happens
The copy button under a ChatGPT or Claude reply copies Markdown, the plain-text format the reply was written in. A Markdown table looks like this:
| SKU | Item | Qty |
|-------|-------------|----:|
| 00123 | Desk lamp | 4 |
| 00456 | Monitor arm | 2 |
Excel sees one line of text per row and has no reason to split it, so each line lands in a single cell, pipes and dashes included. Selecting the rendered table with the mouse instead usually copies tab-separated cells, which Excel does split. That works for short tables, but it is easy to miss rows on a long reply, and the values still go through Excel's automatic conversion.
Split it by hand in Excel
- Select column A, then choose Data, Text to Columns.
- Choose Delimited, then tick Other and type a vertical bar (|).
- In the last step, select every column that holds codes, IDs or zip codes and set its format to Text.
- Finish, then delete the dashed divider row and the empty first and last columns the outer bars create.
- Trim the spaces around each value: =TRIM(A1) in a spare column, or Find and Replace.
Google Sheets has the same idea under Data, Split text to columns, with a custom separator of |. It has no per-column format step, so format those columns as Plain text before splitting.
Step 3 is the one people skip, and it is where data quietly changes.
Leading zeros, long IDs and surprise dates
When Excel decides a cell looks like a number, it converts it:
| In the chat | After a plain paste or split |
|---|---|
| 00123 | 123 |
| 4006381333931 (13-digit barcode) | 4.00638E+12 on screen |
| A 16-digit order or card-style number | Last digit becomes 0, permanently |
| 3-4 (a range, or a size) | A date, such as 4 March |
Excel stores at most 15 significant digits, so the fourth row cannot be undone after the fact. The same goes for leading zeros: once 00123 is the number 123, nothing in the cell says how many zeros there were. Fix it at the import, not afterwards. Microsoft's own page on keeping leading zeros and large numbers covers the settings in more depth.
Or convert the table directly
- Copy the whole reply with the copy button. The text around the table doesn't matter.
- Paste it into the free chat table to Excel converter. If the reply has several tables, pick one.
- Check the row and column count in the preview. A warning appears if any row has more or fewer cells than the header.
- Choose Download Excel.
The .xlsx file stores plain numbers such as 4 or 29.5 as numbers, so sums and sorting work. Anything with a leading zero, more than 15 digits, a currency or percent sign, or any text is stored as text, exactly as written. One gap: an ID of 12 to 15 digits with no leading zero, like the barcode above, is still a plain number, so Excel may display it as 4.00638E+12. The value is intact; format that column as Number with no decimals to see every digit. Bold and links are stripped to their text. The conversion runs in the page; your table isn't uploaded.
Prefer the Excel download over CSV when codes matter. A CSV carries no column types, so opening it by double-click runs Excel's conversion all over again. The Copy for Sheets button is handy for quick tables, but Google Sheets also converts pasted values, so check any code columns after pasting.
Check before you use it
- Compare the row count with the reply. A long table that ChatGPT split across two replies arrives as two tables.
- Look at one code column and one number column. Codes should be left-aligned text; quantities should be right-aligned numbers.
- If the uneven-row warning appeared, find the row. It is usually a cell that contained a | of its own, or a row the model ended early.
- Remember the table is the model's output. Converting it cleanly doesn't make the figures correct.
Moving a whole chat history into a spreadsheet is a different job. For that, see converting ChatGPT history to CSV.