Copy images from Safari to Obsidian, strip tracking parameters from URLs, fetch page titles, and clean up AI-generated text. Custom regex snippets add your own rules to every paste. Just paste, and the plugin handles the rest.
Seven examples. Some run on every paste, others are commands you run when you need them.
Write your own find and replace rules with regex and they run on every paste. This one removes Perplexity's citation markers. Ready-made snippets to import are on the wiki.
The fix shipped last week[1][2]
and rollout begins today[3].
The fix shipped last week
and rollout begins today.
Copy an image in Safari, paste it into Obsidian, and you get a web link instead of the image. Annoying! Better Paste pastes the image itself, saved into your vault.

![[skyline-8f21a.jpg]]
Links you copy from newsletters and social apps drag a lot of tracking junk along. Better Paste removes known trackers and a short built-in list of site-specific junk. IDs, search terms and other unknown parameters stay.
https://www.theverge.com/2026/1/9/story?utm_source=newsletter&utm_medium=email&fbclid=IwAR2x9
https://www.theverge.com/2026/1/9/story
Paste a bare URL and it turns into a Markdown link with the real page title. The URL is pasted right away and updates when the title arrives, so nothing blocks.
https://obsidian.md
[Obsidian - Sharpen your thinking](https://obsidian.md)
Terminals break long lines at the window edge. Escape codes are stripped on every paste, and one command joins the lines back together.
npm warn deprecated inflight@1.0.6: This module is not supported and leaks memory. Do
not use it. Check out lru-cache instead.
npm warn deprecated inflight@1.0.6: This module is not supported and leaks memory. Do not use it. Check out lru-cache instead.
Chatbot text comes with curly quotes, long dashes and invisible characters. The invisible ones are removed on every paste, and with Quotes and Dashes turned on the rest becomes plain text too.
“It works,” she said — finally.
"It works," she said - finally.
Prefer your commas outside the quotation marks? Select the text and run Move commas outside quotes. Move commas inside quotes goes the other way.
She called it "finished," then left.
She called it "finished", then left.
One switch for link cleanup, with built-in and user-defined removals.
Your own regex rules run on every paste or on a selection. Ready-made snippets to import are on the wiki.
Safari copies are saved into your vault, named after their source. Image links show a preview from the web, or download a copy if you prefer.
One switch removes known trackers everywhere, plus site-specific junk such as YouTube's si parameter.
Remove a parameter everywhere or only on one site, test a URL live, then suggest the rule for a future update.
A pasted URL becomes a Markdown link with the real page title. Reddit and YouTube work too.
Escape codes stripped on every paste. One command rejoins broken lines and turns bullets into lists.
One command rejoins short lines, repairs hyphenated words and expands ligatures, with a preview first.
Curly quotes and long dashes become straight ones. Off by default, and code and links are left alone.
Zero-width spaces removed, non-breaking spaces normalized, meaningful joiners kept.
Add bp: false to a note's frontmatter and it is left alone, or bp: true to always clean it.
Give every pasted image a width, a class, or both, or pick in a small dialog on each paste. A note property can set the width too.
Paste with or without processing, clean up a selection or terminal output, move commas, toggle cleanup, all bindable.
Commands, settings, notices and dialogs follow the language Obsidian is set to.
Pasting into code or frontmatter changes nothing, and fenced code inside a paste survives byte for byte.
Passion for coding
I have a PhD in Software Development and have worked with innovation development for companies like Apple, Electronic Arts, Google, Microsoft, LEGO and Volvo Cars. I also build Notebook Navigator, the most popular file explorer plugin for Obsidian.
I built Better Paste because pasting into Obsidian kept needing the same manual fixes: images from Safari that arrived as web links, URLs full of tracking parameters, terminal output broken at the window edge, and chatbot text full of characters nobody typed. Now I just paste.
My hope is that you forget the plugin is even installed. You copy, you paste, and everything just works.
If you have feature suggestions or found a bug, please open an issue on GitHub.
Better Paste is free and open source. If you love using it, consider supporting development.
Safari puts two versions on the clipboard, the image itself and its web address, and Obsidian pastes the address. Better Paste pastes the image itself, saved into your vault and named after the original file.
No. Better Paste makes network requests in exactly three cases: downloading an image you pasted, fetching the title of a pasted link, and loading dialog artwork from GitHub. No telemetry, no analytics, and nothing is ever uploaded.
No. Pasting into code blocks, inline code or frontmatter changes nothing, and fenced code inside a paste comes through untouched.
Yes. Add bp: false to a note's frontmatter and Better Paste leaves that note alone. It works the other way too: bp: true cleans a note even when automatic cleanup is off.
Better Paste removes known trackers on every site and a conservative built-in list of site-specific junk. You can add your own removals. Cryptographically signed links stay exact, while unknown access parameters stay in other links.
Yes. Custom snippets are regex find and replace rules that run on every paste, and the Run snippet command applies one to a selection. Ready-made snippets to import are on the wiki.
Yes. Better Paste is free and open source under the GPL-3.0 license, and it works on desktop (Windows, macOS, Linux) and mobile (iOS and Android).