πŸ†• Free Chrome Extension

Clean Copy

Copy web text as clean Markdown or plain text.
No more messy pastes β€” just right-click and copy.

🧹 Try the web tool instead Free · No account needed · Works on any page
⚑ Right-click context menu ⌨ Ctrl+Shift+C shortcut πŸ“‹ Automatic clipboard πŸ†“ Free tier

How it works

1

Select text

Highlight any text on any web page β€” articles, docs, code snippets, anything.

2

Copy it

Right-click β†’ Copy as Clean Text or Copy as Markdown. Or use Ctrl+Shift+C.

3

Paste clean

No smart quotes, no extra spaces, no hidden characters. Clean Markdown or plain text β€” ready to use.

What it fixes

🧹 Smart quotes β†’ straight

"Curly quotes" and 'fancy apostrophes' become straight ASCII β€” no more paste-formatting headaches in code editors.

πŸ“ Em dashes β†’ regular

Em-dashes (β€”), en-dashes (–), and non-breaking spaces are normalised so your text looks right everywhere.

πŸ‘» Zero-width characters gone

Invisible Unicode characters that break searches and form validations are silently removed.

πŸ“ HTML β†’ Markdown

Headings, bold, italic, links, images, code blocks, lists β€” and tables β€” from the page are converted to proper Markdown syntax.

πŸ“‹ One-click clipboard

Copied text lands directly on your clipboard β€” paste it anywhere with Ctrl/Cmd+V, no extra steps.

πŸ”’ No data sent anywhere

Everything happens locally in your browser. No servers, no tracking, no accounts. Your selection never leaves your machine.

Why Clean Copy?

Every developer, writer, and researcher knows the problem: you copy text from a web page, paste it somewhere, and it comes out wrong. Smart quotes break your code. Extra spaces mess up your formatting. Invisible characters corrupt your data.

Clean Copy fixes this at the source β€” before the text hits your clipboard. One right-click and you have clean, consistent text ready to paste.

And if you need Markdown, it converts headings, links, code blocks, and lists from the page's HTML β€” so you don't have to reformat manually.

Pricing

Free tier covers everything most people need. Pro adds features for power users.

Free

$0
  • βœ… Copy as clean plain text
  • βœ… Copy as Markdown
  • βœ… Right-click context menu
  • βœ… Ctrl+Shift+C keyboard shortcut
  • βœ… Smart quotes & special chars cleaned
  • βœ… Zero-width char removal
  • βœ… No account required
🧹 Try the web tool β€” no install needed πŸ”– Or grab the bookmarklet β€” works in any browser β˜… Source on GitHub

Pro (coming soon)

$19/year
  • βœ… Everything in Free
  • βœ… Custom cleaning rules
  • βœ… Auto-detect mode (plain vs Markdown per site)
  • βœ… Dark mode popup
  • βœ… Multiple clipboard formats
  • βœ… Export to file
πŸ”’ Via Lemon Squeezy

Install

Clean Copy is a Chrome extension β€” Manifest V3, works in Chrome, Edge, Brave, and any Chromium-based browser.

Option A β€” Install from GitHub source (Chrome, Edge, Brave)

  1. Download or clone the repo β†’ β€” then follow the manual install steps below.
  2. Select text on any page β€” right-click and choose Clean Copy, or use your copy hotkey.
  3. Paste β€” clean text, rich text, or Markdown ready to use.

Option B β€” Manual install (load unpacked)

  1. Download the zip β€” clean-copy-v1.5.2.zip and unzip it.
  2. Open chrome://extensions and enable Developer mode (top right).
  3. Click "Load unpacked" and select the unzipped folder.

Option C β€” Firefox (install from source)

  1. Download the Firefox zip β€” clean-copy-firefox-v1.5.2.zip and unzip it. (The Firefox build is named Clean Copy MD β€” the name β€œClean Copy” is taken on addons.mozilla.org.)
  2. Open about:debugging#/runtime/this-firefox, click "Load Temporary Add-on…", and pick manifest.json. (Temporary add-ons are removed when Firefox closes.)
  3. A signed, permanent install is coming to addons.mozilla.org β€” listing texts are prepared; only account access is pending.

Option D β€” Command line / Homebrew

  1. Install via Homebrew: brew tap mahope/clean-copy && brew install clean-copy β€” or with npm: npm install -g github:mahope/clean-copy-cli
  2. Convert anything: clean-copy page.html > clean.md, or fetch a readable article with clean-copy --url https://example.com/post. Prefer a browser? Use the free URL to Markdown converter instead. Pipe from the clipboard: pbpaste | clean-copy | pbcopy.
  3. Same engine as the extension β€” zero dependencies, no network requests unless you pass --url. Details: github.com/mahope/clean-copy-cli

Option E β€” Obsidian (paste as clean Markdown inside your vault)

  1. Install the plugin β€” easiest via BRAT: add mahope/clean-copy-obsidian. Manual alternative: grab main.js, manifest.json and styles.css from the latest release (or download the zip bundle) and put them in <vault>/.obsidian/plugins/clean-copy-obsidian/.
  2. Reload Obsidian and enable "Clean Copy" under Community plugins. (A listing in Obsidian's official community-plugin store is pending.)
  3. Paste with Ctrl/Cmd+Shift+V β€” clipboard HTML becomes proper Markdown in your note.

Option F β€” GitHub Action (convert URLs, files, or raw HTML in CI)

  1. Convert a URL: uses: mahope/clean-copy-cli@v1 with url: 'https://...' β€” the action fetches the page, extracts the main content, and returns clean Markdown.
  2. Convert a local file: pass file: 'path/to/file.html' to convert a repo-local HTML file. Html input also accepts raw HTML strings directly.
  3. Write to a file: use output_file: 'path/to/result.md' to save the result for later workflow steps. View on GitHub β†’

Option G β€” VS Code extension (paste as Markdown inside your editor)

  1. Install β€” search for "Clean Copy" in VS Code's extension marketplace (Ctrl+Shift+X), or download the .vsix from GitHub releases and choose Install from VSIX...
  2. Copy from any web page β€” use Ctrl+Shift+V (or Cmd+Shift+V on Mac) to paste HTML as clean Markdown directly at your cursor. Also supports Paste as Clean Text and Convert Selection to Markdown.
  3. Zero config β€” the same converter engine as the browser extension. No API key, no account, no network calls. Source on GitHub.

Option H β€” npm (install globally, use anywhere)

  1. Install: npm install -g clean-copy-cli β€” or npx clean-copy-cli to run without installing. The package includes the same zero-dependency converter as the browser extension.
  2. Use it: echo '<h1>Hello</h1>' | clean-copy or pipe from clipboard: pbpaste | clean-copy | pbcopy. Supports --url, --text, --copy and --out options.
  3. Published on npm β€” clean-copy-cli, MIT license, zero runtime dependencies. View on npm β†’

Source code is MIT-licensed on GitHub. Free forever β€” no account, nothing leaves your browser.

What's new

v1.5.2 β€” current

Link noise cleanup: image-only wrapper links and #fragment-only anchors no longer produce dead Markdown like [](/link) or [View image](#img-1). Zero-width no-break spaces (U+FEFF) are stripped everywhere. Plus everything from v1.5.0–v1.5.1: paste-and-clean in the popup and invisible-character stripping.

Aug 2026

v1.4.1

Table alignment is now preserved: text-align styles and align attributes on cells become Markdown column separators (:--- ,:---:,---:). Fenced code blocks carry language tags ( β†’ ```javascript). v1.3.10 fixed entity-encoded code blocks and URL container pairing.

Aug 2026

v1.3.6

Release-integrity fix: the extension builds now ship every converter improvement from v1.3.4–v1.3.5 (ordered-list start, details/summary, svg/math, select options, input values, iframe/object fallback). A new automated parity test guarantees the extension's converter can never silently diverge from the shared core again.

Aug 2026

v1.3.5

Form controls now convert cleanly: select options land on separate lines (optgroup labels kept), input values are preserved, and iframe/object fallback text becomes its own block instead of gluing onto the next paragraph. Builds on v1.3.4's fixes for <ol start>, details/summary and svg/math.

Aug 2026

v1.3.4

Ordered lists respect start, details/summary sections keep their heading, and svg/math markup is stripped so it can't leak into your paste.

Aug 2026

v1.2.2

Tables convert to proper Markdown tables, common entity decoding (&amp; β†’ &), paste-and-clean improvements in the popup.

Aug 2026

More surfaces

The same engine now ships as a Firefox extension, a zero-dependency CLI (brew install mahope/clean-copy/clean-copy), an Obsidian plugin, a GitHub Action, a VS Code extension, and on npm β€” see all install options above.

7 platforms

Technical details

Manifest V3

Built on the latest Chrome extension platform. Uses service worker, offscreen clipboard API, and minimal permissions.

MV3

Service worker

Handles context menus and keyboard shortcuts without a persistent background page. Zero memory when not in use.

Service Worker

Offscreen clipboard

Uses the offscreen document API to write to the clipboard β€” compliant with Chrome's MV3 clipboard rules.

Offscreen API

Frequently Asked Questions

Is Clean Copy free?

Yes, the core extension is completely free. A Pro tier with additional features is planned β€” priced at $19/year when launched.

Does it work on any website?

Yes. Clean Copy works on any page you can select text on β€” articles, documentation, code blogs, forums, social media, email. Everything happens in your browser.

What permissions does it need?

activeTab (access the current page's selection when you invoke Clean Copy), clipboardWrite (copy to clipboard), scripting + offscreen (internal plumbing), contextMenus (right-click menu), and storage (save your mode preference). Crucially: no host permissions β€” Clean Copy never gets standing access to read any website. No data collection, no network access to external servers.

Does it send my data anywhere?

No. Clean Copy processes everything locally in your browser. The text you select never leaves your machine. No analytics, no tracking, no servers.

Can I use the keyboard shortcut?

Yes. Press Ctrl+Shift+C (Windows/Linux) or Cmd+Shift+C (Mac) to copy selected text as Markdown. The shortcut is configurable in Chrome's extension shortcut settings.

Does it work in Edge, Brave, or Opera?

Yes. Any Chromium-based browser that supports Chrome extensions can install Clean Copy from the Chrome Web Store.