How to Paste ChatGPT or Claude Output into Substack Without Losing Formatting
You asked ChatGPT or Claude to help you outline a post, tidy a draft, or build a comparison table. The answer looks clean in the chat window. Then you paste it into Substack and get a mess: literal **asterisks**, ## signs in front of your headings, and a table that turns into rows of pipes and dashes.
You’re not the only one. Writers keep asking on X why there’s “no way to copy-paste markdown into substack,” and others want to go straight from ChatGPT to Substack without cleaning anything up by hand.
That paste is the problem DownStack is built to solve.
Paste, convert, copy
ChatGPT, Claude, and most other assistants write in Markdown. Substack’s editor does not read Markdown. DownStack converts the Markdown first, then puts Substack-ready rich text on your clipboard in one click.
- In ChatGPT or Claude, copy the response as Markdown. The copy button usually does this.
- Paste it into the left side of the DownStack editor.
- Check the preview. Headings, bold, italics, links, lists, blockquotes, and code blocks are real formatting, and tables show as tables so you can confirm the columns.
- Click Copy for Substack. That click puts the rich text on your clipboard and draws each table as a hosted image, so the table survives email and the web. Paste into the Substack editor.
If the draft is already in ChatGPT, the DownStack app converts it without leaving the chat. It turns the Markdown into HTML you can paste into Substack, draws each table as a PNG on downstack.app, and does not publish the post. Table images created in the app are kept for 90 days. For a post that should keep its tables, paste the same Markdown into the editor and use Copy for Substack.
DownStack does not turn Markdown footnotes ([^1]) into Substack footnotes, and it does not convert math. Add those in Substack after you paste. See the footnotes guide.
Why the direct paste breaks
The chat window renders Markdown, so **bold** looks bold, ## Heading looks like a heading, and | a | b | lines look like a table. What lands on the clipboard is a different story:
- The chat app’s copy button often copies the raw Markdown source. Substack is a rich-text editor, so it pastes the symbols literally.
- Selecting the rendered answer and copying it usually copies HTML. Headings, bold, and lists often survive, but tables don’t. Substack has no table block, so pasted tables collapse into loose paragraphs.
Either way, you end up fixing formatting line by line. For one short note that’s tolerable. For a 2,000-word post with three tables, it eats the publishing time. Converting before you paste is the reliable path.
When you don’t want the formatting
Two workarounds exist if you are willing to throw structure away.
Ask the model for plain prose:
Write this as plain paragraphs. No Markdown symbols, no tables.
Then add headings and bold in Substack yourself. That works for a short essay and drops comparison tables, numbered steps, and code.
Substack also has a few Markdown-style shortcuts as you type, such as starting a line with # or -. Those fire as you type. They do not convert text you paste. Hand cleanup is fine for a paragraph and slow for anything longer.
What still needs a human pass
Converting formatting doesn’t make an AI draft publishable. Before you hit send:
- Check facts and numbers. AI tools state wrong figures with confidence. Verify every statistic and link.
- Add your voice. Readers subscribe to you. Rewrite the intro and conclusion yourself at minimum.
- Know your platform’s stance. Substack’s handling of AI-written content is an active discussion among writers, and some writers report having their own writing called “AI slop.” Use AI for structure and drafting help, not to replace your thinking.
- Add alt text to every image, including table images.
- Add footnotes in Substack after the paste.
A repeatable AI-to-Substack workflow
- Outline with AI. Ask for structure, not finished prose.
- Write or rewrite the draft in your own words, in Markdown or a Markdown-friendly app.
- Let the AI build tables for data you supply and check.
- Paste the Markdown into DownStack and click Copy for Substack. In ChatGPT, the DownStack app can do the conversion in the chat. Use the editor when the table images need to stay with the post.
- Paste into Substack and polish: buttons, footnotes, the paywall, and preview text.
- Send yourself a test email and check it on your phone.
For more on structuring the draft, see Substack writing workflow best practices and our complete Markdown-to-Substack guide.
Key Takeaways
- AI chat tools answer in Markdown, and Substack’s editor doesn’t parse a pasted Markdown draft.
- Paste that Markdown into DownStack, check the preview, and click Copy for Substack. Tables become hosted images.
- In ChatGPT, the DownStack app does that conversion in the chat and does not publish. Its table images are kept for 90 days, so use the editor for the version you keep online.
- Formatting is the easy part. Fact-check, add your voice, and add footnotes and alt text before publishing.