# Don't fuck with paste
A Chrome extension that stops websites from blocking copy, cut and paste in input fields. By Jacob Swanner, [[MIT License]], [[JavaScript]]. Listed as *"Don't F*** With Paste"* on the Chrome Web Store.
It does exactly one thing: prevents pages from interfering with the `copy`, `cut` and `paste` browser events.
## The problem
Some sites deliberately break pasting into a field, usually "confirm your email address" or a password box, on the theory that forcing you to retype something makes it more accurate.
The author's rebuttal is the correct one, and worth quoting because it generalises:
> If I paste an incorrect email address, that's my own damn fault. I use tools like 1Password to remember all kinds of things for me, and it's actually more error prone for me to type out all the characters than it is for me to copy from 1Password and paste into a text box.
The behaviour is worse than merely annoying. Anyone using a password manager is *more* accurate pasting than typing, so blocking paste raises the error rate for exactly the users doing security properly. It also pushes people toward shorter, memorable, typeable passwords. A control intended to reduce mistakes reliably produces them.
## What it does and doesn't do
**Does**: blocks sites from interfering with the `copy`, `cut` and `paste` events.
**Doesn't**: prevent sites from intercepting keyboard shortcuts (`Ctrl+V`, `Cmd+V`), and doesn't stop them hijacking the right-click `contextmenu` event. For sites doing that, the browser's own Edit → Paste menu still works.
Since version 2 it is **opt-in per site** rather than always-on. Click the extension icon on an offending site, optionally edit the auto-generated URL pattern, save. The icon turns blue when active for the current tab.
That design choice deserves credit. It requires the `tabs` permission to know when you switch tabs, which Chrome describes with the alarming "can read and change all your data on websites you visit". The author addresses that directly in the README rather than hoping nobody reads the permission prompt, and points at the source. The right answer to a scary-sounding permission is an auditable codebase, and this one is 83 KB of JavaScript.
Currently version 3.1, updated October 2025. The store listing is a re-publish: the original was taken down when it got tied to a Google Workspace account that no longer existed. There's also a Firefox build.
## Why I keep this note
**It's a small fix for a recurring irritation**, and I'll install it. That's reason enough.
But the more durable point: **this is a user agent doing its job.** The browser works for me, not for the site. When a page tries to disable a capability my own software provides, an extension that restores it is the correct response, and the fact that this requires a third-party extension at all is the interesting part.
There's a general principle in there worth carrying: **when a system removes an affordance for your own good, check whether it actually produces the outcome it claims.** Paste-blocking was justified as accuracy, and it reduces accuracy. Most patronising constraints have that shape, and the test is always empirical rather than intuitive.
The project also happens to be a nice artefact: first commit 2011, still maintained fifteen years later, MIT, ~80 KB, one job. Tools like this age well precisely because they never grew.
## References
- [Chrome Web Store listing](https://chromewebstore.google.com/detail/dont-f-with-paste/efaagigdgamehbpimpiagfpoihlkgamh)
- [jswanner/DontF-WithPaste](https://github.com/jswanner/DontF-WithPaste) — source
- [Firefox add-on](https://addons.mozilla.org/en-US/firefox/addon/don-t-fuck-with-paste/)
- [Issues / support](https://github.com/jswanner/DontF-WithPaste/issues)
## Related
- [[JavaScript]]
- [[User Experience (UX)]]
- [[Open Source]]
- [[MIT License]]