Skip to content

Better Paste

Removes tracking from links, fetches page titles, and cleans up pasted text from AI chats, terminals and PDF documents. - This plugin has not been manually reviewed by Obsidian staff.

The above warnings are based on limited information and might not always be accurate.

Data

IDbetter-paste
AuthorJohan Sanneblad
FundingSupport the Author
Minimum Obsidian Version1.13.1
Official Release Date2025-02-02
Last update2026-09-26

Last Refresh

Obsidian Stats last refreshed the data behind this page on Oct 27, 2026.

Community plugin snapshotOct 26, 2026
Repository clonelast successful checkout Oct 7, 2026
Release acquisitionrelease metadata checked Oct 7, 2026; latest main.js acquired

Quick Links

Changes

DateChanged PropertyOld ValueNew Value
2025-02-02Plugin Added
2025-02-24Plugin Removed
2026-08-13Plugin Re-Added
2026-08-13authorCormacJohan Sanneblad
2026-08-13descriptionImprove copy-paste from pdfs by cleaning newlines.Clean up what you paste. Save images into the vault, strip tracking from links, unwrap terminal output, and normalize AI typography. - This plugin has not been manually reviewed by Obsidian staff.
2026-08-13repoCormac-C/obsidian-paste-pluginjohansan/better-paste
2026-08-15descriptionClean up what you paste. Save images into the vault, strip tracking from links, unwrap terminal output, and normalize AI typography. - This plugin has not been manually reviewed by Obsidian staff.Copy images from Safari straight into your vault, paste links without tracking junk, fix broken terminal output, and clean up AI text. Just paste, and Better Paste handles the rest. - This plugin has not been manually reviewed by Obsidian staff.
2026-08-17descriptionCopy images from Safari straight into your vault, paste links without tracking junk, fix broken terminal output, and clean up AI text. Just paste, and Better Paste handles the rest. - This plugin has not been manually reviewed by Obsidian staff.Removes tracking from links, fetches page titles, and cleans up pasted text from AI chats, terminals and PDF documents. - This plugin has not been manually reviewed by Obsidian staff.

Repository Data

LicenseGPL-3.0-or-later in package.json
GPL-3.0 in LICENSE file
Package Managernpm
Uses TypescriptYes
Installed Bundlersesbuild
Installed Testing FrameworksVitest
Has Test FilesYes
Latest Release main.js Size493 KB
Detected ES VersionES2022
Probably MinifiedYes
main.js API Findings14 disclosures
Uses BRAT beta releasesNo
DependenciesNone
Dev Dependencies@codemirror/state, @eslint/js, @types/node, @vitest/coverage-v8, esbuild, eslint, eslint-plugin-obsidianmd, globals, knip, markdownlint-cli2, obsidian, prettier, stylelint, stylelint-no-unsupported-browser-features, tslib, typescript, typescript-eslint, vitest

main.js API Findings

These findings come directly from Glass Lint's JavaScript and Obsidian rule catalogs applied to the latest release main.js. The confidence column is Glass Lint's definite/possible match certainty.

DisclosureRule Descriptions
Clipboard AccessReads clipboard data, Writes clipboard data
Codemirror IntegrationUses CodeMirror extension primitives
Editor BehaviorRegisters editor extensions
Full Vault AccessEnumerates vault files
Lifecycle EventsRegisters Obsidian lifecycle events
Markdown ProcessingUses markdown link helpers
Metadata AccessReads Obsidian metadata cache
Network AccessConstructs or references URLs, Uses Obsidian request APIs
Platform BranchingChecks Obsidian platform flags
Plugin Storage AccessReads or writes app-scoped storage and secrets, Reads plugin data, Writes plugin data
User Interface AccessRegisters commands, Registers plugin settings UI, Uses Obsidian modal UI, Uses Obsidian notices
Vault AccessAccesses Obsidian vault APIs, Accesses attachment resource paths, Registers vault events
Vault WriteDeletes or trashes vault files, Writes vault files
Workspace AccessRegisters Obsidian workspace events
FindingTypeConfidenceEvidence
Reads or writes app-scoped storage and secretsWarningDefinitemember_call of "app.loadLocalStorage" (2), member_call of "app.saveLocalStorage" (3)
Deletes or trashes vault filesWarningDefinitemember_call of "app.fileManager.trashFile" (2)
Reads clipboard dataInfoDefinitemember_call of "navigator.clipboard.readText"
Writes clipboard dataInfoDefinitemember_call of "navigator.clipboard.writeText"
Constructs or references URLsInfoDefinitestring_contains of "https://" (47), constructor of "URL" (13), constructor of "URLSearchParams"
Uses CodeMirror extension primitivesInfoDefiniteimport of "@codemirror/state"
Registers editor extensionsInfoDefinitemember_call of "obsidian.Plugin"
Registers Obsidian lifecycle eventsInfoDefinitemember_call of "obsidian.Plugin" (3)
Uses markdown link helpersInfoDefinitemember_call of "app.fileManager.generateMarkdownLink" (5), member_call of "app.metadataCache.fileToLinktext"
Reads Obsidian metadata cacheInfoDefinitemember_read of "app.metadataCache"
Uses Obsidian request APIsInfoDefinitemember_call of "obsidian" (2)
Checks Obsidian platform flagsInfoDefinitemember_read of "obsidian"
Reads plugin dataInfoDefinitemember_call of "obsidian.Plugin" (2)
Writes plugin dataInfoDefinitemember_call of "obsidian.Plugin" (2)
Registers commandsInfoDefinitemember_call of "obsidian.Plugin" (9)
Uses Obsidian modal UIInfoDefiniteclass of "obsidian.Modal" (7)
Uses Obsidian noticesInfoDefiniteconstructor of "obsidian.Notice" (13)
Registers plugin settings UIInfoDefiniteclass of "obsidian.PluginSettingTab", member_call of "obsidian.Plugin"
Accesses Obsidian vault APIsInfoDefinitemember_read of "app.vault" (4)
Enumerates vault filesInfoDefinitemember_call of "app.vault.getFiles", member_call of "app.vault.getFolderByPath"
Registers vault eventsInfoDefinitemember_call of "app.vault.on"
Accesses attachment resource pathsInfoDefinitestring_contains of "obsidian://"
Writes vault filesInfoDefinitemember_call of "app.vault.createBinary"
Registers Obsidian workspace eventsInfoDefinitemember_call of "app.workspace.on" (2)

The above data may not be accurate and contain errors. For more information refer to the page about data collection.

Lines of Code

The plugin has a total of 22559 lines of code. The following chart shows the lines of code split by programming language.

Downloads

The following chart shows the total number of downloads of the plugin over time. The second chart shows the delta of downloads per week, which is the number of new downloads per week. New version releases are marked with vertical lines.

Version History

VersionRelease DateNote
1.0.02026-08-14None
1.0.12026-08-16None
1.0.22026-08-18None
1.0.32026-08-18None
1.0.42026-08-19None
1.0.52026-08-19None
1.0.62026-08-20None
1.0.72026-08-20None
1.0.82026-08-20None
1.0.92026-08-22None
1.0.102026-08-24None
1.0.112026-08-25None
1.0.122026-08-25None
1.0.132026-08-27None
1.0.152026-08-28None
1.0.162026-09-27None
1.0.172026-09-27None