Why Markdown Breaks Everywhere You Paste It

What you see versus what you copy
In a chat window, ## What actually works is displayed as a heading. What sits on your
clipboard, though, depends on how you copied it.
Copy the rendered text and you get the words without the structure — the heading becomes an ordinary line, the list markers disappear, and the nesting flattens. Copy the raw Markdown and you get the structure as literal punctuation: hashes, asterisks, dashes and backticks, all of it visible.
Either way the post composer you paste into is a plain-text field. It has no notion of a heading. So one of the two things is lost every time.
Why platforms do this
It is not an oversight. Rich text in a public feed is an abuse surface — it lets a post imitate system UI, impersonate a verified label, or hide text from moderation while showing something else to readers. Stripping formatting on paste is the cheap defence, and no major platform is going to reverse it.
Some platforms allow a narrow subset — a line break here, a bullet there — but none of them accept the structure that makes a long explanation readable.
The three ways around it
Unicode substitution. Replacing letters with mathematical bold or italic code points so they look bold. It survives the paste, but screen readers announce the code points one by one, and search inside the platform will not match the text. It makes your post inaccessible to gain a visual effect.
Rewriting for plain text. Turning headings into short standalone lines, lists into line-broken sentences, and dropping the rest. This works and costs nothing but time. It is the right answer for a short post.
Rendering to images. Keeping the structure by moving it out of the text field entirely. A heading is a heading because it is drawn larger, not because a hash mark survived. This is what TextCard does, and it is what carousel posts have always quietly been.
A note on accessibility
Images of text are not readable by screen readers. If you publish this way, put the substance of the content in the alt text and in the post caption. A carousel with an empty caption excludes people, and the platforms also rank it lower because there is nothing to index.
Frequently asked questions
Does Instagram support Markdown?
No. The Instagram caption field is plain text, so hashes and asterisks either show up as literal characters or the formatting is dropped entirely. The same is true of X, Threads and most LinkedIn fields.
Why do platforms strip formatting?
Rich text in a public feed is an abuse surface: a post can imitate system UI, fake a verified label, or hide text from moderation. Stripping formatting on paste is the cheap defence, and no major platform is likely to reverse it.
Are Unicode bold characters a good workaround?
No. Mathematical bold and italic code points survive the paste, but screen readers announce them character by character and in-platform search will not match them. You gain a visual effect and lose accessibility and discoverability.
Do text cards hurt reach?
Only if the caption is empty. The words inside an image cannot be indexed, so put the substance in the caption and the alt text — then the post is both readable and findable.