ClaudiaFang104 downloadsUpload images to any S3-compatible storage. Features: WebP conversion, image compression, text & logo watermark with live preview.
Paste an image. It's optimized, uploaded, and linked automatically.
Previously Watermark Bucket Uploader. Existing installations and settings continue to work normally.
A zero-friction image uploader for Obsidian with S3-compatible storage, WebP conversion, compression, and optional watermarks. This plugin intercepts every paste and drop, optimizes the image, uploads it to your own S3-compatible bucket, and drops a clean  right into your note. Your images, your infrastructure.
Paste / Drop
↓
Optimize & Compress
↓
Convert to WebP
↓
Optional Watermark
↓
Upload to S3-compatible storage
↓
Insert Markdown link
The Live Preview shows your text and logo watermark exactly as it will be applied — if you choose to enable one.
main.js, manifest.json, and styles.css from the latest release.<vault>/.obsidian/plugins/watermark-bucket-uploader/. link is inserted automatically.Optional: configure compression, WebP, watermarking, upload-on-drag, and folder exclusions. For a step-by-step walkthrough on setting up Cloudflare R2 and configuring watermarks, see the Cloudflare R2 & Watermarks Setup Guide.
Bring your own storage. Paste to S3 works with any S3-compatible provider — AWS S3, Cloudflare R2, MinIO, Backblaze B2, or any other S3-compatible endpoint.
| Field | Description |
|---|---|
| Access Key | S3 / R2 access key ID |
| Secret Key | S3 / R2 secret access key (stored securely in local storage) |
| Region | Bucket region (auto for Cloudflare R2) |
| S3 Bucket | Your bucket name |
| Bucket Folder | Optional path prefix — supports ${year}, ${month}, ${day}, ${basename} |
| Custom Endpoint | Required for R2 and non-AWS providers |
| Custom Image URL | Public URL base, e.g. your CDN or custom domain |
https://<account-id>.r2.cloudflarestorage.com.auto.Watermarking is off by default and can be disabled entirely — skip this section if you don't need it. When enabled, open the Live Preview in settings to see changes in real time.
| Field | Description |
|---|---|
| Text Watermark | Toggle text overlay |
| Text | e.g. © yourdomain.com |
| Font / Size / Style / Color | Full typography control; size 0 = auto (2% of image width) |
| Logo Watermark | Toggle image overlay |
| Logo Path | Vault-relative path, e.g. _assets/logo.png |
| Logo Size / Opacity | Scale (% of image width) and transparency (0–1) |
| Position | Bottom Right, Bottom Left, Bottom Center, or Center |
| Offset X/Y | Fine-tune placement (±% of image dimensions) |
| Preview Res | Canvas resolution for preview accuracy (720p–4K) |
| Action | Result |
|---|---|
Ctrl/Cmd+V in any note |
Intercepts the image, processes it, uploads, inserts  |
| Drag & drop onto the editor | Same pipeline (enable "Upload on drag" in settings) |
Command Palette → Upload image |
Pick a local file to upload manually |
| Auto-upload on create | Any image added to your vault is uploaded and removed locally |
git clone https://github.com/firstsun-dev/watermark-bucket-uploader.git
npm install
npm run dev # watch build
npm run build # type-check + production build
npm run test # vitest suite
npm run lint # eslint
MIT
Created by ClaudiaFang