NotePix

by Ayush Parkara
5
4
3
2
1
Score: 49/100

Description

Category: 3rd Party Integrations

The NotePix plugin automates the process of handling images inside your notes by uploading them directly to a GitHub repository. When you paste or drag an image into a note, it is instantly uploaded and the local link is replaced with either a fast CDN hosted URL for public repos or a secure internal link for private ones. This keeps your vault lightweight while ensuring your images remain accessible anywhere. It supports both desktop and mobile, provides AES-GCM encryption for your GitHub Personal Access Token and allows you to configure repository details, branches and folder paths. In private mode, images are displayed seamlessly in Reading View through secure token based fetching.

Reviews

No reviews yet.

Stats

8
stars
541
downloads
0
forks
239
days
65
days
65
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
6
total issues
1
open issues
5
closed issues
0
commits

RequirementsExperimental

Latest Version

2 months ago

Changelog

What's New

  • Added safe legacy link migration from obsidian://notepix/<path> to v2 format after successful repo resolution only.
  • Added token-based same-user repo discovery for legacy image resolution.
  • Added repo candidate limits and cooldowns to avoid repetitive checks and reduce latency.
  • Added source-note-aware replacement fallback to avoid active-editor timing misses.
  • Added mtime-safe migration writes to avoid overwriting newer edits.

README file from

Github

NotePix - GitHub Image Uploader

Built for Obsidian Release Version

NotePix automatically uploads images, screenshots, and other assets from your Obsidian vault to a designated GitHub repository. It then replaces local links with either a GitHub-hosted URL or a secure internal private link, with smart Auto/Public/Private mode handling.

NotePix Demo GIF

✨ Features

  • Seamless Automation: Just paste or drag an image into a note. NotePix handles the rest.
  • Private Repository Support: Securely store your images in a private GitHub repository. NotePix fetches and displays them on-the-fly in Reading View.
  • Repo Mode Intelligence: Use Auto (Recommended) to detect repo privacy and choose the correct link format automatically.
  • Mismatch Prompt (3 Options): If your repo is private but notes contain public raw links, NotePix prompts: Use Auto Mode, Switch to Private, or Keep Public.
  • Private Raw-Link Fallback: Existing raw.githubusercontent.com links from any repository under your configured GitHub user can still render in preview.
  • Self-Describing Private Links: New private links include repo context (owner/repo/branch/path) so they remain resolvable even if you change repository settings later.
  • Smart Hover Detection: Password prompts only appear in main document views. Hover previews and page previews work seamlessly without interrupting your workflow.
  • Secure Token Storage: Your GitHub Personal Access Token (PAT) is never stored in plain text. It is encrypted using AES-GCM, and you are prompted for a master password to decrypt it once per session.
  • GitHub-Hosted Links: For public repositories, NotePix uses direct GitHub links to serve images.
  • Customizable: Configure the target repository, branch, and folder path to fit your workflow.
  • Clean Up: Optionally delete the local image file after a successful upload to save space.
  • Mobile Compatible: Works on both Obsidian Desktop and Mobile.
  • Mobile improvements (Android/iOS): Uses the Obsidian attachment folder on mobile, fixes link replacement for attachment-button screenshots, and only deletes local images after the note link has been successfully updated.

⚙️ How it Works

Repository visibility modes

  1. On upload, NotePix checks repo privacy (cached for 10 minutes).
  2. If repo is public → inserts https://raw.githubusercontent.com/....
  3. If repo is private → inserts private internal link in v2 format, e.g. ![](https://raw.githubusercontent.com/AyushParkara/NotePix/HEAD/obsidian://notepix/v2/<owner>/<repo>/<branch>/<path>).
Public
  • Uploads always insert raw GitHub URLs.
  • If the configured repo is actually private, those URLs may fail in editor/browser contexts.
  • NotePix can still render matching existing raw links from your configured GitHub user (including older links from other repos) in preview via authenticated API fetch.
Private
  • Uploads always insert private internal links.
  • Private links are fetched and rendered in Reading/Preview contexts using your token.
  • If repo appears private while notes contain matching raw links, NotePix can show a 3-button mismatch modal:
    • Use Auto Mode
    • Switch to Private
    • Keep Public
  • Prompt suppression is applied per repo with a cooldown window to avoid repeated interruptions.

Editor vs Reading View

  • Private images are rendered in Reading/Preview contexts through authenticated API fetch.
  • In Source/Live Preview text editing, the markdown editor itself cannot directly render authenticated private URL fetches in the same way.

If encryption is enabled, the plugin prompts for master password when token unlock is needed. After successful decrypt, the token is cached for the session.

🚀 Setup Guide

Follow these steps to get NotePix running.

Step 1: Create a GitHub Repository (Public or Private)

First, you need a GitHub repository to store your images. This can now be public or private.

  1. Go to GitHub and create a new repository.
  2. You can name it anything you like (e.g., obsidian-assets, my-notes-images).
  3. Choose the visibility: Public or Private.

Step 2: Generate a GitHub Personal Access Token (PAT)

NotePix needs a token to be able to upload files to your repository.

  1. Go to your GitHub Settings.
  2. Navigate to Developer settings > Personal access tokens > Tokens (classic).
  3. Click "Generate new token" and select "Generate new token (classic)".
  4. Give the token a descriptive name (e.g., obsidian-notepix-token).
  5. Set the Expiration as desired (e.g., 90 days or "No expiration").
  6. Under Select scopes, check the box for repo. This is the only permission required for both public and private repos.
  7. Click "Generate token" at the bottom.
  8. Immediately copy the token! You will not be able to see it again.

Step 3: Install and Configure the Plugin

  1. Install NotePix from the Obsidian Community Plugins browser.
  2. Enable the plugin in your settings.
  3. Open the NotePix settings tab and fill in the details:
Setting Description Example
GitHub Username Your GitHub username (case-sensitive). AyushParkara
Repository Name The name of the repository you created in Step 1. obsidian-assets
Repository Visibility Auto (Recommended) detects privacy and picks the correct link format. Public/Private force behavior. Auto / Public / Private
Branch Name The branch to upload files to. main or master
Folder Path in Repository The directory inside your repo to store images. A / is added automatically. assets/
Delete Local File If enabled, the original image file is deleted from your vault after a successful upload. true / false
  1. Toggle on "Enable Encryption".
  2. Enter a strong, memorable password in the "Master Password" field. This password is not saved anywhere.
  3. Paste the GitHub PAT you generated in Step 2 into the "GitHub Personal Access Token" field.
  4. Click "Save Encrypted Token". A notice will confirm it has been saved securely.

You are all set! The next time you paste an image, NotePix will handle the upload according to your settings.

🙏 Support

This plugin is created by Ayush Parkara. If you find it useful and want to show your appreciation, you can support me here:

📄 License

This plugin is released under the MIT License.

Similar Plugins

info
• Similar plugins are suggested based on the common tags between the plugins.
Note Toolbar
2 years ago by Chris Gurney
Flexible, context-aware toolbars for your notes in Obsidian.
Smart Composer
2 years ago by Heesu Suh
AI chat assistant for Obsidian with contextual awareness, smart writing assistance, and one-click edits. Features vault-aware conversations, semantic search, and local model support.
Execute Code
4 years ago by twibiral
Obsidian Plugin to execute code in a note.
MCP Tools
a year ago by Jack Steam
Add Obsidian integrations like semantic search and custom Templater prompts to Claude or any MCP client.
Zoottelkeeper
5 years ago by Akos Balasko
Obsidian plugin of Zoottelkeeper: An automated folder-level index file generator and maintainer.
Shell commands
5 years ago by Jarkko Linnanvirta
Execute system commands via hotkeys or command palette in Obsidian (https://obsidian.md). Some automated events are also supported, and execution via URI links.
Local Backup
3 years ago by GC Chen
Automatically creates a local backup of the vault.
Imgur
5 years ago by Kirill Gavrilov
Pastes images right to imgur.com
Khoj
3 years ago by Debanjum Singh Solanky
Your AI second brain. Self-hostable. Get answers from the web or your docs. Build custom agents, schedule automations, do deep research. Turn any online or local LLM into your personal, autonomous AI (gpt, claude, gemini, llama, qwen, mistral). Get started - free.
CustomJS
5 years ago by Sam Lewis
An Obsidian plugin to allow users to reuse code blocks across all devices and OSes
Modal forms
3 years ago by Danielo Rodriguez
Define forms for filling data that you will be able to open from anywhere you can run JS
Fit
2 years ago by joshuakto
File gIT (FIT) to sync your files across mobile and desktop devices using GitHub.
Enveloppe
4 years ago by Mara-Li
Enveloppe helps you to publish your notes on a GitHub repository from your Obsidian Vault, for free!
Note Linker
4 years ago by Alexander Weichart
🔗 Automatically link your Obsidian notes.
AI Providers
a year ago by Pavel Frankov
This plugin is a hub for setting AI providers (OpenAI-like, Ollama and more) in one place.
Syncthing Integration
3 years ago by LBF38
Obsidian plugin for Syncthing integration
Github Copilot
2 years ago by Vasseur Pierre-Adrien
A bridge between Obsidian and Github Copilot
GitHub Sync
2 years ago by Kevin Chin
Sync Obsidian vault to personal GitHub
Note Companion AI
8 months ago by Benjamin Ashgan Shafii
Note Companion: AI assistant for Obsidian that goes beyond just a chat. (prev File Organizer 2000)
Auto Template Trigger
3 years ago by Numeroflip
An obsidian.md plugin, to automatically trigger a template on new file creation
Pieces for Developers
3 years ago by Pieces For Developers
Pieces' powerful extension for Obsidian-MD that allows users to access their code snippets directly within the Obsidian workspace
Regex Pipeline
5 years ago by No3371
An Obsidian plugin that allows users to setup custom regex rules to automatically format notes.
Prompt ChatGPT
2 years ago by Coduhuey
Personal Assistant
3 years ago by edony
A plugin that harnesses AI agents and streamlining techniques to help you automatically manage Obsidian.
Shortcut Launcher
4 years ago by MacStories
Trigger shortcuts in Apple's Shortcuts app from Obsidian with custom commands.
Text Expander JS
4 years ago by Jonathan Heard
Obsidian plugin: Type text shortcuts that expand into javascript generated text.
AI Tagger
2 years ago by Luca Grippa
Simplify tagging in Obsidian. Instantly analyze and tag your document with one click for efficient note organization.
Apply Patterns
5 years ago by Jacob Levernier
An Obsidian plugin for applying patterns of find and replace in succession.
Image Upload Toolkit
3 years ago by Addo Zhang
An obsidian plugin for uploading local images embedded in markdown to remote store and export markdown for publishing to static site.
GitHub Gitless Sync
a year ago by Silvano Cerza
Sync a GitHub repository with vaults on different platforms without requiring git installation
Attachment Manager
3 years ago by chenfeicqq
Attachment folder name binding note name, automatically rename, automatically delete, show/hide.
YouVersion Linker
3 years ago by Jaanonim
Obsidian plugin that automatically link bible verses to YouVersion bible.
Enhanced Canvas
a year ago by RobertttBS
When editing on Canvas, properties and Markdown links to notes are automatically updated, enabling backlinks in Canvas.
AI Tagger Universe
a year ago by Hu Nie
An intelligent Obsidian plugin that leverages AI to automatically analyze note content and suggest relevant tags, supporting both local and cloud-based LLM services.
Differential ZIP Backup
2 years ago by vorotamoroz
Gist
5 years ago by Jun Lin
📒 Gist View for Obsidian(https://obsidian.md)
Dataview (to) Properties
10 months ago by Mara-Li
Sync inline Dataview to properties (YAML frontmatter)
GitHobs
2 years ago by GabAlpha and MarcoG
Use Obsidian as Github issue editor! A simple plugin to create Github issues directly from Obsidian with logic taken from Git
Share as Gist
4 years ago by timrogers
An Obsidian (https://obsidian.md/) plugin for sharing your notes as a GitHub gist - either privately or publicly.
Webhooks
5 years ago by Stephen Solka
Connect obsidian to the internet of things via webhooks
Day and Night
4 years ago by Kevin Patel
An Obsidian plugin to automatically switch between day and night themes based on a set schedule
Linkify
4 years ago by Matthew Chan
Arcana
3 years ago by A-F-V
Supercharge your Obsidian note-taking through AI-powered insights and suggestions
RunJS
3 years ago by eoureo
Let's run JavaScript easily and simply in Obsidian.
Automatic Linker
a year ago by Kodai Nakamura
S3 Image Uploader
3 years ago by jvsteiner
This project implements an image uploader, similar to others offered by the community, with one important difference: you can provide your own s3 based storage, instead of relying on a third party service, such as imgur.
Weekly Review
3 years ago by Brandon Boswell
Image Uploader
5 years ago by Creling
Auto Filename
3 years ago by rcsaquino
Auto Filename is an Obsidian.md plugin that automatically renames files in Obsidian based on the first x characters of the file, saving you time and effort.
GitHub Embeds
3 years ago by Gino Valente
Embed GitHub issues, PRs, and code snippets directly in Obsidian
Substitutions
2 years ago by BambusControl
Automatic text replacer for Obsidian.md
InlineAI
a year ago by FBarrca
Snippets
5 years ago by Pelao
Publish and GitHub URL
4 years ago by kometenstaub
Copy or open the Obsidian Publish URL of a note. You can also open its Git commit history on GitHub.
JavaScript Init
5 years ago by ryanpcmcquen
Run custom JavaScript in Obsidian.
Packrat
4 years ago by Thomas Herden
Process completed instances of recurring items created by the Obsidian Tasks plugin
Metadata Auto Classifier
2 years ago by Beomsu Koh
AI-powered Obsidian plugin that automatically classifies and generates metadata (tags, frontmatter) for your notes.
Emo
3 years ago by yaleiyale
Use image/file hosting in Obsidian by clipboard or draging file. Obsidian 图床聚合 & Github上传器
Cron
3 years ago by Callum Loh
Obsidian cron / schedular plugin to schedule automatic execution of commands
Gnome Terminal Loader
3 years ago by David Carmichael
Auto Periodic Notes
2 years ago by Jamie Hurst
Obsidian plugin to create new periodic notes automatically in the background and allow these to be pinned in your open tabs. Requires the "Periodic Notes" plugin.
Auto Hyperlink
3 years ago by take6
Automation
2 years ago by Benature
GitHub Link
2 years ago by Nathonius
Auto Front Matter
3 years ago by conorzhong
NoteMover shortcut
a year ago by Lars Bücker
Quickly and easily move notes to predefined folders. Perfect for organizing your notes.
Save as Gist
4 years ago by ghedamat
Frontmatter generator
3 years ago by Hananoshika Yomaru
A plugin for Obsidian that generates frontmatter for notes
Open File by Magic Date
4 years ago by simplgy
R.E.L.A.X.
2 years ago by Syr
Regex Obsidian Plugin
GitHub Issue Augmentation
3 years ago by samprintz
Tab Rotator
3 years ago by Steven Jin
Obsidian Rotate opened tabs with a specified time interval
Babashka
3 years ago by Filipe Silva
Run Obsidian Clojure(Script) codeblocks in Babashka.
NeuroVox
a year ago by Synaptic Labs
Obsidian plugin for transcription and generation
Run
2 years ago by Hananoshika Yomaru
Generate markdown from dataview query and javascript.
Codeblock Template
3 years ago by Super10
A template plugin that allows for the reuse of content within Code Blocks!一个可以把Code Block的内容重复利用模板插件!
Current View
10 months ago by Lucas Ostmann
Automatically set the view mode (Reading, Live Preview, Source) for notes in Obsidian using folder rules, file patterns, or frontmatter.
Snippets Manager
2 years ago by Venkatraman Dhamodaran
Snippets Manager (Text Expander) For Obsidian
Title As Link Text
a year ago by Lex Toumbourou
An Obsidian plugin to set the Link Text using the document title
Blueprint
3 months ago by François Vaux
Repeatable templates plugin for Obsidian
Steward
6 months ago by Dang Nguyen
A vault-specific agent equipped with agentic capacity, fast search, flexible commands, vault management, and terminals to "jump" into other CLI agents, such as Claude, Gemini, etc.
RSS Copyist
2 years ago by aoout
Get the RSS articles as notes.
Tag Breakdown Generator
3 years ago by Hananoshika Yomaru
Break down nested tags into multiple parent tags
Note 2 Tag Generator
2 years ago by Augustin
Daily note creator
2 years ago by Mario Holubar
Automatically creates missing daily notes.
Personal OS
2 years ago by A.Buot
Note UID Generator
a year ago by Valentin Pelletier
Allow you to automatically generate UID for the notes in your vault.
Gistr
2 years ago by Aetherinox
Obsidian.md plugin which allows you to use your notes to embed, create, and update gists for Github and Opengist. Light & dark theme support, create / update public & private gists either manually or with autosave.
Todos sort
a year ago by Jiri Sifalda
A plugin for Obsidian that sorts todos within a note
GitHub Integration
a year ago by Kirill Zhuravlev
Plugin that fetch your github stars into notes
Google Calendar Importer
7 months ago by Fan Li
A simple and light-weighted google calendar importer, allow injecting the events / tasks of a day automatically to your daily notes, or import it to anywhere with a command.
Auto Replacer
10 months ago by Alecell
A live text replacement plugin that applies automatic formatting, corrections, or custom replacements in real-time. Define your own regex-based rules and transformation logic to modify text dynamically as you type.
Timeline Canvas Creator
10 months ago by chris-codes1
Quickly create timeline structured canvases in Obsidian.
Inkporter
a year ago by Ayush Kumar Saroj
Inkporter is an Obsidian plugin that digitizes handwritten notes with smart ink isolation, adaptive theming, and seamless import workflows.
Missing Link File Creator
a year ago by Lemon695
The plugin creates both missing links and the corresponding files.
Last Position
a year ago by saktawdi
Automatically scroll to the last viewed position when opening the markdown document.
Vault File Renamer
a year ago by Louan Fontenele
Vault File Renamer: Automatically standardizes file names to GitHub style (lowercase, no accents, only -, ., _) while preserving folder structure and file contents.
pycalc
a year ago by pycalc
LinkMagic
2 years ago by AndyReifman
AI integration Hub
a year ago by Hishmat Salehi
A modular AI integration hub for Obsidian
Template Filename
a year ago by Callum Alpass
Obsidian plugin for creating notes with templatable filenames
Note Linker with Previewer
2 years ago by Nick Allison
Obsidian Plugin to find and Link notes
Sentinel
a year ago by Giorgos Sarigiannidis
A plugin for Obsidian that allows you to update properties or run commands based on document visibility changes.
tidit
a year ago by codingthings.com
tidit is an Obsidian - https://obsidian.md - plugin that adds timestamps to your document as you type — when you want it, how you want it, where you want it.
Organized daily notes
a year ago by duchangkim
Automatically organizes your daily notes into customizable folder structures for better organization and easier navigation.
Github Issues
10 months ago by LonoxX
An Obsidian plugin that integrates with GitHub to track issues and pull requests directly in your vault.
Task Mover
a year ago by Mariia Nebesnaia
A plugin for obsidian to move unfinished tasks to the daily note automatically
URL Formatter
8 months ago by Thomas Snoeck
Automatically formats specific URLs pasted into Obsidian into clean Markdown links.
Import GitHub Readme
2 years ago by Chasebank87
AI Note Tagger
a year ago by Jasper Mayone
Auto tagging obsidian notes w/ AI
Rapid AI
2 years ago by Rapid AI
AI Assistant for selected text and generating content with Markdown. Shortcuts and quick action buttons provide instant AI assistance. It provides a high availability API for unlimited Chat GPT request rates, so you can ensure smooth work for any workload.
Hotstrings
a year ago by wakywayne
Runsh
a year ago by Ddone
A simple plugin that allows to run shell commands from obsidian.
Tasks Cleaner
a year ago by lowit
🧹 Tasks Cleaner is a plugin for Obsidian that helps you automatically remove old completed tasks from your Markdown notes
Varinote
a year ago by Giorgos Sarigiannidis
A plugin for Obsidian that allows you to add variables in Templates and set their values during the Note creation.
Pasterly
a year ago by easternkite
An Obsidian plugin that automatically uploads clipboard images to Firebase Storage and generates markdown links
Rsync
a year ago by Ganapathy Raman
An Obsidian plugin to perform sync files between machines using Rsync
Tencent COS for Imgur
a year ago by bobostudio
🔥 Obsidian 腾讯云 COS 图床插件
Memos AI Sync
a year ago by leoleelxh
obsidian-memos-sync-plugin,将 Memos 内容同步到 Obsidian 的插件,提供无缝集成体验。
Vault to blog
2 years ago by barkstone2
Automation tool of making react SPA blog by obsidian vault.
Watched-Metadata
2 years ago by Nail Ahmed
Watches for changes in metadata and updates the note content accordingly.
Jura Links
2 years ago by Lukas Collier & Emi Le
Verlinke deine Normangaben, Aktenzeichen oder Fundstellen in deiner Obsidian Notiz mit Gesetzesanbietern.
Mastodon Threading
a year ago by El Pamplina de Cai
Obsidian plugin to compose and post threads to Mastodon
Discord Message Sender
10 months ago by okawak
Obsidian Plugin: Send messages from a Discord channel to your Vault
Plugin REPL
a year ago by readwithai
An in-note Read Evaluate Print Loop to execute JavaScript within Obsidian
Daily Note Structure
2 years ago by db-developer
This obsidian plugin creates a structure for your daily notes
Note From Form
a year ago by Sergei Kosivchenko
Obsidian plugin that adds support to define input form and generate notes based on it
Auto Daily Note
a year ago by John Dolittle
GitHub Stars
a year ago by Flying Nobita
Obsidian plugin that displays GitHub star ⭐ counts next to repository links in your notes, in Reading View, Live Preview, and embedded markdown.
Fast Image Auto Uploader
2 years ago by Longtao Wu
upload images from your clipboard by gopic
Open in GitHub
a year ago by Muurphy Chen
This is an Obsidian plugin designed to open project or files directly in GitHub via your browser.
ImgBB Uploader
2 years ago by Jordan Handy
An image uploader to imgBB for Obsidian
Daily Notes Automater
a year ago by David Pedrero
GitHub Tasks
8 months ago by Mike Thicke
Obsidian plugin to sync GitHub issues and PRs to Obsidian TODOs
Copy Local Graph Paths
a year ago by Amy Z
copy-local-graph-paths is a simple Obsidian plugin that copies the paths of notes linked to your current page.
Open or Create File
7 months ago by Ilya Paripsa
Set up Obsidian commands that create or open files based on predefined patterns.
Blog AI Generator
a year ago by Gareth Ng
Obsidian Plugin: generate blog via AI based on the current note.
Paste as Embed
2 years ago by Matt Laporte
Obsidian plugin to paste contents of clipboard into a new note, and embed it in the active note.
Current File
2 years ago by Mark Fowler
An Obsidian plugin to allows external applications to know what file Obsidian is currently viewing
IMSwitch in Math Block
a year ago by XXM
Notes 2 Tweets
2 years ago by Tejas Sharma
Generate and schedule tweets automatically from your notes on Obsidian
GitHub Tracker
a year ago by schaier-io
Random Wikipedia Article
10 months ago by SpencerF718
An Obsidian plugin to generate a note of a random Wikipedia article.
GH Links Shortener
6 months ago by David Barnett
Obsidian plugin to set shortened link text for pasted GitHub URLs
Hanko
a year ago by Telehakke
Obsidian plugin.
Handlebars Dynamic Templating
3 months ago by Hide_D
Handlebars dynamic templating. Define template files and use them dynamically via hb blocks. Template recursion is also possible.
KOI Sync
a year ago by Luke Miller
Content OS
8 months ago by eharris128
Post to LinkedIn from within Obsidian
Move Cursor On Startup
8 months ago by Jared Kelnhofer
Obsidian plugin to move the cursor to the right and back to the left when starting up. Why? To keep DataView expressions from not running on the first load of, say, your Home file.
One Step Wiki Link
a year ago by Busyo
用于 Obsidian 一步插入当前界面匹配到的所有外链(维基链接)
EUpload
a year ago by Appleex
Obsidian 插件,专用于上传文件到存储仓库。目前支持 Lskypro(兰空图床),后续有需求会引入其它存储方式,如:Github/Gitee等等。
Lskypro Upload V2
a month ago by 3kk0
Auto upload local images to LskyPro.