Depthinker51 downloadsA file manager for your vault: sort, search and reorganise notes, PDFs, images and canvas from one wide view.
A file manager for your vault: sort, search and reorganise notes, PDFs, images and canvas from one wide view.

Supported languages: English, 简体中文, 繁體中文, 日本語, 한국어, Deutsch, Français, Español, Русский, Italiano, Português, Polski, Nederlands, Türkçe, Українська, Bahasa Indonesia, Svenska, Dansk, Norsk, Suomi, Čeština, Slovenčina, Slovenščina, Srpski, Hrvatski, Magyar, Română, Català, Ελληνικά, हिन्दी, ไทย, Беларуская
Manager is, in a sense, a replacement for the file list. The built-in file explorer lives in a narrow sidebar, which makes real note management hard; Manager takes the main area, which makes tidying up far easier.
It sorts and groups notes using each file's path, name, size, modification time, creation time and link count — nothing else, no content is read.
Right-click the search icon to switch scope:
Esc clears and closes it.
Click it and you get New note and New folder.
Pick one and the plus turns into a checkmark: you are now in create mode. Click a folder name in the top bar, or any folder heading in the list, to choose where the file goes.
Click the checkmark to commit.
Untitled, opens in the current tab once createdUntitled folder, goes straight into rename afterwardsClick to enter reorder mode.
Folder names in the top bar can be dragged; this only changes display order and is saved to plugin settings. Folder headings and files in the list can be moved as well.
Folders are headings, files sit under them.
Type size steps down by level:
Click a folder heading to collapse its contents.
Each row can carry two columns on the right: file size and how long ago the file was modified. Both are off by default except the time. Folder headings always show how many files sit inside, and their total size once the size column is on.
All of it can be turned off in settings.
The plugin runs on iOS and Android as well as desktop.
The last icon on the right switches keyboard mode on and off.
Off, which is the default, a single click opens a file — what a file list has always done. On, a single click only moves the focus ring and a double click opens. That is the mode to use when you are rearranging rather than reading, and it is what makes the keys below usable without hunting for a click target first.
The list also picks up focus whenever you click a row. From there:
Up Down or k j — move the focus ringHome / End — first or last rowPgUp / PgDn — a screen at a timeEnter — open a file, or collapse and expand a folder/ — jump into the filter box from anywhere in the viewEsc — clear the filter, or leave create and reorder modesCtrl+A — mark every visible rowEach row can carry a small icon on the right, next to the size and time columns, so the state of a file stays visible while you browse instead of living in a report you have to open.
The icons sit on the right on purpose: anything on the left would push note titles inward and knock them out of line with folder headings.
A note can show two at once — old and not linking anywhere. They come from a single pass over metadataCache.resolvedLinks while the index is built, so keeping them on costs nothing.
Turn them off in settings; they are on by default.
Ctrl (or Cmd) click adds or removes one rowShift click selects the run between the anchor and the row you clickedCtrl+A takes everything currently visibleDelete asks once, then removes them allCtrl+Shift+R renames them in order: Note-001, Note-002, and so on, keeping each extensionFolder headers are not selectable — clicking one still collapses it, which is what that click means everywhere else in the app.
The count sits in the status line while a selection exists.
The third icon in the ribbon opens a structure view of the whole vault: the vault name, then every folder branching out down to the leaf folders.
Two styles, switched by the two icons in the top right corner of the view — the same setting also lives in the settings page:
The simulation is four numbers: 1400/d² repulsion, springs targeting 110, centre gravity 0.0025, damping 0.86. Past 400 nodes it skips the simulation and draws the final positions directly.
Both read the same index the list does, so blocked folders stay out and the picture matches the disk.
The ribbon icon can be turned off in settings; the command palette entry stays either way.
The search box takes more than words. Conditions narrow the same table in place: you can still drag rows, create files and rename while it is filtered.
| Token | Meaning |
|---|---|
.pdf |
by extension, several allowed |
>10mb <500kb |
by size, in b kb mb gb |
today week month |
modified inside that window |
2026-11 2026-11-11 |
a month, or a day |
empty |
folders with nothing inside |
| anything else | matched against the name |
In the All view, .pdf today lists every PDF modified today across the vault. Conditions with an extension, size or date flatten the result and hide folder headings, because the point of those queries is the files themselves.
.md.pdf.png .jpg .jpeg .gif .webp .svg .bmp.mp3 .wav .m4a .ogg .flac .3gp.mp4 .webm .ogv .mov .mkv.canvastabOrder: top bar order, an array of pathsnoteOrder: manual file order per directoryfolderOrder: manual folder order per directorycollapsed: folders that are collapsedsortMode: current sortsearchScope: search scope, title or fulllistLimit: rows rendered per pass, 120 by defaultblockedFolders: block list, newline-separated stringshowAll showRecent: toggles for the two top-bar viewsshowEmptyFolders: whether empty folders showshowSettingsIcon: toggle for the ribbon gearhomePage: whether Manager opens on startupcollapseSidebar: whether the left sidebar collapses on openanimations: interface animation togglekeyboardMode: single click selects instead of openingshowSize: file size columnshowTime: modified time columndensity: compact, normal or comfortableshowMapIcon: the structure view icon in the ribbonmapMode: dynamic or staticManager ships as one file. There is no bundler, no node_modules, no compile pass, nothing to npm install before you can read the source: main.js is 5,547 lines and every one of them is the code that runs. Open it and read it.
The only outside name it reaches for is obsidian, which the app injects at load time. Everything else is plain JavaScript.
node test.cjs
test.cjs swaps require("obsidian") for a stub, loads main.js unchanged and exercises the pure functions exported on __core: path handling, name collisions, sort comparators, row building. No framework, no fixtures, one file.
1.0.8
fileManager, so renames update links and deletions go to the trash instead of vanishing1.0.7
1.0.6
1.0.5
Note-001, Note-002, keeping extensions1.0.4
1.0.3
j / k, Home and End, PgUp and PgDn, Enter, / to filter, Esc to leave, Ctrl+A to mark.pdf, >10mb, today, week, month, 2026-11, empty, mixed freely with names1.0.2
test.cjs you can run on its own1.0.1
!important; the animation switch now zeroes the duration variables instead1.0.0