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

Grafily

Pavlo MyroniukPavlo Myroniuk113 downloads

Obsidian plugin for rendering family graphs (family trees)

Add to Obsidian
Grafily screenshot
Grafily screenshot
  • Overview
  • Scorecard
  • Updates10

Table of contents:

  • Grafily
    • Visualization algorithms
    • How it works
    • Motivation
    • Installation
      • Obsidian Community Plugins
      • Manual installation
    • Usage
    • BDFL
    • App philosophy
      • Do one thing and do it well
      • The Worse Is Better

Grafily

Grafily is an Obsidian plugin for rendering family graphs (family trees). It uses the reactflow library for rendering and a custom layout algorithm for placing graph nodes.

This plugin is useful for family history/genealogy research, tracking family members, etc.

Visualization algorithms

All persons in demo screenshots below are generated using AI. If you find any coincidences with real people, please contact me, and I will fix them.

Reingold-Tilford Brandes-Köpf
A tree-based visualization algorithm. It will show only direct ancestors and/or descendants of the selected person (e.g., children's children or parents' parents). The advantage of this method is perfect centering. More... A graph-based visualization algorithm. It's a universal rendering algorithm for any family graph of any complexity. The only disadvantage is not-perfect centering: some children's or parents' nodes are not perfectly centered. More...

How it works

  • The Grafily expects that your vault has one page per person.
  • The Grafily scans all pages in the directory (the directory is configurable), extracts persons' metadata (see the Usage section for the metadata format), builds an internal relationship graph, and then renders a pretty interactive graph that you can easily navigate and view family members.
  • An interactive UI allows you to collapse or expand family relationships with other persons (collapse/expand children/parent nodes).

Basically, Grafily is just a tool that creates a pretty graph from vault .md files:

flowchart LR
    first["bunch of .md files"] -->|Grafily| second["Pretty graph ✨"]

If you want to read more about how it works, please read my blog post: Announcing Grafily v.0.3.0#how-it-works.

Motivation

I started my family research in 2025. I did not want to store all the information on a third-party site (for instance, myheritage.com). I wanted to be the owner of the private information, photos, stories, interview recordings with my relatives, and much more.

So, I decided to use Obsidian. There are plenty of reasons why Obsidian:

  1. I own my data.
  2. Easy to use.
  3. Powerful plugin API.

But there was a problem: I couldn't find a suitable plugin to render a pretty graph of family relationships. So, I decided to write my own plugin. The Grafily has one concrete purpose: it is a viewer for family members' relationships.

Actually, I found one very interesting plugin: https://github.com/banisterious/obsidian-charted-roots. It is super powerful. Too powerful for me. When I use such complex software, I do not have a feeling that I control the process. I wanted a simple plugin. But do not get me wrong: obsidian-charted-roots is a great plugin, but it's just not for me.

Installation

Obsidian Community Plugins

The Grafily plugin is available in the Obsidian Community Plugins list. So, you can install it right from the Obsidian app. Here is a direct link to the plugin page: https://community.obsidian.md/plugins/grafily.

Manual installation

You can install the plugin by downloading the release assets, placing them inside your Obsidian vault, and enabling it in the settings:

  1. Go to the TheBestTvarynka/grafily/releases page and download release assets: main.js, manifest.json, and styles.css.
  2. Place these files in the vault plugin directory:
VAULT_DIR=/path/to/vault
GRAFILY_DIR=${VAULT_DIR}/.obsidian/plugins/grafily
mkdir -p ${GRAFILY_DIR}
cp main.js ${GRAFILY_DIR}
cp styles.css ${GRAFILY_DIR}
cp manifest.json ${GRAFILY_DIR}
  1. Enable the Grafily plugin in the Obsidian settings (Community Plugins section).

If you want to build the plugin from the source code, please follow the BUILD_FROM_SRC.md document.

Usage

Read these two guides to understand the metadata format and how to use the plugin:

  1. METADATA.md.
  2. GETTING_STARTED.md.

BDFL

Did you hear about BDFL?

TL;DR:

Benevolent dictator for life (BDFL) is a title given to a small number of open-source software development leaders, typically project founders who retain the final say in disputes or arguments within the community.

For the Grafily project, the BDFL is @TheBestTvarynka (Pavlo Myroniuk), the original creator of Grafily.

App Philosophy

Do one thing and do it well

The Grafily has one concrete goal: to render pretty family relationship graphs. It will never become an all-in-one genealogy research tool. It will never become a universal graph renderer. Or anything like that. The Grafily follows the Unix philosophy:

Do one thing and do it well.

The Grafily is good at building graph layouts. It does not even render them because the reactflow library handles that.

The Worse Is Better

Did you hear about the worse-is-better philosophy? If not, I encourage you to read the The Rise of Worse is Better article.

TL;DR. This is a citation from the mentioned article above:

The worse-is-better philosophy:

  • Simplicity -- the design must be simple, both in implementation and interface. It is more important for the implementation to be simple than the interface.
  • Correctness -- the design must be correct in all observable aspects. It is slightly better to be simple than correct.
  • Consistency -- the design must not be overly inconsistent. Consistency can be sacrificed for simplicity in some cases, but it is better to drop those parts of the design that deal with less common circumstances than to introduce either implementational complexity or inconsistency.
  • Completeness -- the design must cover as many important situations as is practical. All reasonably expected cases should be covered. Completeness can be sacrificed in favor of any other quality. Consistency can be sacrificed to achieve completeness if simplicity is retained.

:thinking: What does it mean for the app? It means some features can be discarded in favor of app simplicity. The benefits of some features may not justify the complexity of their implementation. I would rather keep the app simple than unreasonably complex.

HealthExcellent
ReviewCaution
About
Render interactive family graphs from person .md files and explore ancestors and descendants. Use tree (Reingold–Tilford) or graph (Brandes–Köpf) layouts and scan a vault directory for person metadata. Collapse and expand family branches for clearer navigation.
VisualizationResearchLinks
Details
Current version
0.3.6
Last updated
2 days ago
Created
7 months ago
Updates
10 releases
Downloads
113
Compatible with
Obsidian 1.8.7+
Platforms
Desktop only
License
MIT
Report bugRequest featureReport plugin
Author
Pavlo MyroniukPavlo Myroniukthebesttvarynka
tbt.qkation.com/
GitHubthebesttvarynka
GitHubTheBestTvarynka
XTheBestTvarynka
  1. Community
  2. Plugins
  3. Visualization
  4. Grafily

Related plugins

Excalidraw

Visual PKM powerhouse. Create and edit Excalidraw drawings.

Breadcrumbs

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

ExcaliBrain

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

Strange New Worlds

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

Influx

A bullet journaling plugin that aggregates a terse stream of backlinked clippings in the footer of notes.

Leaflet

Interactive maps inside your notes.

InfraNodus AI Graph View

Interactive 3D graph view: text analysis, topic modeling, gap detection, and AI.

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.

Advanced Canvas

Supercharge your canvas experience. Create presentations, flowcharts and more.

Maps

Adds a map layout to bases so you can display notes as an interactive map view.