Which Windows Apps Understand Markdown From the Clipboard?
By Khushi Yadav
Markdown is a text convention, not a Windows clipboard format. There is no CF_MARKDOWN in the operating system’s documented history list. History stores text, HTML, and bitmap. A bold string is text. A <b>bold</b> string is HTML (and usually a text fallback). The destination decides whether to show stars, bold, or a mess of both.
GitHub, Obsidian, Notion, Word, Outlook, Slack, and Teams all decide differently. PowerToys Advanced Paste can convert HTML *to* Markdown locally. That is a hop, not a universal language.
This guide is a destination map plus a conversion playbook.
The two directions
Rich → Markdown (browser or Word to a .md file)
The clipboard holds HTML. The destination should receive - list and bold, not a heading style. Tools: PowerToys Paste as Markdown, a web converter, or an editor plugin.
Markdown → Rich (.md file to Word, Outlook, or a WYSIWYG)
The clipboard holds characters including * and #. The destination should parse them, or it will show the markers. Few Windows desktop apps parse Markdown on paste. GitHub’s comment box does. Word does not.
Mixing the directions — pasting Markdown into Word, then copying that back to GitHub — is how # Heading becomes a giant styled paragraph that GitHub then wraps in more HTML.
How Windows treats rich text versus plain text is the underlying model.
Destination map (2026)
| Destination | Paste of x as text | Paste of HTML bold | Notes |
|---|---|---|---|
| VS Code / Notepad | Shows x | Usually x or x depending on flavor | Correct for source files |
| GitHub comment / issue (web) | Often leaves x (rendered on save/preview) | May keep bold as rich or convert | Preview before comment |
| GitHub Markdown file in the web editor | Markers stay | May inject rich junk | Prefer raw text |
| Obsidian | Markers stay; live preview renders | Some HTML is imported | Vault is source of truth |
| Notion | May convert Markdown *if* Notion recognizes it | Often keeps rich | Behavior has changed across years; verify |
| Word / Outlook | Shows stars | Real bold | No Markdown parser |
| Slack WYSIWYG | May show stars or apply bold | Partial | Slack “markup” is not CommonMark |
| Slack markup mode | Stars stay; applied on send | Flattened to text (per Slack help) | Different product mode |
| Teams | Unreliable | Tables and fonts | Prefer plain text |
| Windows Terminal | Stars stay | Text only | Pasting into terminals |
Treat this table as a test checklist, not as vendor law. Apps change paste handlers. After a major Notion or Slack update, paste one line of test and one HTML bold line before a large move.
PowerToys Advanced Paste
Microsoft documents:
- Paste as Markdown — converts clipboard formatting to Markdown. Sample: HTML
<b>Paste</b> <i>as</i> <a href="…">Markdown</a>becomesPaste *as* [Markdown](…). - Paste as plain text — drops formatting, leaves any existing
*characters alone. - Paste as JSON — unrelated to prose.
- Optional AI paste — can restyle, and can send content to a configured model. Do not use that on private repos.
Default window shortcut: Win+Shift+V (conflicts mentally with Win+V history; they are different tools). Shortcuts for “paste as Markdown directly” are configurable.
Limits:
- Garbage HTML in, garbage Markdown out. CSS-based “lists” become paragraphs.
- Nested Word lists, comments, and track-changes markup are not a CommonMark test suite.
- The result is still text. History will store it as text if it is under 4 MB.
Edge-Drop vs PowerToys Advanced Paste if the question is “shelf versus transform.”
App-by-app playbooks
GitHub
Code and .md files: paste plain text only. Use Ctrl+Shift+V in the browser if a rich copy is on the clipboard, or hop through Notepad.
Issue comments: write in Markdown, use Preview. If pasting from a browser article, Advanced Paste → Markdown, then check fenced code. Copying from VS Code to GitHub is already text; do not pass through Word.
Obsidian
The vault is files. Paste Markdown as text. If a web clip must become a note, convert to Markdown first, then save. Do not keep the HTML in Win+V as the “real” note. History forgets unpinned items at restart and after 25 copies.
Notion (and similar block editors)
Paste a small sample. If Notion creates blocks from - lines, good. If it dumps a single paragraph, convert to Markdown in an editor and use Notion’s import, or paste line by line. Notion is not a reliable CommonMark sink.
Word and Outlook
To send Markdown *as formatted email*, convert in a previewer (VS Code Markdown preview, GitHub, or a local renderer), copy the rendered HTML, paste into Outlook with source formatting, then strip fonts. To send Markdown *as Markdown* (a README), attach the file or paste as text and warn the reader.
Never store the only copy of a README in Outlook HTML.
Slack
Slack’s markup is a subset (*bold* with asterisks, _italic_, different link syntax). CommonMark bold may not render. Either switch the workspace preference to markup and use Slack’s syntax, or use the toolbar. How to keep line breaks when pasting into Slack.
Copying *out* of Slack is a quote problem, not a Markdown problem: How to quote a chat log without leaking extras.
History is a bad repo
Markdown files belong in git or a notes vault. Clipboard history:
- Holds 25 items
- Drops items over 4 MB (a long spec with embedded images as HTML can fail)
- Forgets unpinned items at reboot
- Does not store files as first-class items
- Has no diff
Pins are not version control. Should you store drafts in a clipboard manager? — no.
If several Markdown fragments are being assembled into one doc, use a scratch file. Keep a daily scratch note instead of 200 clips.
A local shelf such as Edge-Drop can hold a screenshot next to a paragraph while a README is written. It should not replace the .md file.
Conversion playbook
Web article → README
- Select the article body, not the chrome.
- Copy.
- Advanced Paste → Markdown into VS Code, or paste HTML into a trusted converter.
- Fix headings, tables, and images (
![]()URLs may be tracking or require auth). - Save the file. Copy only the excerpt that still needs to move.
README → email
- Render the Markdown.
- Copy the preview, not the source, if the reader should see bold.
- Paste into Outlook. Clean fonts.
- If the reader is a developer, attach the
.mdinstead.
Word → Markdown
- Save a copy. Accept tracked changes.
- Copy section by section, not the whole thesis at once.
- Convert each section. Word HTML is noisy.
- Or export via a dedicated converter (Pandoc, if installed) from the
.docx. That path does not use the clipboard and is more repeatable.
Chat → Markdown quote
- Plain text first.
- Prefix
>per line if a block quote is needed. - Do not keep timestamps. See the chat-log article.
What not to automate
A manager that “always converts HTML to Markdown on copy” will damage:
- Mail you intended to keep rich
- Excel HTML tables
- Error dialogs
- Anything that was already Markdown (double-escaped
\*\*)
Convert at paste time, on purpose, with a preview. That is why Advanced Paste is a window and a shortcut, not a silent hook.
Worked example: blog HTML to a GitHub issue
A documentation page has a procedure with bold UI names and two links. The issue tracker is GitHub.
- Select the procedure only — not the site nav.
- Copy.
Win+Shift+V(Advanced Paste) > Paste as Markdown into VS Code.- Check: headings became
#not leftover<div class="title">. Links became[text](url). Lists became-lines. - Remove tracker query strings from the URLs if they are analytics.
- Paste the cleaned Markdown into the GitHub issue. Use Preview.
- Delete the original HTML clip from
Win+V. History still only needed two slots: dirty HTML and clean Markdown. Keep the clean file if the issue will be rewritten.
If Advanced Paste is not installed, paste into clipboard2markdown only for non-confidential pages, or hop through Notepad and add markers by hand. Do not paste the HTML into Word and copy back out; that adds a third, worse dialect.
Background for this constraint is Detecting URLs and Colors in Copied Text.
Related reading
- The Case Against Unlimited Text History
- Keep a 'Daily Scratch' Note Instead of 200 Clips
- How to Paste Without Formatting on Windows
- A Sensible Daily Copy-Paste Workflow
Sources
- Advanced Paste (Microsoft Learn) — official HTML-to-Markdown sample and local processing note.
- Using the clipboard (Microsoft Support) — history formats; Markdown is not listed.
- Format your messages in Slack with markup (Slack Help) — Slack’s markup is not full Markdown; paste flattens in that mode.
- Basic writing and formatting syntax (GitHub Docs) — what GitHub will render once the text arrives.
- CommonMark spec — the dialect many editors aim at; Word and Slack do not implement it on paste.
Khushi Yadav is a B.Tech Computer Science Engineering student interested in technology, software, and exploring practical applications of computer science. She enjoys learning new concepts and contributing to technology-focused projects.
GitHub · LinkedInCopy. Stack. Drop.
Transform your clipboard into an interactive edge shelf. Stack, pin, and drag assets into any app with zero friction.
Download for Windows Get from Microsoft Store
How to Install Guide · First 10 Minutes Guide · Drag & Drop Guide · Edge-Drop vs Win+V · Support
Free · Lightweight · Privacy First