What actually gets pasted
When you copy a paragraph from a web page, the browser puts its full HTML fragment on the clipboard — <span> wrappers, inline CSS, tracking spans, curly quotes, zero-width characters. When you then paste into an Obsidian note, two things go wrong:
Structure gets mangled
Nested divs turn into empty lines. Buttons become stray links mid-sentence. Tables collapse into a run-on line of text.
Junk survives silently
Smart quotes, non-breaking spaces and zero-width characters stay in your note forever — invisible until a search or a link fails to match them.
Entities leak through
Page content stored as &copy;-style entities sometimes lands raw in the note instead of becoming © or —.
Three ways to paste clean into Obsidian
1. Paste without formatting (built-in)
Obsidian's own Paste without formatting (or Ctrl/Cmd+Shift+V) strips everything — including the structure. Headings become plain lines, lists lose their bullets. Fine when you want pure text; useless when you want to keep the article's shape.
2. Convert manually after pasting
Paste, then fix it by hand: rebuild headings, re-link, delete empty lines, hunt invisible characters. Works, but costs minutes per clip and never catches zero-width characters by eye.
3. Convert before it lands (Clean Copy)
Clean Copy for Obsidian converts the clipboard HTML to real Markdown first — headings to #, links to [text](url), tables to pipe tables, entities decoded — then pastes. One keystroke: Ctrl/Cmd+Shift+V.
The same engine also exists as the Clean Copy browser extension for Chrome and Firefox, so what you copy on the web matches what lands in your vault.
Frequently asked questions
Is there a free plugin that pastes as clean Markdown?
Clean Copy for Obsidian is free: download main.js, manifest.json and styles.css from the latest release (v1.0.9 — now with a WikiLinks paste mode and a CSV table mode) — see the full install guide, drop them in <vault>/.obsidian/plugins/clean-copy-obsidian/, enable, done.
Doesn't Ctrl+Shift+V already fix this?
No — it removes formatting entirely. If you want the heading levels, links and list structure preserved as Markdown, you need conversion, not stripping.
Does it handle tables and code blocks?
Yes. HTML tables become pipe tables (including colspan padding), <pre> blocks become fenced code, and named plus numeric entities like &mdash; and &#8212; are decoded.
Is my data sent anywhere?
No. The conversion runs locally inside Obsidian. Nothing leaves your machine.
How to install the plugin: BRAT, manual & zip →
Free e-book: Build Your First Chrome Extension
The complete guide is available as a free EPUB — no signup required.
Get the free e-book →Want all six guides? Complete EU Compliance Bundle — combined PDF + all EPUBs, $29.
Keeping websites online? DeskUptime is a free desktop uptime & SSL-expiry monitor for macOS, Linux and Windows.