HyoYoonNam79 downloadsUpload pasted images to your GitHub repository and insert the raw CDN link automatically instead of saving them locally.
Upload pasted (or dropped) images straight to your own GitHub repository and insert
a raw.githubusercontent.com link instead of saving the file into your vault. Keep
your Obsidian vault small while your screenshots live on GitHub's CDN.
Unlike Notion, Obsidian stores every pasted image as a local file, so your vault keeps growing. This plugin intercepts the paste, commits the image to a GitHub repo you control, and embeds the public raw URL — nothing is written to your vault.
data.json).
Do not sync, commit, or share data.json.Open Settings → Image Paste on GitHub. The settings are ordered so you choose the repository first, then create a token scoped to it:
main) and Upload path (default
assets).When creating the token, restrict Repository access to your image repository and set Contents to Read and write (Metadata stays Read-only):

Paste or drag an image into any note. A ![uploading...]() placeholder appears,
and once the upload finishes it is replaced with .
If config is missing, Obsidian's default local-save behavior is left untouched.
npm install
npm run dev # watch build
npm run build # type-check + production bundle
Copy main.js, manifest.json, and styles.css into
<vault>/.obsidian/plugins/image-paste-on-github/ to test.
Obsidian has no secure credential storage, so the token is kept unencrypted in
data.json — the same as other token-based plugins. The plugin only sends the token
to GitHub in the Authorization header; it is never written to your notes, logged,
or placed in URLs. The practical risk is data.json leaking through sync, backups,
or sharing, so the main protection is keeping the token narrowly scoped:
data.json.With this setup, a leaked token can only push images to that one repo — it cannot touch the rest of your GitHub account.
MIT