ayushparkara746 downloadsAutomatically uploads images to your public or private GitHub repository, replacing local links with the corresponding remote URLs
Paste an image, and NotePix automatically uploads it to GitHub and replaces the local file with a fast hosted link — so your notes stay small, fast, and portable. Public or private repos, encrypted token storage, desktop & mobile.

From Obsidian (recommended):
Or install manually: download main.js and manifest.json from the latest release into <vault>/.obsidian/plugins/notepix/.
New here? Jump to the Setup Guide — it takes about 3 minutes.
I built NotePix after getting burned by third-party image hosts. I was using a public uploader (Imgur-style), and two things bothered me: my uploaded images were public — anyone who found my account could see all of them — and I had no guarantee the service would even stick around (plenty have shut down). I didn't want my notes' images living somewhere I didn't control.
NotePix fixes that. It uploads your pasted images to your own GitHub repository — which can be private — and replaces the local file with a hosted link. Your images live in storage you own and control, public only if you choose, and your vault stays lightweight, fast to sync, and portable.
The essentials:
MyNote-Setup-1.png) instead of a timestamp.Create a new GitHub repository to store your images. Name it
anything (e.g. obsidian-assets). It can be public or private — NotePix
supports both.
NotePix needs a token to upload files.
Recommended (fine-grained, safest):
This covers everything: uploading, rendering (public & private), deleting, and finding orphaned images.
Note: one advanced feature — automatically resolving old, pre-v2 image links (from very early NotePix versions, e.g. after you renamed or switched image repos) — needs to look across your repositories, which a single-repo token can't do. If you have such legacy links, use a classic token (below). New setups never need it.
Developer settings → Tokens (classic) → Generate new token (classic) → check the
repo scope → Generate. Note: a classic repo token grants access to all your
repos, so the fine-grained option above is safer for most people.
Open Settings → NotePix and fill in:
| Setting | Description | Example |
|---|---|---|
| GitHub Username | Your GitHub username (case-sensitive). | AyushParkara |
| Repository Name | The repo you created in Step 1. | obsidian-assets |
| Repository Visibility | Auto detects privacy and picks the right link format. Public/Private force behavior. | Auto |
| Branch Name | The branch to upload to. | main |
| Folder Path in Repository | Directory inside the repo for images (a / is added automatically). |
assets/ |
| Delete Local File | Delete the vault copy after a successful upload. | false |
| Use jsDelivr CDN | (Optional) Serve public-repo images via the CDN. | false |
| Image storage layout | Global folder or Mirror note path. |
Global |
| Name images after note/heading | (Optional) MyNote-1.png instead of a timestamp. |
false |
Encryption (recommended):
You're set — the next image you paste will upload automatically. ✅
Open the Command Palette (Ctrl/Cmd + P) and search “NotePix”:
| Command | What it does |
|---|---|
| Upload all local images in current note | Uploads every local image embedded in the active note and replaces the links. |
| Delete images in current note (multi-select) | Checklist of the note's images; delete selected ones from GitHub + note. |
| Find orphaned images on GitHub | Lists repo images no note/canvas references; pick which to delete. |
| Convert image links in note to jsDelivr CDN | Rewrites the note's public image links to CDN format. |
| Convert image links in note to GitHub raw | Rewrites the note's public image links back to raw GitHub format. |
You can also right-click an image (editor or rendered) for Copy image, Copy URL (public only), and Delete image (GitHub + note).
Auto (Recommended) — on upload, NotePix checks repo privacy (cached 10 min). Public
→ inserts https://raw.githubusercontent.com/.... Private → inserts a self-describing
internal link obsidian://notepix/v2/<owner>/<repo>/<branch>/<path>.
Public — always inserts raw GitHub URLs. Can still render matching existing raw links from your configured GitHub user via authenticated fetch.
Private — always inserts private internal links, fetched and rendered in Reading/Live Preview using your token.
If the repo appears private while notes contain matching raw links, NotePix shows a 3-button modal: Use Auto Mode, Switch to Private, or Keep Public. Prompts are suppressed per repo with a cooldown to avoid repeated interruptions.
Private images render in both Reading View and Live Preview through authenticated fetch (in-memory; no temp files). If encryption is enabled, you're prompted for the master password once per session when a token unlock is first needed.
Your GitHub token is protected:
See SECURITY.md for the full model and how to report a vulnerability. For the smallest risk, prefer a fine-grained token scoped to just your image repo.
Created by Ayush Parkara. If NotePix saves you time, consider supporting development:
You can also help by ⭐ starring the repo, reporting bugs, or sharing NotePix with other Obsidian users.
Released under the MIT License.