Insert Image Plus

approvedunreviewed

by Yosuke Tanji

Insert images and Excalidraw drawings from a thumbnail grid grouped by filename prefix (icon, logo, ...), and manage them one file at a time.

↓ 453 downloadsUpdated 27d agoMIT

Insert Image Plus

Insert images and Excalidraw drawings from a visual grid, grouped by filename prefix — and manage them one file at a time.

If you name your assets like icon - map.png, logo - shopify.svg, stick - idea.png, the part before - becomes a category. No folders to maintain, no tags to add: the naming convention is the UI.

日本語の説明は 下にあります.

Features

Insert picker

  • Command Insert image (only shown when a Markdown editor or an Excalidraw canvas is active) or the ribbon + icon.
  • Step 1: pick a category — Recent, All, by kind (image / Excalidraw), or any detected prefix.
  • Step 2: pick from a thumbnail grid (lazy-loaded, search-as-you-type).
  • Inserts ![[name]] (or [[name]]), with an optional default width. Into Excalidraw it places the image on the canvas.
  • Excalidraw drawings are detected by their frontmatter (excalidraw-plugin), so renamed drawings without .excalidraw in the name are found too. By default only drawings whose name starts with one of your prefixes (e.g. illustration - …) are listed, so work-in-progress boards stay out of the way.
  • Excalidraw thumbnails are rendered on the fly (on by default). Drawings heavier than 5 MB including embedded images show a placeholder instead.

Manager view

  • Command Manage images or the ribbon gallery icon opens a tab.
  • Filter by folder and by prefix chips; search; sort by name / created / modified / size / references.
  • Each card shows the number of detected references, the file type, size and date. Hover for quick actions.
  • Click a card for details: large preview, referencing notes (click to jump to the line), and actions:
    • Open in Obsidian · Open with default app · Show in system explorer · Copy link
    • Rename with a prefix picker (keeps the prefix - name convention)
    • Move to another folder
    • Convert to WebP (PNG / JPG / BMP / AVIF). References in Markdown notes are rewritten to the new file; the original is always kept — the plugin never deletes it for you.
    • Delete — one file at a time, only when no reference is detected (checked when the dialog opens and again right before deleting). Follows Obsidian's Deleted files setting. The plugin never edits your notes to remove references.
  • Drag & drop image files from your OS onto the view to add them; you choose the prefix on drop.

Honest about references

Reference counts come from Obsidian's link index ([[ ]], ![[ ]], []() in Markdown). References inside Canvas files, plain-string frontmatter values, code blocks or CSS snippets are not detected — so the UI says "detected references", never "unused". There is deliberately no bulk delete.

Settings

  • A Getting started tab that checks your vault and tells you what to set up first.
  • Which image extensions to include (per extension), how Excalidraw drawings are detected (name only / name + frontmatter), which prefixes count as reusable drawings, optional folder scope.
  • Picker columns (default 5).
  • Insert format and default width.
  • Prefix mode, separately for the picker and the manager: auto (collect from filenames), only listed prefixes, or off.
  • Reference badge on cards; WebP quality.

Rename and Move require Obsidian's Files & Links → Automatically update internal links to be on; otherwise the buttons are disabled to avoid breaking links.

Install (manual, until listed)

  1. Create <vault>/.obsidian/plugins/insert-image-plus/.
  2. Copy main.js, manifest.json, styles.css from the latest release into it.
  3. Reload Obsidian and enable Insert Image Plus under Community plugins.

Notes

  • The UI follows Obsidian's language setting (Settings → General → Language): Japanese when set to 日本語, English otherwise. Requires Obsidian 1.8.7 or later.
  • Works on desktop and mobile. On mobile, the picker uses its own column count (default 3), WebP conversion is disabled on iOS, and drag & drop from the OS is not available.
  • WebP conversion uses the Canvas API and is available wherever the rendering engine can encode WebP (Chromium-based desktop and Android). On iOS the button is disabled.
  • "Open with default app" and "Show in system explorer" use desktop-only capabilities and are skipped gracefully elsewhere.

License

MIT © 2026 Yosuke


日本語

ファイル名の接頭辞(icon - 地図.png の icon)を自動でカテゴリにして、画像と Excalidraw をグリッドから選んで挿入するプラグインです。命名規則がそのまま UI になります。

表示言語は Obsidian の設定(設定 → 一般 → 言語)に従います。日本語なら日本語、それ以外は英語で表示します(Obsidian 1.8.7 以降)。

挿入ピッカー

  • コマンド「画像を挿入する」(Markdown エディタか Excalidraw を開いている時だけ表示)、またはリボンの「+」。
  • カテゴリ(最近使った/すべて/種別/接頭辞)→ サムネ一覧 → クリックで ![[…]] 挿入。Excalidraw にはキャンバス上に配置。
  • Excalidraw の図は frontmatter で判定するので、名前に .excalidraw が無い図も拾います。既定では接頭辞(illustration - … など)が付いた図だけ候補にし、作業中の図は混ざりません。サムネは既定ON、埋め込み画像込みで 5MB を超える図はプレースホルダーになります。

管理画面

  • コマンド「画像を管理する」またはリボンのギャラリーアイコンでタブが開きます。
  • フォルダ × 接頭辞チップ × 検索で絞り、名前/作成日/更新日/サイズ/参照数で並び替え。
  • カードに「検出できた参照 N」・種別・サイズ・日付。ホバーで開く/コピー/リネーム/削除。
  • クリックで詳細:大きなプレビュー、参照しているノート(クリックで該当行へ)、操作(Obsidian で開く/OS 標準アプリで開く/ファイルの場所/リンクをコピー/リネーム/移動/WebP に変換/削除)。
  • 削除は 1 枚ずつ。検出できた参照が 0 件のときだけ(ダイアログを開いたときと実行直前の両方で確認)。削除の仕方は Obsidian の「削除したファイル」設定に従います。ノートを書き換えて参照を消す機能はありません。一括削除も持ちません。
  • WebP 変換は Markdown ノート内の参照を新しいファイルに書き換えますが、元の画像は常に残します。
  • OS から画像ファイルをドラッグ&ドロップすると追加できます(その場で接頭辞を選択)。

参照数について

Obsidian のリンク索引(Markdown 内の [[ ]] ![[ ]] []())を逆引きしています。Canvas・frontmatter の素の文字列・コードブロック・CSS スニペット内の参照は検出できないため、「未参照」ではなく「検出できた参照」と表示します。

設定

  • 「はじめに」タブ(Vault の状態を見て、何から設定するかを案内)。
  • 画像は拡張子ごとに ON/OFF、Excalidraw の判定(名前だけ/名前+frontmatter)、候補にする図の接頭辞、フォルダの絞り込み、ピッカーの横並び数(既定 5)。
  • 挿入形式と既定の幅。
  • 接頭辞の出し方(自動/指定のみ/OFF)を、挿入ピッカーと管理画面で別々に設定。
  • 参照バッジの表示、WebP 品質。

リネームと移動は、Obsidian 設定「ファイルとリンク → 内部リンクを自動更新」が ON の時だけ使えます(OFF だとリンクが切れるため、ボタンが無効になります)。

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.