Manage media files as Markdown notes. Media Manager adds a Gallery layout to Bases that shows each note's photo, video or PDF as a mosaic or as justified rows. Click any item to fill the window, preview videos by resting the pointer on them, play them with a full player, read PDFs in Obsidian's own viewer, and see each note's properties (and a map) beside the media. Notes that stand for a media file can be embedded like the file itself.
Requires Obsidian 1.13.0 or later, with Bases turned on in Settings → Core plugins.
From Obsidian: open Settings → Community plugins → Browse, search for Media Manager, select Install, then Enable.
Beta versions, with BRAT: install BRAT, run BRAT: Add a beta plugin for testing, enter anupchavan/obsidian-media-manager, then enable Media Manager in Settings → Community plugins.
By hand: download main.js, manifest.json and styles.css from the latest release into <your vault>/.obsidian/plugins/media-manager/, reload Obsidian and enable the plugin.
Make a note for a photo, with a property that links to it:
---
url: "[[sunset.jpg]]"
---
Create a base (New base in the file explorer, or Ctrl/Cmd+P → Bases: Create new base) and filter it to those notes, for example folder is Photos.
Open the view menu at the top left of the base, select Add view, and choose Gallery as the layout.
In the view's options, set Media property to url (or whatever property your notes use).
Click any tile to fill the window. Scroll, click outside or press Esc to come back.
The gallery reads one property per note, the Media property you choose in the view's options. It can be a single value or a list; a list shows its first photo, video or PDF. Each value can be:
| Written as | Example |
|---|---|
| Wiki link | "[[sunset.jpg]]" |
| Markdown link | "[Sunset](media/sunset.jpg)" |
| Vault path | media/sunset.jpg or <media/sunset.jpg> |
| Web address | https://example.com/sunset.jpg |
| File on your computer (desktop only) | file:///Users/me/Pictures/sunset.jpg |
Quotes and angle brackets around a value are ignored. Links are resolved like any other link in the note, so a bare file name works when it's unique in the vault.
No media property? If the base lists media files themselves (for example a filter like file.ext == "jpg"), leave Media property empty and each file shows as its own tile.
Open them from the view menu at the top left of the base, where you choose the view's layout.
| Option | What it does |
|---|---|
| Layout | Mosaic interlocks tiles of different sizes across rows and columns, with no gaps. Rows lays tiles out in justified rows of equal height, like Google Photos, cropping each item by at most 10% a side. |
| Media property | The property that holds each note's photo, video or PDF. See above. |
| Size by (Mosaic only) | Which tiles are larger. Related notes: notes with more links, backlinks and shared tags get bigger tiles, so the hubs of a collection stand out. Property: the Size property decides. None: every tile aims for the same size. |
| Size property (when Size by is Property) | A property with small, large, s, l, or a number (2 is twice the area of a normal tile, up to 8). |
| Smallest tile | The smallest a tile may get, in pixels (60 to 400, default 140). Raise it for bigger tiles overall. |
| Location property | The property with a note's location, for the map in the zoom. Default coordinates. See Properties and maps. |
The base's own Properties menu chooses which properties the zoom's card shows. Sorting, filters and grouping work as in any base.
0:12) and PDF tiles with their page count.Clicking a tile grows it to fill the window, the way MUBI's notebook does: the tile becomes the full photo, uncropped, and the page fades behind it.
| To | Do this |
|---|---|
| Close | Click outside the media, press Esc, or scroll the page (the photo rides along, then shrinks back onto its tile) |
| Go to the previous or next item | Cmd+← / Cmd+→ (Ctrl on Windows and Linux). On photos, ← / → also work. |
| Show the note's properties | Rest the pointer on the i button in the top-right corner, or click it to keep them open. Press I to toggle. |
| Open the note | Close the zoom and Cmd-click the tile |
Photos never grow past their real size, so small images stay sharp. The previous/next keys move through the gallery in order, and the gallery scrolls underneath so closing lands on the right tile.
Clicking a video opens it in the zoom and plays it with sound, unless previews are muted. If its preview was playing, it carries on from the same moment.
The controls show while the pointer is on the video, and hide after two seconds of no movement while it plays. Clicking the video plays or pauses it; double-clicking toggles fullscreen.
| Key | Action |
|---|---|
Space or K |
Play or pause |
← / → |
Back or forward 5 seconds |
J / L |
Back or forward 10 seconds |
↑ / ↓ |
Volume up or down |
M |
Mute or unmute |
F |
Fullscreen |
Cmd+← / Cmd+→ |
Previous or next item |
Esc |
Leave fullscreen, then close |
In fullscreen the background is black and the corners square. Which codecs play depends on Obsidian's built-in Chromium; see Supported files.
PDF tiles show their first page and page count. Clicking one opens the page in the zoom and then loads Obsidian's own PDF viewer in place, with its toolbar, page navigation, zoom and search. The scroll wheel scrolls the PDF; click outside or press Esc to close. The properties card sits in the bottom-right corner for PDFs, clear of the viewer's toolbar.
Only PDFs in your vault are shown; PDFs from web addresses are skipped.
The i button in the zoom opens a card with the note's properties, laid out like a Bases card: the first property as the title, the rest as a label over the value. The card shows the properties chosen in the base's Properties menu, drawn by Bases itself, so links, tags, lists and dates look the same as elsewhere. Clicking a link in the card closes the zoom and follows it.
I.Maps. If the note has a location and the Obsidian Maps plugin is installed and enabled, the card ends with a small map of that place. Write the location in the Location property (default coordinates) as text or a list:
---
coordinates: "48.85837, 2.294481"
---
---
coordinates: [48.85837, 2.294481]
---
The map is drawn by Obsidian Maps and loads map tiles from the server set in its settings (OpenFreeMap by default). If Obsidian Maps is turned off, the map's place shows "Unknown view type: map".
Images in your notes open with the same zoom instead of Obsidian's image viewer: click an image in reading view or while editing. Images that are links, and small images such as icons, keep their usual behaviour.
Turn this off with Zoom images in notes in settings.
A media note is a note that stands for one photo, video or PDF: its Media note property (default url) links to the file. Embedding a media note shows the media itself, exactly as if you had embedded the file:
![[Sunset]]
![[Sunset|300]]
instead of the note's title, border and text. In reading view and while editing, the embed is Obsidian's own image, video or PDF embed, so everything works as usual: the resize handle (which writes the size into the link, ![[Sunset|300]]), the zoom and Edit this block buttons, and the photo staying in view below the link while you edit it.
Choosing which notes count. By default every note whose media note property links to media counts. To limit it, add Bases filters under Media notes in settings, for example "categories contains [[Photos]]" or "file.folder is Photos". The filters use the same editor as a base's filters.
Turning it off. Clear Media note property.
[!note] Obsidian has no public API for filters outside a base or for changing how embeds are built, so media notes use Bases' and Obsidian's internals, the same way the Custom Views plugin does. If a future Obsidian version changes them, media notes go back to ordinary note embeds until the plugin is updated; nothing else is affected.
Settings → Media Manager:
| Setting | Default | What it does |
|---|---|---|
| HDR tiles | On | On HDR displays, show HDR photos and videos in HDR in the grid. Off uses smaller standard thumbnails and less memory. Opened items are always in HDR. |
| Zoom images in notes | On | Open images in notes with the gallery zoom instead of Obsidian's image viewer. |
| Media note property | url |
The property that links a media note to its photo, video or PDF. Empty turns media notes off. |
| Media notes | No filters | Bases filters that decide which notes are media notes. No filters: every note with the property. |
Per-gallery options (layout, sizes, properties) live in each Gallery view's options, so different bases can look different.
| Command | Default keys |
|---|---|
| Media Manager: Show previous item | Cmd+← / Ctrl+← while zoomed |
| Media Manager: Show next item | Cmd+→ / Ctrl+→ while zoomed |
The keys work inside the zoom without setup. The commands let you bind other keys in Settings → Hotkeys; they're only available while something is zoomed. See The zoom and Videos for the other keys.
| Kind | Formats |
|---|---|
| Photos | JPEG, PNG, GIF, WebP, AVIF, SVG, BMP |
| Videos | MP4, MOV, M4V, WebM, OGV, MKV (H.264, HEVC, VP9 and AV1 play; iPhone HDR and Dolby Vision play their HDR base layer) |
| Documents | PDF (vault files only) |
Known limits:
The gallery says "No media in this property." The notes in the base don't have a photo, video or PDF in the Media property. Check the property name, and that links resolve (a wiki link to a file that isn't in the vault shows nothing).
The gallery says "Pick a media property in the view options." Choose a Media property, or filter the base to media files and leave it empty.
A video shows its icon but won't play. Its codec isn't supported by Obsidian's Chromium (for example some AVI or WMV files). Converting to MP4 (H.264 or HEVC) fixes it.
There's no map in the card. The note has no valid location in the Location property, or Obsidian Maps isn't installed and enabled. "Unknown view type: map" means Obsidian Maps is off.
A media note embeds as an ordinary note. Check that its Media note property links to a photo, video or PDF in the vault, and that it matches the Media notes filters.
Clicking an image in a note opens Obsidian's viewer. Zoom images in notes is off, the image is a link, or it's smaller than 48 pixels.
When reporting a problem, include the relevant part of the .base file, an affected note's frontmatter, your Obsidian version, and any error from View → Toggle Developer Tools → Console.
Issues and pull requests are welcome. See CONTRIBUTING.md to set up a development build.
See SECURITY.md to report a vulnerability privately or verify a release's files.