Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. D3
  3. dTree

dTree

MITJavaScript2.4.1

A D3-based library for visualizing data trees with multiple parents, such as family trees.

Visit WebsiteGitHubGitHub
556 stars146 forks0 contributors

What is dTree?

dTree is a JavaScript library for visualizing data trees that support multiple parents, such as family trees or organizational charts. It is built on top of D3.js and provides tools to render complex hierarchical relationships with interactive features like zooming and customizable nodes. The library solves the problem of displaying non-binary tree structures where nodes can have more than one parent.

Target Audience

Developers and data visualization engineers who need to create interactive family trees, genealogical charts, or any hierarchical data visualization with multiple parental relationships.

Value Proposition

Developers choose dTree because it extends D3's capabilities specifically for multi-parent tree visualizations, offers extensive customization through callbacks, and provides built-in interactivity like zooming and node navigation out of the box.

Overview

A library for visualizing data trees with multiple parents, such as family trees. Built on top of D3.

Use Cases

Best For

  • Building interactive family tree visualizations for genealogy websites
  • Creating organizational charts with complex reporting structures
  • Visualizing hierarchical data where nodes have multiple parents
  • Developing custom D3-based tree diagrams with zoom and navigation
  • Embedding tree visualizations in web applications with JSON data
  • Prototyping complex relationship graphs for academic or research purposes

Not Ideal For

  • Projects needing out-of-the-box, pre-styled tree components for rapid deployment
  • Applications requiring server-side rendering or static site generation for SEO
  • Teams aiming to minimize bundle size by avoiding D3.js and lodash dependencies
  • Visualizations of simple binary trees without multiple parent relationships

Pros & Cons

Pros

Multiple Parent Support

Specifically designed for trees where nodes can have multiple parents, making it ideal for accurate family tree or organizational chart visualizations, as highlighted in the features.

Extensive Customization Options

Offers callbacks like nodeRenderer and textRenderer, allowing developers to fully control visual output, as demonstrated in the callbacks section with examples for overriding defaults.

Built-in Interactive Features

Includes functions such as zoomToNode and zoomToFit for easy navigation of large trees, reducing the need for additional code to handle user interactions.

Flexible Data Structure

Uses a JSON format with nodes, marriages, and children, enabling representation of complex relationships without rigid constraints, as shown in the usage examples.

Cons

Heavy Dependency Burden

Requires D3 v4.x and lodash v4.x as dependencies, adding significant bundle size and potential version compatibility issues, which the README explicitly lists as requirements.

Complex Setup and Configuration

Needs manual CSS styling and JavaScript callback implementation for basic functionality, making it less plug-and-play compared to more opinionated visualization libraries.

Steep Learning Curve

Extensive callback system and D3 integration require developers to invest time in understanding both libraries, which can be overwhelming for simple tree visualizations.

Frequently Asked Questions

Quick Stats

Stars556
Forks146
Contributors0
Open Issues47
Last commit2 years ago
CreatedSince 2015

Tags

#family-tree#hierarchical-data#genealogy#javascript-library#data-visualization#graph-visualization#interactive-charts#d3

Built With

L
Lodash
d
d3
y
yarn
J
JavaScript
G
Gulp

Links & Resources

Website

Included in

D35.3k
Auto-fetched 7 hours ago

Related Projects

rechartsrecharts

Redefined chart library built with React and D3

Stars27,548
Forks1,983
Last commit19 hours ago
vxvx

🐯 visx | visualization components

Stars21,036
Forks771
Last commit2 months ago
plotly.jsplotly.js

Open-source JavaScript charting library behind Plotly and Dash

Stars18,318
Forks2,025
Last commit3 days ago
nivonivo

nivo provides a rich set of dataviz components, built on top of the awesome d3 and React libraries

Stars14,092
Forks1,081
Last commit1 month ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub