File Clipper
unlistedby Rafael Papallas
Watches an Inbox folder for new screenshots and PDFs, moves them into a media folder, and creates a note embedding the file with a relative link.
File Clipper
Watches an Inbox folder for new screenshots and PDFs. When one appears, it:
- Moves the file into your dedicated
mediafolder - Creates a new note in your Inbox (or wherever you choose) that embeds the
file with a plain relative markdown link, e.g.
— not Obsidian's proprietary![[filename]]wikilink syntax, so the note stays portable outside of Obsidian.
No external tools — this runs entirely inside Obsidian using its plugin API and file-watching, so it works even for files dropped in by another app.
Install
- In your vault, go to
<vault>/.obsidian/plugins/ - Create a folder called
file-clipper - Copy
manifest.jsonandmain.jsinto that folder - Restart Obsidian (or reload it: Cmd+R / Ctrl+R)
- Go to Settings → Community plugins. If community plugins are off, turn them on (you'll get a one-time warning about running third-party code — that's normal, since Obsidian can't tell a manually-installed plugin from a store one)
- Find "File Clipper" in the Installed plugins list and enable it
- Open its settings tab and confirm the Inbox / media / note folder names match your vault structure
How it behaves
- Only files created directly inside the configured Inbox folder are picked up (not subfolders, by default)
- Only extensions listed in "File extensions" (default:
png,jpg,jpeg,gif,webp,pdf,eml) trigger it — so screenshots, PDFs, and.emlemails are all picked up out of the box .emlfiles get special handling: the email is moved intomedialike any other file, but the generated note contains the decoded message body (plus Subject/From/To/Date) instead of an embed, with a plain link back to the original.emlattachment at the bottom. Handles quoted-printable and base64 bodies, multipart/alternative (preferringtext/plainovertext/html), and RFC 2047-encoded headers.- If a filename collision would occur in
media, it appends-1,-2, etc. - There's a short settle delay before processing, in case your screenshot app writes the file in stages
- The embed is a relative markdown link computed from the note's folder to the media folder (e.g.
), not an Obsidian wikilink embed — this keeps notes readable in any plain-markdown tool, not just Obsidian - The generated note's name follows the "Note naming" setting: either a timestamp (
Clip 2026-08-23 143022.md, the default) or the original file's name (My Screenshot.md) — collisions in either mode get a-1,-2, ... suffix - PDFs are wrapped in a foldable Obsidian callout (
> [!note]- PDF) that starts collapsed, so the note stays short until you expand it — toggle this off, or rename the section, via "Collapsible PDF section" / "PDF section title". Images are embedded plainly as before. In plain-markdown tools the callout syntax is ignored and the embed still shows. - The generated note has simple frontmatter (
created, plustags: [clip]by default) — the tag name is configurable, and tagging can be turned off entirely via "Add tag to note" - Edit the
contenttemplate inmain.jsif you want a richer template (e.g. via Templater variables)
Note
This plugin only reacts while Obsidian is open and the vault is loaded (same
limitation any live watcher inside the app has). If Obsidian is closed when the
file lands, it'll be picked up the moment you reopen the vault, since
create fires for files that appeared while it wasn't watching too — but this
hasn't been tested across every Obsidian version, so worth confirming once with
a manual test.
Mobile
This plugin works on Obsidian mobile (iOS/Android) too — it only uses the standard Obsidian Plugin API, nothing desktop-only. The main difference is how files actually land in the Inbox folder, since there's no external screenshot tool writing directly into the vault on mobile:
- iOS share sheet: take a screenshot (or save a PDF), then use the
Files/Photos share sheet to save it into
<vault>/00. Inbox(e.g. via the Files app if your vault is in iCloud Drive). - Obsidian's own "Attach file" / image insert: if you insert a file through Obsidian itself, it usually lands next to the current note rather than in the Inbox folder, so it won't be picked up unless you're actively editing a note that lives in the Inbox folder.
- Sync: if your vault syncs (iCloud, Obsidian Sync, etc.) and a file
is dropped into the Inbox folder from another device, it'll be picked up
once it syncs down and Obsidian sees the
createevent.
Everything else (moving the file, creating the note, settle delay) behaves the same as on desktop.
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.