Obsidian is one of the best markdown editors available. But the moment you try to share your notes with someone who doesn't use Obsidian, you run into a wall. Copy-paste from Obsidian to Google Docs, Word, Slack, or email consistently breaks formatting in ways that range from annoying to unusable.
This is one of the most discussed frustrations in the Obsidian community. Reddit threads, forum posts, and Discord conversations about it go back years. The problem is structural, not a bug, and understanding why it happens will help you find the right workaround.
Two modes, two problems
Obsidian has two primary editing views: Edit Mode (also called Source mode or Live Preview) and Reading Mode. Copy-paste from each produces different results, and neither produces clean output.
Copying from Edit Mode
When you copy from Edit Mode, you're copying the raw markdown source. Obsidian puts the literal text on your clipboard, symbols and all. Paste into Google Docs and you'll see ## Project Update instead of a formatted heading. Tables show up as rows of pipe characters and dashes. Bold text appears as **asterisks**. Code blocks are just lines with triple backticks.
This is the most common source of frustration because it's the default mode most people write in. Everything looks formatted inside Obsidian, but the clipboard contains the underlying markdown syntax.
Copying from Reading Mode
Reading Mode renders your markdown into styled HTML, so copying from it should theoretically give you formatted text. In practice, the results are inconsistent. Some elements transfer, others break, and a few are actively worse than copying raw markdown.
The bold regression is particularly well-known. Since Obsidian 1.x, bold text copied from Reading Mode has been unreliable. Sometimes it transfers, sometimes it doesn't. The community has reported this repeatedly, and while Obsidian has addressed some copy-paste issues (v1.12.3 improved links and callouts specifically), bold remains inconsistent.
There's also the dark mode problem. If you use Obsidian in dark mode and copy from Reading Mode, the clipboard HTML includes the dark background color and light gray text color as inline styles. Paste into Google Docs or Word and you get gray text on a dark background pasted into a white document. You then have to manually select all and reset the text color and highlighting.
What breaks: element by element
Here's a detailed breakdown of how each markdown element fares when you copy-paste from Obsidian, covering both Edit Mode and Reading Mode.
| Element | Edit Mode | Reading Mode |
|---|---|---|
| Headings | Raw ## syntax, no heading styles | Usually transfers, but heading levels may flatten |
| Bold / Italic | Raw ** and * syntax | Bold broken since 1.x; italic usually works |
| Tables | Pipe characters and dashes | Inconsistent; often pastes as plain text or misaligned columns |
| Code blocks | Triple backticks as literal text | May transfer with monospace font, but syntax highlighting lost |
| Inline code | Backticks as literal characters | Usually preserves monospace styling |
| Links | Raw [text](url) syntax | Improved in v1.12.3; generally transfers now |
| Images | Raw  syntax | May embed if URL-based; local file paths never transfer |
| Callouts | Raw > [!type] syntax | Improved in v1.12.3; partial transfer as blockquotes |
| Wikilinks | Literal [[page name]] text | Literal [[page name]] text (no conversion target) |
| Tags | Literal #tag-name text | Literal #tag-name text (no conversion target) |
| Dataview | Raw query syntax | Renders in Reading Mode, but copies as plain text with broken layout |
| Block references | Literal ^block-id text | Invisible or literal text |
| Math (LaTeX) | Raw $...$ or $$...$$ syntax | May render as image or plain text, depending on target app |
| Mermaid diagrams | Raw code block with diagram syntax | Renders as image in Obsidian, but doesn't copy to clipboard |
| Task lists | Raw - [ ] syntax | Sometimes transfers checkboxes, often plain text |
| Footnotes | Raw [^1] reference syntax | May render inline or break entirely |
The pattern is clear. Edit Mode gives you raw markdown that no external app can interpret. Reading Mode gives you partial formatting with notable gaps, especially for the elements that make Obsidian notes distinctive: tables, callouts, wikilinks, and bold text.
The v1.12.3 update: partial progress
Obsidian version 1.12.3 (released February 2026) specifically addressed copy-paste behavior for links and callouts. After the update, copying links from Reading Mode produces clickable hyperlinks in the destination, and callouts transfer as styled blockquotes rather than raw > [!type] syntax.
This is real progress, but the scope is limited. The update doesn't fix bold inconsistency, table formatting, code block styling, or any of the Obsidian-specific syntax elements (wikilinks, tags, dataview, block references). For most users who need to share notes with colleagues, the improvement covers only a fraction of the problem.
Why this is hard to fix at the source
This isn't a simple bug that Obsidian can patch. The core tension is architectural.
Obsidian stores your notes as plain .md files. The formatting you see inside Obsidian is the app's live rendering of that markdown. When you copy text, the clipboard needs to contain something the destination app can understand. Edit Mode copies the source text (markdown syntax). Reading Mode copies rendered HTML, but that HTML is optimized for Obsidian's own rendering engine, not for Google Docs or Word.
There are also Obsidian-specific extensions that have no equivalent in other apps. Wikilinks, tags, dataview queries, block references, and callout types are part of Obsidian's extended markdown dialect. No clipboard format can carry these semantics into Google Docs, because Google Docs has no concept of them.
This means the problem will always exist to some degree. Even if Obsidian perfects Reading Mode copy-paste for standard markdown elements, the features that make Obsidian powerful (and that people rely on heavily) will always lose something in translation.
The fix: Unmarkdown as the bridge
The cleanest solution is to accept that Obsidian's clipboard output will always be imperfect and use a dedicated conversion tool as the middle step. This is exactly what Unmarkdown™ is built for.
Here's the workflow:
-
Copy from Obsidian. Open your note in Edit Mode (Source mode) and press Cmd+A to select all, then Cmd+C to copy. You're deliberately copying the raw markdown, which is the most complete representation of your content.
-
Paste into Unmarkdown™. Open unmarkdown.com and paste. The editor shows your raw markdown on the left, and a formatted preview on the right. No account required for the core conversion.
-
Choose your destination. Click "Copy for Google Docs," "Copy for Word," "Copy for Slack," or whichever destination you need. Each button produces clipboard content optimized for that specific app.
-
Paste into your destination. The result has real heading styles, formatted tables with borders, styled code blocks, working hyperlinks, and proper list nesting. Bold actually works.
This approach works because Unmarkdown™ is purpose-built for the conversion step. It understands markdown syntax fully (including callouts, math, task lists, and footnotes) and knows how each destination app handles HTML. Google Docs gets real heading styles that appear in the document outline. Word gets heading styles that work with the table of contents. Slack gets mrkdwn syntax instead of HTML.
What Unmarkdown preserves that copy-paste doesn't
The difference is most visible with the elements that break most often.
Tables become native tables with borders, header row formatting, and proper cell spacing. This is the biggest single improvement over any form of direct copy-paste from Obsidian, where tables reliably break.
Bold and italic transfer correctly every time. No inconsistency, no regression, no dependency on which Obsidian version you're running.
Code blocks get monospace font, background color, and syntax highlighting. Inline code gets monospace styling.
Headings become real heading styles in the destination app (H1 through H6). In Google Docs, this means they appear in the document outline and work with table of contents. In Word, they work with the heading navigation pane.
Callouts render as styled blockquotes with the callout type (note, tip, important, warning, caution) preserved with appropriate visual styling and colored accents.
Math notation renders as formatted equations via KaTeX. Inline $...$ and display $$...$$ both work.
Mermaid diagrams render as SVG images that transfer to the destination app.
For Obsidian-specific syntax that has no equivalent in the destination (wikilinks, tags, dataview), Unmarkdown™ handles these gracefully: wikilinks become clean text with brackets stripped, tags become text with the hash symbol, and dataview queries appear as code blocks.
Adding professional styling with templates
One advantage of the Unmarkdown™ workflow is access to the template library. Rather than pasting plain formatted text, you can choose from 62 templates (Business, Academic, Developer, Creative, and more) that apply consistent typography, colors, and spacing to your entire document.
This is particularly useful when the document is going to someone outside your team. A meeting notes template, a project brief template, or a consulting report template can make your Obsidian notes look immediately professional without any manual formatting work.
Templates are optional. The default conversion (no template) produces clean, properly formatted output. Templates add an extra layer of polish when you need it.
Handling bulk exports
If you regularly need to export multiple Obsidian notes, the manual copy-paste workflow works but doesn't scale. For batch conversion, Unmarkdown™ offers a REST API and MCP server that can process markdown programmatically. You could build a script that reads .md files from your vault directory and converts them in sequence, or connect your AI assistant to Unmarkdown™ via MCP to handle exports conversationally.
The bottom line
Obsidian's copy-paste formatting issues are structural, not bugs. Edit Mode copies raw markdown. Reading Mode copies partial HTML with known gaps (bold regression, dark mode styling, no table reliability). The v1.12.3 update improved links and callouts but didn't address the broader problem.
The most reliable fix is to copy raw markdown from Obsidian (which preserves all your content), paste it into a dedicated conversion tool like Unmarkdown™, and use destination-specific output for wherever the document needs to go. The whole process takes about 30 seconds, and the result is consistently formatted output with real heading styles, clean tables, styled code, and working bold text.
Try the Unmarkdown plugin for Obsidian
Unmarkdown is now available as an Obsidian community plugin. Right-click any note and copy it formatted for Google Docs, Word, Slack, OneNote, Email, or Plain Text, directly from your vault. You can also publish notes to the web with 62 templates.
How to install (Community Plugins directory approval pending):
- Download
main.js,manifest.json, andstyles.cssfrom the latest release - In your vault, create the folder
.obsidian/plugins/unmarkdown/ - Move the three downloaded files into that folder
- Open Obsidian Settings > Community Plugins > Enable "Unmarkdown"
- Go to Settings > Unmarkdown > Click "Connect account" to link your free Unmarkdown account
Once approved for the Community Plugins directory, you can install by searching "Unmarkdown" in Obsidian's plugin browser.
