Prepare Markdown for Substack
Substack does not read Markdown. In a live test on 2026-08-24, pasting the raw fixture produced 102 paragraphs and zero headings, lists, quotes, code blocks, tables, images, or links: every Markdown character stayed literal. Pasting rich HTML instead preserved the heading hierarchy, nested lists, quotes, dividers, code blocks, links, and an imported image. That is why this tool builds a rich clipboard payload for Substack and a plain-text fallback alongside it.
Handoff mode: Rich HTML clipboard. Tested in Substack web post editor. Tested 2026-08-24.Fixture markdown-portability-test-v1.See the record.
Prepare your draft
Your Markdown
Your draft stays in this browser. Nothing is uploaded.
Source context (optional)
Relative links and local files stay unresolved until you confirm where they point. Each unresolved target gets its own manual step rather than a guess.
How the Rich HTML clipboard handoff works
The copy action writes both an HTML flavor and a plain-text flavor to the clipboard, so the editor takes the rich version and anything else gets readable text. What rich paste cannot do is create Substack native nodes. The editor has working Footnote and LaTeX controls, verified in preview, but no clipboard content maps onto them, so those constructs become a repair checklist rather than a false promise.
What happens to each construct
| Rule | What happens | Result | Why | Confidence | Last tested |
|---|---|---|---|---|---|
SUB-FM-01 | Front matter is removed from the body. | Manual step | A generic renderer turned front matter into a stray heading and divider in the tested paste. | Verified | 2026-08-24 |
SUB-LINK-02 | Relative and local links are not resolved. | Manual step | Substack rebound tested relative links onto its own publication path. | Verified | 2026-08-24 |
SUB-TABLE-02 | A wide table needs a media plan, not flattened cells. | Manual step | Flattening a complex table silently would lose the relationships between cells. | Verified | 2026-08-24 |
SUB-IMAGE-02 | Local images do not upload. | Manual step | A local relative image became IMAGE NOT FOUND in the tested paste. | Verified | 2026-08-24 |
SUB-FOOT-01 | Footnotes are moved to a checklist. | Manual step | Footnote syntax stayed literal and no native footnote node was created by paste. | Verified | 2026-08-24 |
SUB-MATH-01 | Math is moved to a checklist. | Manual step | Dollar-delimited math stayed literal; the native LaTeX block cannot be written by clipboard. | Verified | 2026-08-24 |
SUB-OBS-01 | Obsidian syntax is flattened to ordinary rich content. | Manual step | Wiki links and transclusions stayed literal and the callout degraded to a quote. | Verified | 2026-08-24 |
CORE-LINK-01 | A link with an unsafe scheme was removed; its text was kept. | Degraded | Only http, https, and mailto targets are carried. A javascript:, data:, or protocol-relative target is never copied into a destination editor. | Verified | 2026-08-24 |
SUB-TABLE-01 | Tables become accessible labeled rows. | Degraded | Rich paste removed all table structure and no native table control was visible. | Verified | 2026-08-24 |
SUB-MERMAID-01 | Mermaid stays as source code; no diagram renders. | Degraded | The source survived as a code block but did not render as a diagram. | Verified | 2026-08-24 |
SUB-HTML-01 | Raw HTML is removed; its visible text is kept. | Degraded | The tested paste removed details behavior and kept only the visible text. | Verified | 2026-08-24 |
SUB-TASK-01 | Task state becomes Done: or To do:. | Changed | Rich paste lost checkbox state in the tested editor. | Verified | 2026-08-24 |
SUB-HEAD-01 | Heading hierarchy survives rich paste. | Kept | H1 through H6 survived the tested rich paste. The publication title stays a separate decision. | Verified | 2026-08-24 |
SUB-EMPH-01 | Inline formatting survives rich paste. | Kept | Emphasis, strike, and inline code survived in the tested forms. | Verified | 2026-08-24 |
SUB-LINK-01 | Absolute and mailto links survive. | Kept | Both survived the tested rich paste. Preview behavior is outside this contract. | Verified | 2026-08-24 |
SUB-LIST-01 | Lists and nesting survive rich paste. | Kept | Nested ordered and unordered lists survived the tested paste. | Verified | 2026-08-24 |
SUB-QUOTE-01 | Quotes and dividers survive. | Kept | Both survived the tested rich-paste path. | Verified | 2026-08-24 |
SUB-CODE-01 | Code survives, but a long unbroken line needs a mobile check. | Kept | Code blocks survived; long-line overflow still needs destination review. | Verified | 2026-08-24 |
SUB-IMAGE-01 | Remote images are imported and rewritten by Substack. | Kept | The tested paste showed Substack importing the remote asset onto its own CDN. | Verified | 2026-08-24 |
SUB-BREAK-01 | Hard breaks and paragraphs survive. | Kept | Both survived the tested rich paste. | Verified | 2026-08-24 |
SUB-ANCHOR-01 | Heading anchor links survive but may be rebound. | Kept | Substack rewrote the tested anchor onto its draft URL. | Verified | 2026-08-24 |
Where Substack usually goes wrong
Tables are destroyed
Both fixture tables were flattened into unstructured paragraphs and every table element was removed. No native table control was visible in the editor menu. This tool converts tables into accessible labeled rows so no cell value is lost.
Footnotes and math do not transfer
Footnote references stayed literal and an indented continuation became a code block. Dollar-delimited math stayed literal. Both have native controls you have to use by hand, so the tool keeps the content in a checklist instead of shipping broken syntax.
Relative links get rebound
Substack rewrote tested relative links onto its own publication path, and a heading anchor was rewritten onto the draft URL. Absolute links survived unchanged.
Local images fail, remote images move
A local relative image became IMAGE NOT FOUND. A remote image was imported and rewritten through Substack storage, which is usually what you want but is worth knowing.
Evidence from the test

Limits of what was tested
- No email was sent, so email client rendering is untested.
- Native Footnote and LaTeX blocks rendered in an unpublished preview, but no verified way exists to create them from the clipboard.
- No native table control was visible in the tested menu.
- Editor behavior can change; claims need a new dated test after a material update.
A live result proves the tested surface on the tested date. Rendering is not identical across platform versions, themes, plugins, or email clients, and link preview cards are controlled by the destination.