ambinder72 downloadsBrowse images and videos from the active note, grouped by section, in a fast sidebar gallery.
Browse images and videos from your active note in a searchable sidebar and a full-window viewer. Gallery works on desktop, iOS, and Android.
| Desktop | Mobile |
|---|---|
![]() |
![]() |
![]() |
![]() |
Gallery loads media from the active note rather than scanning the whole vault. Thumbnails load near the visible area; already generated previews are reused from a bounded in-memory cache while the note stays open. Videos never autoplay in the grid. The viewer prepares neighboring images for smooth navigation. Gallery has no runtime dependencies.
Gallery supports local files embedded in a note using Obsidian's wiki embeds or Markdown embeds.
Images: AVIF, BMP, GIF, HEIC, HEIF, JPEG, JPG, JXL, PNG, SVG, and WebP.
Videos: M4V, MOV, MP4, OGV, and WebM.
Display and playback still depend on the codecs supported by Obsidian on the current operating system.
Remote URLs, media paths in properties, raw HTML media, and media inside embedded notes are not supported.
Up and Down to move through headings and grids. From the first heading or tile, press Up to reach the toolbar. Use Left and Right to move between toolbar buttons, and Down to return to the search field or results. On a heading, use Right to expand or enter it and Left to collapse it or return to its parent. Press Enter on a tile to open it.Up, or select the information button to view the vault path, file size, dimensions, type, and modification time. Swipe down or press Down to hide the information panel. Another downward action closes the viewer.Use Left and Right, or swipe horizontally on a trackpad, to switch media. To zoom an image, pinch on a trackpad, hold Ctrl while scrolling, or double-click. Drag an enlarged image to move around it.
Right-click media to copy the original file or its vault path, show it in the system file manager, or open it. Select Go to source in note to return to the embed in the note.
Gallery opens in the right sidebar, with its controls above Obsidian's view selector. Swipe horizontally in the viewer to switch media. Pinch an image to zoom, then drag it to move around it.
Media fills the available viewing area without cropping or stretching, including small images. In portrait orientation, hiding the controls frees space without shifting the image down. In compact landscape mode, file information opens in a scrollable panel on the left.
Select the locate button to return to the embed in the note. The share button appears when the device supports a sharing option. On Android, the system chooser may also offer apps that can open or edit the file.
Standard Obsidian CSS snippets can customize Gallery. See CSS customization for scoped selectors and an optional example; no extra plugin is required. Do not edit the installed styles.css, because updates replace it.
For support, see troubleshooting. An optional local report is available on desktop through Gallery: Show mobile diagnostics; the command is not shown on mobile and does not send anything.
Playback and sharing depend on the installed Obsidian app, operating system, and device. A file that works on one device may not work on another. If a video preview or sharing option is unavailable, follow the troubleshooting guide above.
Every user-visible change is recorded in CHANGELOG.md. Work that has not been released yet stays under Unreleased; published versions receive their own dated section.
Copy these release files into <vault>/.obsidian/plugins/gallery/:
main.jsmanifest.jsonstyles.cssReload Obsidian, then enable Gallery under Settings → Community plugins.
Requirements: Node.js 20 or later and npm.
npm ci
npm run dev
Quality checks:
npm run check
The check runs unit tests, TypeScript validation, a production build, and the official Obsidian ESLint rules.
Use a dedicated test vault for UI testing. Do not enable development builds in a vault that contains important data.
Gallery reads Obsidian's metadata cache for the active note. Tiles render in small batches. Visible images take priority over offscreen preloading. On mobile, one image thumbnail and one video-preview job can progress independently, so a slow video does not block images.
The thumbnail cache has separate limits for encoded previews and offscreen image sources. Recently viewed stills stay attached within the offscreen budget, which accounts for their actual preview dimensions; older sources can be detached while their encoded preview remains available for reuse without reading the original again. Cache hits bypass the thumbnail-generation queue, although the browser can still need to decode a detached preview. On mobile, if the canvas cannot export WebP, opaque image previews use a compact JPEG fallback; transparent previews retain PNG. These limits do not include currently visible media or temporary decoder memory. Changing notes, rebuilding the gallery, or closing the view releases the cache. There is no persistent or cross-note media cache, and original files are never modified. The viewer keeps at most the two adjacent original images ready for page transitions.
When Web Share is available, Gallery reads a file for sharing only after the user selects the share button. Otherwise, Android sharing can use Obsidian's native adapter to pass the original vault-relative path without copying the file into JavaScript memory. The adapter is not a public typed API and may change; Gallery checks that it is available before showing the button.
On iOS, a paused native video thumbnail is used as a fallback if the system cannot produce a cached still. It does not autoplay and is unloaded offscreen. Codec support still depends on the device.
Video frame rate is estimated from displayed frames rather than read from the file container. Unavailable WebView APIs are reported explicitly. Mobile system UI and native sharing require testing on physical devices; browser tests cannot verify every device.
Run npm run release:prepare to verify and assemble exactly three installation assets under dist/<version>/. Source, tests, dependencies, personal settings and reports are excluded. Keep the source in a separate development checkout outside your vault, and copy only these three files into a test vault.
See release preparation for the public-source checklist, GitHub release and Obsidian Community submission. The plugin must be reviewed by the directory before appearing in its installation catalog.