New Plugin: NotePix - Securely upload images to GitHub (Private & Public Repos) to keep your vault light

Hello everyone,

Like many of you, I use Obsidian for everything, which means I paste a lot of screenshots and images into my notes. I started noticing my vault was getting larger and larger, making sync times longer and the vault feel less portable.

To solve this, I spent my time since July developing a solution that I’m excited to share with you all today.

Introducing NotePix: A plugin to automatically upload images from your vault to a GitHub repository, keeping your notes lean and fast.

I built this with two core principles in mind: security and flexibility.


:sparkles: Key Features

  • :framed_picture: Seamless Automation: Just paste or drag an image into your note. NotePix detects it, uploads it, and replaces the local link for you.
  • :shushing_face: Private Repository Support: This was essential for me. You can use a private GitHub repository to store your images. NotePix securely fetches and displays them on-the-fly in Reading View, so your assets are never public.
  • :locked_with_key: Secure Token Storage: Your GitHub Personal Access Token is never stored in plain text. It is encrypted using AES-GCM and requires a master password to decrypt once per session.
  • :high_voltage: Fast CDN Links: When using a public repository, the plugin uses GitHub’s fast raw content URL, making your images load quickly anywhere.
  • :broom: Optional Clean Up: You can configure the plugin to automatically delete the local image file after a successful upload to save space.
  • :mobile_phone: Mobile Compatible: Works on both Obsidian Desktop and Mobile.

How It Works

The process is simple. When you add an image to a note:

  1. NotePix uploads the image file to your configured GitHub repository (/assets/ folder, for example).
  2. It then replaces the local ![[image.png]] link with a markdown link ![](https://...).
  3. If you’re using a private repo, the link will appear broken in the editor, but will be securely rendered and displayed perfectly in Reading View.

Here is a quick demo of the workflow:


:rocket: Quick Setup Guide

  1. Create a GitHub Repository: Go to GitHub and create a new repository. It can be Public or Private.
  2. Generate a GitHub PAT: In your GitHub Developer Settings, generate a new “Personal access token (classic)” with the repo scope. Copy this token immediately.
  3. Configure NotePix: Install the plugin from the Community Plugins browser, open its settings, and fill in your GitHub username, repository name, and paste the token. I highly recommend enabling encryption for maximum security.

This has been a real passion project for me, and I’m eager to hear what the community thinks. I’m looking for feedback, bug reports, and any feature suggestions you might have to make it even better.

You can install NotePix directly from the Community Plugins browser in Obsidian.

For the full documentation and source code, please visit the GitHub repository: NotePix(github)
“ayushparkara/notepix”

Thank you for checking it out!

1 Like

does export to pdf work ?