Zettelkasten Branch Tracker

by James Cussen
5
4
3
2
1
Score: 50/100

Description

The Zettelkasten Branch Tracker plugin introduces a dedicated graph view tailored for notes that follow Zettelkasten ID numbering. Instead of showing a generic network, it parses hierarchical and linear continuations like 1114a, 1114.1, or mixed formats, then displays them as a clear four-tier structure. Parents, siblings, continuations, and children are colour-coded and sized dynamically to reflect depth and content, with dotted or solid lines distinguishing sequence and hierarchy. Users can pan, zoom, or adjust spacing, depth, and branch limits for better navigation. Interactive controls allow toggling counts, enabling auto-update, or focusing on specific levels. This makes it easier to see how notes branch out, trace ancestry, or explore continuations in large collections.

Reviews

No reviews yet.

Stats

5
stars
2,171
downloads
1
forks
239
days
250
days
301
days
1
total PRs
0
open PRs
0
closed PRs
1
merged PRs
0
total issues
0
open issues
0
closed issues
0
commits

Latest Version

10 months ago

Changelog

Initial release of Zettelkasten Branch Tracker - a specialised graph view for Zettelkasten note hierarchies.

Features

  • 4-tier hierarchy visualisation (great-grandparents → grandparents → current → children)
  • Interactive controls for depth, branches, and spacing
  • Colour-coded nodes by relationship type
  • Support for complex Zettelkasten ID formats
  • Auto-update when switching notes
  • Node sizing based on sub-note count

Installation

Download the main.js and manifest.json files below and place them in: .obsidian/plugins/zettelkasten-branch-tracker/

Then enable the plugin in Obsidian Settings → Community Plugins.

README file from

Github

Zettelkasten Branch Tracker

An Obsidian plugin that provides specialised graph visualisation for Zettelkasten note hierarchies. Unlike generic graph views, this plugin understands Zettelkasten ID numbering systems and displays the branching relationships in an intuitive, navigable format.

Features

🌳 4-Tier Hierarchy Visualisation

  • Great-Grandparents (Tier -4): Contextual top-level ancestors
  • Grandparents/Aunts-Uncles (Tier -3/-2): Parent notes and their siblings
  • Current Note + Siblings (Tier -1/0): Current note with linear continuations and siblings
  • Children (Tier 1): True branching children with dot notation

🎨 Smart Visual Design

  • Colour-coded levels: Each tier has distinct colours for easy navigation
  • Node sizing: Nodes scale based on the number of sub-notes they contain
  • Interactive elements: Smooth hover effects, animations, and visual feedback
  • Connection types: Solid lines for hierarchical relationships, dotted lines for linear sequences

🔧 Interactive Controls

  • Depth slider: Show 1-3 levels of hierarchy depth
  • Branch limit: Control maximum branches shown per level (1-10)
  • Spacing control: Adjust layout spacing (50%-200%)
  • Toggle options: Show/hide subnote counts, enable/disable auto-update
  • Pan and zoom: Full mouse interaction with click-drag panning and scroll wheel zoom

📋 Zettelkasten ID Support

Handles complex ID formats including:

  • Basic sequences: 1114, 1114a, 1114b
  • Branching: 1114.1, 1114.2, 1114.1.1
  • Mixed notation: 2311.4b1.1b1.2.4
  • Linear continuations: 1114a1, 1114a2

Demo

Watch the plugin in action (50 seconds):

Zettelkasten Branch Tracker Demo

Installation

Manual Installation

  1. Download the latest release
  2. Extract the files to your vault's plugins folder: .obsidian/plugins/zettelkasten-branch-tracker/
  3. The folder should contain:
    • main.js
    • manifest.json
  4. Enable the plugin in Obsidian Settings → Community Plugins

From Community Plugins

Coming soon - plugin is in development for community plugin directory submission

Usage

Opening the Branch View

  • Ribbon icon: Click the branch icon in the left sidebar
  • Command palette: Search for "Open Zettelkasten Branch View"
  • Hotkey: Assign a custom hotkey in Settings

Navigation

  • Click nodes: Navigate to any note in the hierarchy
  • Ctrl/Cmd+Click: Open notes in new tabs
  • Mouse wheel: Zoom in and out
  • Click and drag: Pan around the view
  • Auto-update: Automatically refresh when switching between notes (optional)

Controls

The collapsible control panel provides:

  • Depth: How many levels up/down to show
  • Branches: Maximum number of siblings/children to display
  • Spacing: Adjust node spacing for better visibility
  • Show counts: Display number of sub-notes inside each node
  • Auto-update: Refresh view when switching notes

Supported ID Formats

The plugin automatically detects and parses various Zettelkasten ID patterns:

Format Example Relationship
Basic sequence 11141114a1114b Linear continuation
Branching 11141114.11114.2 True hierarchical children
Complex 2311.4b1.1b1.2.4 Mixed linear and hierarchical
Numeric 1150.1a.1a1 Letter-number combinations

Visual Guide

Node Colours by Level

  • Blue (Current): The note you're currently viewing
  • Teal (Continuations): Linear sequence continuations
  • Gray (Siblings): Sibling notes at the same level
  • Purple (Parents): Direct parent notes
  • Light Blue (Grandparents): Grandparent level
  • Orange (Children): Branching children

Connection Types

  • Solid lines: Hierarchical parent-child relationships
  • Dotted lines: Linear sequence continuations

Settings

Configure default behaviour in Settings → Plugin Options → Zettelkasten Branch Tracker:

  • Default maximum depth: Initial depth level (1-3)
  • Default maximum branches: Initial branch limit (1-10)
  • Horizontal spacing: Space between sequential nodes
  • Vertical spacing: Space between hierarchical levels

Development Status

Completed Features

  • Complete hierarchy parsing and visualisation
  • Interactive controls and navigation
  • Smooth animations and hover effects
  • Auto-update functionality
  • Node sizing based on content depth
  • Support for complex ID formats

🔧 Known Issues

  • Some edge cases in hierarchy parsing for very complex IDs
  • Mobile responsiveness could be improved

Technical Notes

  • Built with vanilla JavaScript (no TypeScript compilation issues)
  • Uses HTML5 Canvas for smooth rendering
  • Implements efficient event handling with requestAnimationFrame
  • Responsive design works in Obsidian's sidebar
  • Memory-efficient node caching and animation systems

Contributing

This plugin is actively being developed. Contributions are welcome!

Areas needing help:

  • Mobile/touch interface improvements
  • Edge case testing with complex ID formats
  • Documentation and examples

Development Setup

  1. Clone the repository
  2. Install in your test vault's .obsidian/plugins/ directory
  3. Enable Developer Console in Obsidian for debugging
  4. Make changes to main.js and reload the plugin

Support

  • GitHub Issues: Report bugs and request features
  • Obsidian Forum: General discussion and community support

License

MIT License - Feel free to modify and distribute


Note: This plugin is specifically designed for Zettelkasten workflows using numerical ID systems. It may not work optimally with other note-taking methodologies or naming conventions.

Acknowledgements

Claude — without whom this simple Irish troglodyte could never have vibe coded this dream into reality

Similar Plugins

info
• Similar plugins are suggested based on the common tags between the plugins.
Attachments MD Indexer
a year ago by Ian Inkov
Converts Obsidian canvas files to markdown index files, making canvas content searchable and graph-viewable within Obsidian.
Better Mind Map
10 months ago by Utkarsh Raj
Obsidian plugin to for mind maps, vizualize current note as mind map.
Desk
2 years ago by David Landry
A desk for obsidian
Enhanced Canvas
a year ago by RobertttBS
When editing on Canvas, properties and Markdown links to notes are automatically updated, enabling backlinks in Canvas.
FileName Styler
a year ago by Marc Feininger
An Obsidian plugin to hide, customize, and decorate file names in the sidebar using regex and customizable profiles.
Folders to Graph
2 years ago by Ratibus11
Display your Obsidian vault folder structure into your graphs.
Graph Link Types
2 years ago by natefrisch01
Link types for Obsidian graph view.
InfraNodus AI Graph View
2 years ago by Nodus Labs
Advanced graph view for Obsidian: text analysis, topic modeling, and AI with InfraNodus AI text analysis tool: https://infranodus.com
Inline Local Graph
3 months ago by TKOxff
Inline Local Graph of Obsidian
Luhman
5 years ago by Dylan Elliott
MostUsed
2 years ago by Levi Kingma
Obsidian plugin that shows the words you use most.
New 3D Graph
9 months ago by Aryan Gupta
Visualize your vault in 3D with a powerful, highly customizable, and filterable graph.
Note ID
a year ago by Dominik Mayer
Displays notes by their ID, enabling structured sequences for manuscripts or a Zettelkasten ("Folgezettel")
Notes Explorer
a year ago by Atmanand Gauns
Plugin for Obsidian.md. Explore your notes as cards in gallery or masonry view. A new way to revise your content.
Object Oriented Thinking
9 months ago by Tiago Jacinto
Onyx Boox Annotation & Highlight Extractor
4 years ago by Akos Balasko
This tool extracts the highlights and the annotations from OnyxBoox Reading Notes txt files, and converts them to linked zettelkasten literature and permanent notes
Smart Vault Visualizer
a year ago by Evan Moscoso
Tasks Map
7 months ago by NicoKNL
A graph view of your tasks.
Template by Note Name
a year ago by Jacob Learned
A simple Obsidian plugin to automatically template notes based on their title
Unitade
3 years ago by Falcion
A plugin for note-taking app Obsidian which allows you to treat any file extension as markdown note-file
Waypoint
4 years ago by Idrees Hassan
Obsidian plugin that gives you the power to generate dynamic MOCs in your folder notes. Enables folders to show up in the graph view and removes the need for messy tags!
ZettelFlow
3 years ago by RafaelGB
ZettelFlow is a plugin for Obsidian that helps you to create and manage your notes in a Zettelkasten way.
zettelkasten navigation
2 years ago by terrychenzw
This plugin provides 2 customViews for navigating a zettelkasten using Luhmann-style IDs and key word indexes.
Zettelkasten Outliner
2 years ago by Tyler Suzuki Nelson