vault-graph logo

vault-graph

Interactive graph of an Obsidian vault as a single self-contained offline HTML file

Developer ToolsJavaScriptMIT 224 18
GitHub

What is it?

What it is

Vault Graph is a deterministic circular visualization of an entire Obsidian vault: each top-level folder forms a wedge whose angle reflects its share of notes, and notes are placed in concentric rings from the center outward according to their connectivity, so the most linked notes appear near the hub and peripheral notes on the rim.

Why it exists

To give users a stable, learnable map of their knowledge base that does not change with each view, allowing them to recognize patterns and navigate without the unpredictability of force‑directed layouts.

Who should use it

Obsidian vault owners who want an offline, deterministic visual graph of their notes, including plugin users and exporters

Who should avoid it

Users needing real-time collaboration, networked access, or those who do not use Obsidian or cannot run Node to generate the exporter

How it works

A quick walkthrough in plain English

How vault-graph works

Step 1 of 3

You interact with it

Open vault-graph, send a request, or connect it to your stack.

Features

Disc-shaped visualization with wedge per top-level folder sized by content share
Concentric ring layout placing best-connected notes near center
Deterministic layout producing identical output for same vault
Available as both Obsidian plugin and standalone offline HTML exporter
Folder color picker with 12-slot palette (10 hues, 2 greys)
Folder visibility toggles with session filter and default settings
Note hover reveals links, click pins highlight
Search narrows to matching notes in real-time
Timeline ribbon scrubs through vault history by creation date
Heatmap visualization of daily note density
Archive folder handling (folders starting with `_` are grayed and hidden by default)
Word count option sizes notes by length
Include templates and ghost links (wikilinks to unwritten notes)
Flatten month folders (treats `2026-08` as single unit)
Respects Obsidian theme including live light/dark switching
Subfolder display as tints of parent color
Date-named folder detection (2026, 2026-06, quarterly, weekly)
Camera controls: pan, zoom, reset
Settings persistence in plugin data.json or browser localStorage
Zero network requests (Sigma.js fetch calls removed at build time)
Smoke test invariant suite validates layout properties
Demo vault generator for reproducible screenshots
Mirror vault generator for bug reports without sharing content
Test vault generator for synthetic stress testing
Theme isolation scoped under `.vault-graph` class
Link resolution matches Obsidian (basename, alias, full path from body and frontmatter)

Advantages

  • Reproducible graph enables learning and recognizing vault patterns
  • Fast build time (~0.1s on 450-note vault)
  • Complete privacy: no network calls, nothing leaves machine
  • Self-contained offline HTML syncs to any device via vault
  • Single source builds both plugin and exporter
  • Visualizes actual linking structure, not just folder hierarchy
  • Auto color slots follow Obsidian theme between light/dark
  • Settings scoped per vault in localStorage
  • Cross-platform Node.js build with no shell dependencies
  • Archive folders stay visible but don't disrupt color rotation
  • Built-in smoke tests and synthetic vault generators for development
  • Complete architecture decision records in `.ai-context/`

Disadvantages

  • HTML export is a static snapshot requiring rebuild for updates
  • Note bodies excluded but titles/paths/links are visible in export
  • Shared HTML reveals complete note inventory (privacy consideration)
  • Graph shape may not match intuitive folder structure
  • Word count sizing requires reading note bodies (real I/O cost)
  • Discovery requires Obsidian registry, environment variable, or explicit path
  • Recording scripts are Windows-only (ffmpeg wrappers)
  • No watch mode or live reload capability
  • Browser Refresh only returns to defaults, cannot regenerate

Installation

native

**Obsidian plugin — From Obsidian:** Settings → Community plugins → Browse → "Vault Graph" → Install, then Enable. Open it from the ribbon icon or the command palette (*Vault graph: Open the graph*).

**Obsidian plugin — Manually:** download `main.js`, `manifest.json` and `styles.css` from the latest release into `<vault>/.obsidian/plugins/vault-graph/`, then reload plugins and enable it.

**Obsidian plugin — From source:** `npm install && npm run build`, then `./scripts/install-plugin.ps1`.

**Standalone HTML exporter — Get it:** Download the latest release (every tagged version has a `vault-graph-<version>.zip` attached) and unzip it. Or clone: `git clone https://github.com/luke321/vault-graph.git && cd vault-graph`.

**Standalone HTML exporter — Generate the file (requires Node 18 or newer):** `node src/build-graph.mjs --vault "/path/to/your/vault"` (the `--vault` flag can be skipped; resolution order is `--vault PATH`, then `VAULT_GRAPH_VAULT`, then `OBSIDIAN_VAULT`, then `--vault-name NAME`, then Obsidian's own registry, then walking up for `.obsidian`).

**Standalone HTML exporter — Open that file:** Open the file written by the build (e.g. `<vault>/03 - Resources/Vault Graph/vault-graph.html`) however you open any local file, e.g. `start "path/to/vault-graph.html"` (Windows cmd), `open "path/to/vault-graph.html"` (macOS), or `xdg-open "path/to/vault-graph.html"` (Linux). The output path can be customized with `--out FILE` (e.g. `node src/build-graph.mjs --out ~/Desktop/my-vault.html`).

FAQ

How do I install the Vault Graph plugin in Obsidian?

Open Obsidian, go to Settings → Community plugins → Browse, search for "Vault Graph", and click Install then Enable. You can also install manually by downloading `main.js`, `manifest.json` and `styles.css` from the latest release and placing them in `<vault>/.obsidian/plugins/vault-graph/` before reloading plugins.

What is the standalone HTML exporter and how do I generate a graph from it?

The exporter creates a single offline HTML file that contains the same graph as the plugin, without needing Obsidian. Download the release zip, open a terminal in the repo, and run `node src/build-graph.mjs --vault "/path/to/your/vault"`. It will produce a file like `vault-graph.html` that you can open directly in any browser.

How are top‑level folders coloured and can I customise the colours?

Folders are assigned colours from twelve palette slots (ten hues and two greys) in order, and you can lock a folder to a specific slot in Settings → Community plugins → Vault Graph → Folder colours. Click a slot to fix the colour; **Auto** returns it to its positional slot. Folders whose names start with `_` are archives – they use the darker grey, get no slot, and start hidden unless you change that.

Why does the graph layout not match my folder structure?

The disc layout is deterministic, not force‑directed. Wedges represent the proportion of notes in each top‑level folder, while notes are placed on concentric rings based on how well‑connected they are (central notes have many links, leaves are on the rim). The visual shape therefore reflects the link graph more than the folder tree.

Is it safe to share the generated HTML file? What information does it contain?

The HTML file contains plain‑text metadata for every note – title, path, folder, tags, `created`/`date` frontmatter, word count, and the link graph – but **does not** include note bodies. Treat the file as private by default; a screenshot is usually safer if you want to show the graph without revealing your note titles.

How does the exporter choose which vault to read when multiple vaults are registered?

It follows a resolution order: explicit `--vault` flag wins, then the `VAULT_GRAPH_VAULT` environment variable, then `OBSIDIAN_VAULT`, then `--vault-name` lookup, then Obsidian’s own vault registry, and finally walks up for a `.obsidian` folder. If none is unambiguous, it lists the registered vaults and stops.

Loading documentation…
View on GitHub

Featured in Videos

YouTube tutorials and walkthroughs for vault-graph

Alternatives

Similar projects ranked by category, topics, and text overlap.

Compare