Notion to Substack: The Complete Workflow (And Why It's Still Broken)
You write your newsletter in Notion. You publish it on Substack. Every week the same routine: select all, copy, paste into the Substack editor, then spend ten minutes fixing everything that broke. Headers survived. Bold text survived. Your images did not.
This is the workflow thousands of newsletter writers use. It is fast enough for plain text. It falls apart the moment you add images, embeds, or anything beyond basic formatting.
This guide covers exactly what transfers from Notion to Substack, what breaks, the Chrome extensions people use to patch the gaps, and why the real fix might be switching your drafting tool entirely.
What Survives the Copy-Paste
Notion to Substack copy-paste is not completely broken. Basic rich text formatting transfers cleanly. Here is what makes it through:
- Headers - H1, H2, and H3 all transfer correctly. Substack maps them to its own heading styles.
- Bold and italic - Inline formatting survives. Bold stays bold. Italic stays italic. Combined bold-italic works too.
- Bulleted and numbered lists - Simple lists paste cleanly. Nested lists sometimes flatten, but top-level items are fine.
- Blockquotes - Notion's quote blocks become Substack pull quotes. Styling differs but the content transfers.
- Links - Hyperlinks preserve both the display text and the URL. No need to re-link anything.
- Dividers - Notion's horizontal rule becomes a Substack section break.
If your newsletter is pure text with basic formatting, the Notion-to-Substack workflow is genuinely fine. Copy, paste, publish. The problems start when your content is more than plain text.
What Breaks Every Time
The moment you step beyond text formatting, the copy-paste falls apart. These elements either transfer incorrectly or do not transfer at all.
Images
This is the biggest pain point. When you paste Notion content into Substack, images either appear as broken placeholders or vanish entirely. The reason is technical: Notion stores images on its own CDN with temporary signed URLs. When you copy-paste, the HTML references those Notion URLs. Substack cannot access them reliably, and the URLs expire after a short window.
The workaround is manual. Download each image from Notion. Upload each image into Substack one by one. Position them in the right place in your post. For a newsletter with five or six images, this adds roughly ten minutes to every publishing session.
Embeds
Notion supports embedding tweets, YouTube videos, Figma files, and dozens of other services. None of these transfer to Substack. You get a blank space or a raw URL. You have to re-embed each one manually using Substack's own embed blocks.
Toggle Blocks
Notion's toggle blocks (expandable/collapsible sections) have no equivalent in Substack. When you paste, the toggle wrapper disappears. The content inside may or may not appear, depending on whether the toggle was open or closed when you copied.
Callout Blocks
Notion callout blocks with emoji icons do not map to anything in Substack. The text content pastes, but the visual styling and icon are lost.
Tables
Notion tables sometimes transfer as plain text with tab spacing. Sometimes they paste as a garbled mess. Substack does support tables, but the copy-paste path from Notion is unreliable. You often need to recreate the table from scratch in Substack.
Code Blocks
Notion's code blocks with syntax highlighting paste as plain monospace text. The highlighting is gone. If your newsletter includes code snippets, you will need to reformat them in Substack.
Chrome Extensions That Try to Fix This
The Notion-to-Substack image problem is common enough that developers have built browser extensions specifically to solve it. Two are worth knowing about.
Omnipost - Convert Notion to Substack
Omnipost is a Chrome extension that converts Notion pages to Substack-compatible format. It reads your Notion page and generates output that Substack can accept, including handling the image transfer that plain copy-paste cannot do.
The extension works by downloading images from Notion's CDN and re-uploading them to Substack during the conversion process. For writers whose main pain point is images, this solves the biggest problem.
Notion to Substack Extension
This extension focuses specifically on the image transfer problem. Writers report it saves roughly ten minutes per post - the exact time you would spend manually downloading and re-uploading images. It handles the CDN URL issue by fetching images server-side and injecting them into the Substack editor.
The Problem with Extensions
Both extensions work. But they are patches on a fundamentally broken workflow. You are still using two separate tools that were never designed to work together. You are relying on a third-party extension to bridge the gap. That extension could break with any Notion or Substack update. It adds another dependency. And it only fixes the image problem. Embeds, toggles, callouts, and tables still require manual work.
There is a deeper question worth asking: why are you drafting in Notion in the first place?
Why Writers Use Notion for Newsletter Drafts
Notion is not a writing tool. It is a workspace tool. But writers use it for drafting newsletters for several practical reasons:
- Content calendar. Notion databases make excellent editorial calendars. You can track post ideas, assign statuses, set publish dates, and tag topics. No dedicated newsletter tool offers planning features this flexible.
- Research organization. Writers collect links, quotes, data points, and notes. Notion pages and databases handle this well. Everything for a post lives in one place.
- Collaboration. If you have an editor or co-author, Notion's sharing and commenting features are strong. Substack's editor is single-player.
- Familiar interface. Many writers already use Notion for other work. Adding newsletter drafting to an existing Notion workspace feels natural.
These are all valid reasons to plan in Notion. But they are reasons to use Notion as a content management system, not as a writing environment. The actual drafting and editing can happen in a tool built for that specific job.
The Real Cost of the Broken Workflow
Ten minutes of image re-uploading per post does not sound like much. But newsletter writers who publish weekly spend over eight hours a year on this single task. Twice-weekly publishers spend over seventeen hours.
The hidden cost is worse than the time. The friction discourages you from using images at all. You skip the chart that would make your point clearer. You drop the screenshot that would save readers from confusion. Your newsletter becomes text-heavier than it should be, not because images are not valuable, but because the workflow punishes you for using them.
The same applies to other broken elements. You stop using toggle blocks. You avoid tables. You simplify your formatting to match what survives the copy-paste. The tool shapes the content, which is backwards.
A Better Approach: Write Where Export Works
The cleanest solution is not fixing the Notion-to-Substack pipeline. It is writing in a tool where export is a solved problem.
A markdown-native editor with AI writing assistance can replace both Notion (for drafting) and the Chrome extensions (for transfer). Here is what that looks like in practice:
- Write in markdown. Markdown is a universal format. It converts cleanly to HTML, which is what Substack's editor actually uses under the hood. No proprietary block format. No CDN-dependent image URLs.
- Inline AI editing. Instead of copying text to ChatGPT and pasting back, you select a paragraph and ask the AI to rewrite it in place. You see a diff of what changed. You accept or reject each change. The AI has your full document as context.
- Clean HTML export. When you export to HTML, images are embedded or referenced as standard URLs. The output pastes directly into Substack with everything intact. No extension needed.
- No manual re-upload. Images, formatting, and structure all transfer in a single paste. The ten-minute image ritual is gone.
Athens is built around this exact workflow. It is a markdown editor with AI built in. You write, edit with AI assistance, and export clean HTML that platforms like Substack accept without modification.
When to Keep Notion in the Mix
Notion is still excellent for the parts of newsletter publishing that are not writing. If you use Notion as a content calendar, a research database, or a collaboration hub, keep using it for those purposes. The goal is not to replace Notion entirely. It is to stop using it as a drafting tool when better options exist for that specific task.
A practical split looks like this:
- Notion - Editorial calendar, topic planning, research collection, collaboration with editors.
- Markdown editor with AI - Drafting, rewriting, editing, polishing. This is where the actual writing happens.
- Substack - Publishing, audience management, subscriber interaction. Paste the clean HTML export and hit publish.
Each tool handles what it is best at. No copy-paste gymnastics. No Chrome extensions. No broken images.
Step-by-Step: The Clean Newsletter Workflow
Here is the complete workflow from idea to published newsletter:
- Plan in Notion. Add the post to your editorial calendar. Collect research links and notes in a Notion page.
- Draft in Athens. Open a new document. Write your first draft. Use AI to expand sections, tighten prose, or generate alternative phrasings. Review each suggestion as a tracked change.
- Edit with AI. Select sections that need work. Ask the AI to make them clearer, shorter, or more compelling. Accept the changes you like. Reject the rest.
- Export to HTML. One click. The output includes all formatting and images as clean, portable HTML.
- Paste into Substack. Switch to Substack. Paste the HTML. Everything transfers. Add your Substack-specific elements (subtitle, section, preview text).
- Publish. Preview, send a test email, and publish.
Total time on transfer: under one minute. No image downloads. No re-uploads. No extension required.
The Bottom Line
The Notion-to-Substack workflow works for plain text. It breaks for images, embeds, toggles, and tables. Chrome extensions like Omnipost and Notion to Substack patch the image problem but leave everything else broken. They add dependencies that can break with any platform update.
The better approach is to draft in a tool that exports cleanly. A markdown editor with AI gives you a better writing experience than Notion and a better export path than any extension can provide. Keep Notion for planning. Use a proper writing tool for writing.
If you are exploring alternatives to Notion for writing, check out our guide to the best Notion AI alternatives for writers. And if you want to learn more about writing newsletters with AI assistance, see our guide on how to write a newsletter with AI.