Nickolay Kondratyev305 downloadsA richer local graph of the notes near your active note — a folder-grouped alternative to the built-in local graph.
A richer replacement for Obsidian's native local graph. Instead of identical dots, Vicinity Graph shows the neighbourhood of your active note as informative, folder-grouped nodes — each one telling you what the note is before you open it.

The native local graph makes every note look the same and shows no structure between them. Vicinity Graph fixes both:
The view opens in the right sidebar by default (matching native local-graph muscle memory) and can be dragged into the main area.
Vicinity Graph is in the Obsidian community plugin store. Requires Obsidian 1.12.4 or newer.
Two commands, both bindable to a hotkey:
| Command | Places the graph |
|---|---|
| Vicinity Graph: Open in right sidebar | docked in the right sidebar |
| Vicinity Graph: Open below active note | in a main-area pane below the current tab |
There is only ever one graph view: running either command moves the graph there; running the command for where it already is just focuses it.
Pinning holds a note's neighbourhood on screen as an extra central node. There are two kinds, each with its own control (revealed on hover, top-right, and in the right-click menu):
Both kinds survive restarts and are keyed to a stable note id, so renaming or moving a pinned note keeps it pinned. Pinned centrals traverse with their own depth budget (the Pinned … dials), separate from the active note's.
Just after an Obsidian restart, a pinned central can briefly render as a plain node until the background cleanup sweep runs (~15s). The pin is not lost — only its accent lags.
If you keep folder notes (the Folder Notes community-plugin convention), Vicinity Graph draws that structure too — no setting to turn on. A folder note is recognised either way it's commonly written:
Jon.md sitting next to a folder Jon/.Jon/Jon.md.Either way, that note is the folder note of Jon/, and the notes inside Jon/
are its descendants; walking the other way, the folder note of the folder
that contains your note (and its folder note, and so on) are its ancestors.
The Descendants and Ancestors depth dials say how many folder levels to
follow — set either to 0 to switch it off. Deeper hops only continue through
sub-folders that have their own folder note.
A pure hierarchy relationship is drawn as a dashed connector (no count
badge), pointing from the folder note to the child. When the folder note also
links its child, the two collapse into the usual solid, badged link
connector — click it and the preview names both the link and the folder
relationship. (When both Jon.md and Jon/Jon.md exist, the inside one wins and
the sibling Jon.md is treated as an ordinary note.)
Every setting is global — one value used by every note and every open graph. The only things remembered per note are the facts you set on it directly: which notes are pinned and which you've resized.
Two surfaces edit the same values and stay in sync: the settings tab (Settings → Vicinity Graph) and the in-view Graph controls panel. Controls answer immediately — move a slider, toggle or field and the graph redraws behind it.
The settings, grouped the same way on both surfaces:
1–10
and then ∞ (unlimited, the default). Full folder path labels a collapsed
folder chain (a run of single-child folders drawn as one group) with its full
path (A/B/C) instead of just the innermost folder name (off by default;
groups that are not collapsed always show their folder name).rel/ folder) out of every graph via a regex pattern list. Your central and
pinned notes always stay.deps) whose values are read as references to another note's
frontmatter id, and drawn as ordinary link edges — in both directions,
so the referenced note also shows who points at it. Type a field name and
press Enter to add it; each added field shows as a chip with its
own × to remove it. Empty by default (the feature is off); it rides the
same depth budgets as [[wikilinks]].Typed fields (sizing numbers, node cap, patterns) apply once you pause typing or leave the field, not per keystroke. Every section has its own Restore defaults row, and Restore all Vicinity Graph settings at the bottom resets everything — your pinned notes are never touched by any of them.
*.excalidraw.md and canvas files show no outline.The right-angled connectors are routed by libavoid-js, a WebAssembly build of the libavoid connector-routing library, licensed LGPL-2.1-or-later. It runs entirely offline (no network, no disk) and only ever receives on-screen node rectangles — never your note contents, paths, or metadata.
Building, testing, and cutting releases are covered in
docs-internal/development.md.
Vicinity Graph is source-available under the Kondratyev Source Available
License, Version 2.3 (KSAL-2.3) — not an OSI open-source license. See
LICENSE.md, which is the authoritative and controlling text.