Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Deterministic Graph View

Jean ToledoJean Toledo278 downloads

A deterministic graph view for Obsidian.

Add to Obsidian
Deterministic Graph View screenshot
  • Overview
  • Scorecard
  • Updates7

An Obsidian plugin that renders your vault's link graph with a deterministic layout. Unlike Obsidian's built-in graph view (which uses a force-directed simulation and rearranges itself every time you open it), this plugin produces the same layout on every render for the same set of notes and links.

Built on top of Cytoscape.js using a breadthfirst layout.

Why

The default graph view is great for exploring, but the positions of nodes shift every time you reopen it. That makes it hard to:

  • Build a mental map of your vault.
  • Compare the graph across sessions.
  • Use the graph as a stable visual index of your notes.

This plugin trades some of the "organic" look for predictable, reproducible node placement.

Features

  • Deterministic breadthfirst graph layout (Cytoscape).
  • Click a node to open the corresponding note in a new tab.
  • Hover highlight on nodes (darkened background + pointer cursor).
  • Auto-refreshes when files are created, deleted, or renamed.
  • Refits the graph when the view becomes active again.
  • Respects Obsidian's Files & links → Excluded files (userIgnoreFilters) and re-renders when they change.
  • Customizable node and edge colors via the in-graph controls panel.
  • Single network ribbon icon to open the graph in a new tab.

Installation

Manual

  1. Download main.js, manifest.json, and styles.css from the latest release.
  2. Copy them into your vault under:
    <Vault>/.obsidian/plugins/deterministic-graph-view/
    
  3. Reload Obsidian.
  4. Enable Deterministic Graph View under Settings → Community plugins.

From source

git clone https://github.com/jeantoledo/obsidian-deterministic-graph-view.git
cd obsidian-deterministic-graph-view
npm install
npm run build

Then copy main.js, manifest.json, and styles.css into <Vault>/.obsidian/plugins/deterministic-graph-view/.

Usage

Click the network ribbon icon to open the graph in a new tab. Click any node to open the corresponding note.

The graph rebuilds automatically when notes are created, deleted, or renamed, and when you change Obsidian's excluded-files filters. When the view leaf becomes active again, the graph is refit to the container.

Settings

Click the gear icon (top-right of the graph view) to open the controls panel. Expand the Display section to access:

  • Node background color
  • Node text color
  • Edge color
  • ↺ Reset to defaults — restores all colors to the active theme's values

Color changes apply immediately (~250 ms debounce). Defaults follow the active Obsidian theme via CSS variables (--graph-node, --graph-line, --text-muted).

Development

Requirements: Node 18+ and npm.

npm install
npm run dev       # esbuild watch mode
npm run build     # type-check + production build
npm run lint      # eslint

For local testing, symlink or copy this folder into <Vault>/.obsidian/plugins/deterministic-graph-view/ and run npm run dev. Reload Obsidian to pick up changes.

Project layout

src/
  main.ts                # plugin lifecycle: load settings, register view, ribbon icon
  PluginView.ts          # ItemView wrapper: lifecycle, vault/workspace events, render scheduling
  GraphRenderer.ts       # Cytoscape instance, graph build, styling, node interactions
  GraphControlsPanel.ts  # floating controls panel: filters + display (color) settings
  SettingsManager.ts     # settings persistence and theme-color resolution
  constants.ts           # default color palette + event names
  utils.ts               # small helpers (e.g. darkenHexColor)
types/
  PluginSettings.ts  # PluginSettings interface (node + edge colors)

License

0BSD

HealthExcellent
ReviewSatisfactory
About
Render your vault's link graph with a deterministic breadth-first layout to keep node positions consistent across sessions. Click nodes to open notes in new tabs, get hover highlighting and automatic refresh on file or excluded-files changes, and customize node and edge colors. This plugin is in an early stage, so you may encounter bugs. Please provide feedback, and I'll address them as soon as possible. Feel free to collaborate as well; it's an open repository on GitHub. Let's build it together! https://github.com/jeantoledo/obsidian-deterministic-graph-view
VisualizationLinksNavigation
Details
Current version
0.3.1
Last updated
2 months ago
Created
2 months ago
Updates
7 releases
Downloads
278
Compatible with
Obsidian 0.15.0+
Platforms
Desktop, Mobile
License
0BSD
Report bugRequest featureReport plugin
Sponsor
Buy Me a Coffee
Author
Jean ToledoJean Toledojeantoledo
GitHubjeantoledo
Xjeantoledo_ai
  1. Community
  2. Plugins
  3. Visualization
  4. Deterministic Graph View

Related plugins

Breadcrumbs

Visualise the hierarchy of your vault using a breadcrumb trail or matrix view.

Strange New Worlds

Reveal networked thought and the strange new worlds created by your vault.

Excalidraw

Visual PKM powerhouse. Create and edit Excalidraw drawings.

ExcaliBrain

An interactive, structured mind-map of your Obsidian vault.

Leaflet

Interactive maps inside your notes.

Graph Banner

Display a local graph view to the note header

Notebook Navigator

A better file browser and calendar inspired by Apple Notes, Bear, Evernote and Day One.

Smart Connections

Find related notes and excerpts while writing. Your AI link building copilot displays relevant content in graph + list view. A local embedding model powers semantic search. Zero setup. No API key.

Homepage

Open a note, base, or workspace on startup, or set it for quick access later.

Recent Files

Display a list of recently opened files.