Markdown Preflight

Research /Checker / Substack

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.

0 characters, 0.0 KB
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

Every rule this tool applies to Substack, generated from the rule set the product runs. Fixture markdown-portability-test-v1, tested 2026-08-24.
RuleWhat happensResultWhyConfidenceLast tested
SUB-FM-01Front matter is removed from the body.Manual stepA generic renderer turned front matter into a stray heading and divider in the tested paste.Verified2026-08-24
SUB-LINK-02Relative and local links are not resolved.Manual stepSubstack rebound tested relative links onto its own publication path.Verified2026-08-24
SUB-TABLE-02A wide table needs a media plan, not flattened cells.Manual stepFlattening a complex table silently would lose the relationships between cells.Verified2026-08-24
SUB-IMAGE-02Local images do not upload.Manual stepA local relative image became IMAGE NOT FOUND in the tested paste.Verified2026-08-24
SUB-FOOT-01Footnotes are moved to a checklist.Manual stepFootnote syntax stayed literal and no native footnote node was created by paste.Verified2026-08-24
SUB-MATH-01Math is moved to a checklist.Manual stepDollar-delimited math stayed literal; the native LaTeX block cannot be written by clipboard.Verified2026-08-24
SUB-OBS-01Obsidian syntax is flattened to ordinary rich content.Manual stepWiki links and transclusions stayed literal and the callout degraded to a quote.Verified2026-08-24
CORE-LINK-01A link with an unsafe scheme was removed; its text was kept.DegradedOnly http, https, and mailto targets are carried. A javascript:, data:, or protocol-relative target is never copied into a destination editor.Verified2026-08-24
SUB-TABLE-01Tables become accessible labeled rows.DegradedRich paste removed all table structure and no native table control was visible.Verified2026-08-24
SUB-MERMAID-01Mermaid stays as source code; no diagram renders.DegradedThe source survived as a code block but did not render as a diagram.Verified2026-08-24
SUB-HTML-01Raw HTML is removed; its visible text is kept.DegradedThe tested paste removed details behavior and kept only the visible text.Verified2026-08-24
SUB-TASK-01Task state becomes Done: or To do:.ChangedRich paste lost checkbox state in the tested editor.Verified2026-08-24
SUB-HEAD-01Heading hierarchy survives rich paste.KeptH1 through H6 survived the tested rich paste. The publication title stays a separate decision.Verified2026-08-24
SUB-EMPH-01Inline formatting survives rich paste.KeptEmphasis, strike, and inline code survived in the tested forms.Verified2026-08-24
SUB-LINK-01Absolute and mailto links survive.KeptBoth survived the tested rich paste. Preview behavior is outside this contract.Verified2026-08-24
SUB-LIST-01Lists and nesting survive rich paste.KeptNested ordered and unordered lists survived the tested paste.Verified2026-08-24
SUB-QUOTE-01Quotes and dividers survive.KeptBoth survived the tested rich-paste path.Verified2026-08-24
SUB-CODE-01Code survives, but a long unbroken line needs a mobile check.KeptCode blocks survived; long-line overflow still needs destination review.Verified2026-08-24
SUB-IMAGE-01Remote images are imported and rewritten by Substack.KeptThe tested paste showed Substack importing the remote asset onto its own CDN.Verified2026-08-24
SUB-BREAK-01Hard breaks and paragraphs survive.KeptBoth survived the tested rich paste.Verified2026-08-24
SUB-ANCHOR-01Heading anchor links survive but may be rebound.KeptSubstack rewrote the tested anchor onto its draft URL.Verified2026-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

Rich HTML pasted into the Substack post editor, showing preserved headings, emphasis, and nested lists. Tested 2026-08-24.
Rich HTML pasted into the Substack post editor, showing preserved headings, emphasis, and nested lists. Tested 2026-08-24. 1849 by 952 pixels.

Limits of what was tested

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.

Related