FSView

pending

by Isaque Pereira

Browse and query your local file system as an interactive, collapsible tree inside any note.

Updated 17d agoMITDiscovered via Obsidian Unofficial Plugins
View on GitHub

fsview

An interactive, collapsible file system tree inside any Obsidian note.

Like Dataview, but for files and folders anywhere on your Mac — not just inside your vault.

Desktop only. Requires Obsidian 1.4+. Uses Node.js and Electron APIs.


What it does

Write a fenced code block tagged fsview, point it at any folder on your machine, and fsview renders a live collapsible tree of matching files and folders with clickable links that open them in Finder.

```fsview
path: ~/Documents/Projects
type: folders
recursive: true
sort: name
```

Clicking ▶ / ▼ → expand or collapse a folder inline.
Clicking a folder name → opens it in Finder.
Clicking a file name → reveals it highlighted in Finder.
Clicking the header path → opens the root folder in Finder.

Folders are loaded lazily — only scanned when you expand them. Pointing at large directories like ~/ is safe and instant.


Installation

From the Community Plugin browser

  1. Open Obsidian → Settings → Community Plugins → Browse
  2. Search for fsview
  3. Click Install, then Enable

Manual installation

  1. Download the latest release and unzip it.
  2. Copy the obsidian-fsview folder into your vault's plugin directory:
    <your-vault>/.obsidian/plugins/fsview/
    
    The folder must contain main.js and manifest.json.
  3. Open Obsidian → Settings → Community Plugins → enable fsview.

Build from source

cd obsidian-fsview
npm install
npm run build

Options reference

All options are key: value pairs inside the code block, one per line.

KeyValuesDefaultDescription
pathAny absolute or ~/… pathRequired. The directory to scan.
typeall · files · foldersallShow all entries, only files, or only folders.
recursivetrue · falsefalseAllow expanding subfolders.
depthInteger0 / ∞Maximum expandable depth. Overrides recursive.
sortname · modified · created · sizenameSort field. Applied per level — siblings are sorted independently.
orderasc · descascSort direction.
ext.pdf, .fig, .sketchFilter by extension (comma-separated). Ignored for folders.
patternAny regex stringFilter entries by filename. Case-insensitive.
collapsedtrue · falsefalseStart with all folders collapsed.
limitInteger500Maximum number of nodes to render.
hiddentrue · falsefalseInclude hidden files/folders (those starting with .).

Examples

Collapsible folder tree, all subfolders

```fsview
path: ~/Work/Clients
type: folders
recursive: true
sort: name
```

Start collapsed — expand only what you need

```fsview
path: ~/Work/Clients
recursive: true
collapsed: true
```

Most recently modified files, newest first

```fsview
path: ~/Desktop
recursive: true
sort: modified
order: desc
limit: 50
```

Figma and PDF files only

```fsview
path: ~/Documents
recursive: true
ext: .fig, .pdf
sort: modified
order: desc
```

Files matching a naming pattern

```fsview
path: ~/Documents/Finance
pattern: ^Invoice
ext: .pdf
sort: created
order: desc
limit: 20
```

Two levels deep, everything visible

```fsview
path: ~/Projects
type: all
depth: 2
sort: modified
order: desc
```

Tree behavior

  • Folders always appear before files when sorting by name.
  • Sorting is applied per level — siblings within the same parent are sorted independently.
  • Folders are lazily loaded: a directory is only scanned the first time you expand it. Re-expanding is instant (result is cached in the DOM).
  • Expand/collapse state is in-memory per render. Switching notes and returning resets to the default state.

Global settings

Go to Settings → fsview to configure defaults for all blocks:

SettingDescription
Recursive by defaultAllow expanding subfolders unless overridden per block
Show hidden filesInclude dotfiles globally
Max resultsGlobal node cap per query (overridable with limit)
Start collapsedRender all folders collapsed by default

Notes

  • birthtime (creation date) may fall back to mtime on some file systems that don't store it.
  • Results are read at render time. Switch notes and return to refresh.
  • Symlinks are stat'd but not recursed into.
  • Paths with spaces and special characters (including iCloud paths) are fully supported.

License

MIT

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.