albusguo26k downloadsA comprehensive image management plugin for managing, inserting, resizing, viewing, and batch processing images.
Imagine is an all-in-one image workflow plugin for Obsidian. It brings image browsing, reference analysis, insertion, layout, caption editing, resizing, previewing, and batch file operations into one local desktop plugin.
Once Imagine is available in the Obsidian community plugin directory:
Imagine.https://github.com/AlbusGuo/albus-imagine.main.js, manifest.json, and styles.css from the latest release.<vault>/.obsidian/plugins/albus-imagine/.Ctrl and select an image to open Imagine's full-window viewer.The image manager opens as a regular workspace tab and keeps its state when Obsidian restores the workspace.
The grid is virtualized and image media is loaded only for visible cards, keeping large collections responsive.
Imagine uses Obsidian's public metadata cache and resolved link graph. It recognizes regular links, embeds, reference links, frontmatter links, and other references included in Obsidian's resolved counts. Reference results are cached and invalidated when Markdown metadata changes.
Select a card to open its preview and inspect every available referring note. Selecting a reference opens the note and navigates to the recorded location when one is available.
Each card provides actions to:
Multi-select mode supports batch move and batch trash. The unreferenced-image action performs fresh reference checks before the confirmation step and again before deletion, reducing the risk of removing a newly referenced file.
The preview modal includes:
The image picker reuses the same catalog, folder filtering, search, sorting, virtualized grid, and lazy media loading as the manager.
Before inserting one image, you can choose:
Selecting one card inserts a Wiki embed at the active editor selection. Multi-select mode inserts plain image embeds inside a [!grid] callout:
> [!grid]
> ![[photo-1.jpg]]
> ![[photo-2.jpg]]
> ![[photo-3.jpg]]
Imagine stores layout parameters in Wiki links and renders them consistently in Reading View and Live Preview.
| Parameter | Result |
|---|---|
center |
Centered block image |
align-left |
Left-aligned block image without text wrapping |
align-right |
Right-aligned block image without text wrapping |
left |
Left-floating image with text wrapping |
right |
Right-floating image with text wrapping |
inline |
Inline image |
dark |
Invert the image in a dark theme |
Parameters follow the file path as pipe-separated fields:
![[diagram.svg|center]]
![[diagram.svg|dark|align-right]]
![[photo.jpg|left|480]]
Layout and inversion parameters use URL fragments, while the first pipe field contains the caption. An optional size field remains supported:
![[architecture.png#center|System architecture]]
![[flowchart.svg#align-right#dark|Processing flow|640]]
The caption is displayed below the image. Its editor is positioned over the rendered caption, remains transparent in every interaction state, wraps long text automatically, and saves with Enter or when focus leaves the field. Press Escape to cancel editing.
Right-click a Wiki link image in Live Preview to add these actions to Obsidian's native image section:
dark parameter.Obsidian's own menu continues to provide standard file, link, and deletion actions.
Drag resizing is available for images in Live Preview:
Imagine writes the change through the CodeMirror transaction system, so normal editor undo and redo remain available. Callout and non-callout images can be enabled independently. The minimum width is 50 pixels, and an optional step value can snap the final width to a chosen interval.
Drag resizing does not run in Reading View, Canvas, plugin modals, or the image picker.
When the viewer is enabled, hold Ctrl and select an image to open it. The viewer supports:
Escape to close.An optional setting disables Obsidian's built-in single-click image viewer while preserving normal image selection, context menus, resizing, and Imagine's Ctrl-click viewer.
Imagine can represent a non-image source file with a related cover image. Each custom type defines:
pdf, psd, ai, or blend.png or jpg.For example, Designs/model.blend can use Covers/model.png as its visible card. Rename, move, and trash operations keep the source and cover together. A missing cover is shown explicitly instead of silently hiding the source file.
Imagine recognizes these image extensions by default:
png, jpg, jpeg, gif, bmp, webp, svg, ico, tif, tiff, avif, heic, and heif.
Additional source formats can be added through the custom file type settings.
Obsidian 1.13 and later expose Imagine's settings as searchable native pages. Obsidian 1.12 uses the compatible tabbed fallback.
| Setting | Default | Purpose |
|---|---|---|
| Show file size | On | Display file size on image cards |
| Show modified time | On | Display the last modified date on image cards |
| Default sort field | Modified time | Choose the initial manager sort field |
| Default sort order | Descending | Choose the initial manager sort direction |
| Excluded folders | Empty | Omit one vault folder path per line |
| Confirm deletion | On | Ask for confirmation before trashing files |
| Invert SVG images in dark mode | On | Control the plugin's dark-theme SVG inversion behavior and picker default |
| Setting | Default | Purpose |
|---|---|---|
| Resize images outside callouts | On | Enable drag resizing outside callouts |
| Resize images inside callouts | On | Enable drag resizing inside callouts |
| Resize step | 0 |
Snap to a pixel interval; 0 disables snapping |
| Edge detection area | 20 |
Set the activation area from 5 to 150 pixels |
| Setting | Default | Purpose |
|---|---|---|
| Enable image viewer | On | Enable Imagine's Ctrl-click viewer |
| Disable built-in click viewer | Off | Block Obsidian's ordinary single-click image viewer |
Add, edit, or remove source extension, cover extension, and cover folder mappings.
Ctrl on all desktop platforms.The image viewer was inspired by Image Toolkit, and drag resizing was inspired by AttachFlow. Thank you to their authors and the Obsidian community.
Imagine is released under the GNU Affero General Public License v3.0.