Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Save as Local Images

saltyfireballsaltyfireball703 downloads

Download all remote images in the current note and save them locally to your vault's attachment folder, rewriting URLs to point to the local copies.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates4

An Obsidian plugin that downloads remote/external images and saves them locally to your vault. After downloading, every URL is rewritten to point to the local copy.

Works on both desktop and mobile.

Features

  • Save images in a single note -- command palette: "Save all remote images locally"
  • Save images for a whole folder (recursive) -- right-click any folder in the file explorer and choose "Save all remote images locally". Walks every Markdown note in the folder and its subfolders, downloads remote images, rewrites URLs in place, and reports a summary.
  • Automatic folder structure -- images are saved under your vault's configured attachment folder, nested by the note's path (e.g. attachments/games/re/game1/).
  • Supports all common image syntaxes in the body of the note:
    • Markdown: ![alt](url)
    • HTML: <img src="url">
    • Wiki embeds: ![[url]]
    • Linked images: [![alt](url)](url) are collapsed to plain images after rewrite when the link and image point to the same URL.
  • Frontmatter image URLs -- bare image URLs in frontmatter properties (e.g. cover: https://example.com/cover.png) are also downloaded and rewritten.
  • URL rewriting -- after saving, every occurrence of the remote URL in the note is replaced with the local file path.
  • Safe link targets -- local paths that contain spaces, parentheses, or angle brackets are wrapped with <...> so Obsidian's link resolver handles them correctly (no %2C/%20 over-encoding).
  • Unique filenames -- each downloaded image gets a 12-character random ID-based filename to avoid collisions.
  • Content-type detection -- file extensions are determined from the HTTP Content-Type header, falling back to the URL extension.
  • Per-file error handling -- a failed download is reported individually and does not stop the rest. Errors from folder runs are also logged to the console.
  • Progress notices -- shows how many images were found, saved, and any failures. Can be disabled in settings. Folder runs always show a single summary notice regardless of the setting.

How to Use

Single note

  1. Open a note that contains remote images.
  2. Open the command palette (Ctrl/Cmd + P).
  3. Run Save as Local Images: Save all remote images locally.

Whole folder

  1. Right-click any folder in the file explorer.
  2. Choose Save all remote images locally.
  3. The plugin walks every .md file under that folder (recursively), downloads remote images, rewrites the URLs, and shows a summary notice when done.

In both cases the plugin will:

  • Scan the note for remote image URLs.
  • Download each image.
  • Save it under your attachment folder, nested by the note's location.
  • Rewrite every URL in the note to point to the local file.

Folder Structure

If your vault's attachment folder is set to attachments and you run the command on a note at games/re/game1.md, the images will be saved to:

attachments/games/re/game1/
  abc123def456.png
  ghi789jkl012.jpg
  ...

Supported Image Patterns

Pattern Example
Markdown ![screenshot](https://example.com/img.png)
HTML <img src="https://example.com/img.png">
Wiki embed ![[https://example.com/img.png]]
Linked image [![alt](https://.../img.png)](https://.../img.png)
Frontmatter URL cover: https://example.com/cover.png

Supported file types: PNG, JPG/JPEG, GIF, BMP, SVG, WebP, ICO, TIFF, AVIF.

Installation

Obsidian Community Plugin

This plugin is available in the official Obsidian community plugin directory. Install it from Settings > Community plugins > Browse and search for "Save as Local Images" or "Save as Local Images by saltyfireball".

Community plugin page: https://community.obsidian.md/plugins/sfb-save-as-local-images

More Plugins by saltyfireball

Browse all of my published Obsidian plugins on my profile: https://community.obsidian.md/users/saltyfireball

Settings

  • Show progress notices -- display notices showing how many images were found, downloaded, and any errors (enabled by default). Applies to single-note runs; folder runs always show one summary notice.

License

MIT

HealthExcellent
ReviewPassed
About
Download remote images in the current note and save them to your vault's attachment folder organized by the note's path. Rewrite Markdown, HTML, and wiki embed URLs to local files with unique ID filenames and content-type–based extensions, and report progress plus individual download errors.
AttachmentsImagesImport
Details
Current version
1.0.5
Last updated
3 months ago
Created
5 months ago
Updates
4 releases
Downloads
703
Compatible with
Obsidian 1.4.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
saltyfireballsaltyfireball
GitHubsaltyfireball
  1. Community
  2. Plugins
  3. Attachments
  4. Save as Local Images

Related plugins

Local Images Plus

A reincarnation of Local Images to download images in Markdown notes to local storage.

Ink

Handwriting and drawing directly between paragraphs using a digital pen, stylus, or Apple pencil.

Imagine

A comprehensive image management plugin for managing, inserting, resizing, viewing, and batch processing images.

Pixel Perfect Image

Pixel perfect 100% image resizing, copy to clipboard, show image in Finder/Explorer, and much more.

Image Context Menus

Image context menus (mostly on right click): Copy to clipboard, Open in default app, Show in system explorer, Reveal file in navigation, Open in new tab.

Nexus AI Chat Importer

Import AI chat conversations from ChatGPT, Claude, and Mistral Vibe (formerly Le Chat) exports into Obsidian as clean, readable Markdown files.

Paste image rename

Rename image after pasting, support name pattern and auto renaming.

Image auto upload

Upload images from your clipboard by PicGo.

Epub Importer

Import EPUB files as Markdown.

Imgur

Upload images from your clipboard to imgur.com and embeds uploaded image to your note.