Dawson Bodenhamer107 downloadsA cinematic, GPU-rendered knowledge graph with groups, folder lenses, search, focus, and live controls.
A cinematic graph view for Obsidian, designed around folder-driven and Karpathy-style knowledge bases.
Folder-aware indexes · Directory Groups · Curated palettes · Living ambience
Beautiful Graph keeps graph navigation familiar and concentrates on what the native view does not provide: folder semantics, readable index.md hubs, visual Groups, expressive palettes, Folder Lens contours, and a deeply adjustable atmosphere.
Pretty graphs do not buy groceries. Yet.If Beautiful Graph earns a permanent tab in your vault, a star helps people find it, thoughtful feedback helps make it better, and a few dollars can help fund the next round of polish—and possibly next week's groceries.
|
Andrej Karpathy's LLM Wiki pattern uses an LLM-maintained Markdown wiki between raw sources and the person exploring them. index.md files become important navigation hubs as the wiki grows.
That structure is exactly what Beautiful Graph is designed to reveal.
index.md node is labeled from its directory hierarchy instead of appearing as another indistinguishable index.dev, outputs, raw, and wiki.The result is a graph where the shape of the wiki is visible—not merely the links between files.

| Feature | What it changes |
|---|---|
| Folder-aware index labels | Turns repeated index.md files into recognizable directory and hierarchy labels. |
| Directory Groups | Colors, icons, visibility, automatic analysis, per-row reset, and reusable presets for folder families. |
| Folder Lens | Draws soft contours around the notes belonging to a selected directory. |
| Curated palettes | Recolors the complete Group system without rebuilding it by hand. |
| Index presentation | Gives root and Group indexes distinct scale, glow, icon, label, and linked-family treatment. |
| Ambience | Adds a controllable vignette, color treatment, and two-layer depth-aware dust field. |
| On-canvas studio controls | Keeps Groups, Forces, Display, and Ambience available as movable, pinnable panels with presets and undo/redo. |
Select a Group name and Folder Lens traces every connected region belonging to that directory—even when the graph has arranged those notes into separate islands.
![]() Outputs |
![]() Wiki |
Hover a node to bring its immediate family forward while the rest of the vault falls softly out of focus. Large index hubs and compact directory families remain readable without losing their place in the whole graph.
![]() A large index family |
![]() A compact directory family |
Beautiful Graph includes six coordinated palettes. Colors remain editable after applying a palette, and any Group can be reset to its assigned palette color independently.
![]() Beautiful Default |
![]() Tokyo Night Moon |
![]() Nord Aurora |
![]() High Discrimination |
![]() Catppuccin Mocha |
![]() Gruvbox Dark |
Every Beautiful Graph-specific visual system is controlled directly on the canvas:
Panels can be pinned, collapsed, moved, resized, reset, and saved as presets. The bottom toolbar provides filter, undo, redo, and recenter controls without opening a settings page.

To install a beta build before it reaches Community plugins:
DawsonBodenhamer/beautiful-graph.Download main.js, manifest.json, and styles.css from the matching GitHub release, then place them in:
<your-vault>/.obsidian/plugins/beautiful-graph/
Restart Obsidian and enable Beautiful Graph under Settings → Community plugins.
Beautiful Graph is desktop-only and requires Obsidian 1.8.0 or newer.
Beautiful Graph enumerates Markdown files and link metadata to construct the vault graph. Filtering can read note text and frontmatter into an in-memory search index for the current graph view. That search index is discarded when the view closes.
Beautiful Graph never edits note contents or sends vault paths, metadata, or note text over the network. Its settings, optional cooled position seeds, and local troubleshooting log stay in the plugin's Obsidian data directory.
Requires Node.js 22+, npm, Rust 1.88.0, and the wasm32-unknown-unknown target.
npm ci
npm test
npm run build
cargo test --locked --workspace
The production build creates the three files used by Obsidian Community plugins: main.js, manifest.json, and styles.css.
Found a defect or have an idea? Open a GitHub issue with your Obsidian version, Beautiful Graph version, operating system, and reproduction steps.
Focused pull requests are welcome. Run the test and build commands before submitting changes. Generated runtime artifacts should not be committed.
Built for wandering through ideas without losing the shape of them.