awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
dagrejs avatar

dagrejs/dagre

0
View on GitHub↗
5,692 stars·639 forks·TypeScript·MIT·31 views

Dagre

Dagre is a pure JavaScript library for automatically laying out directed graphs. It implements a layered graph drawing algorithm based on the Sugiyama framework, positioning nodes in horizontal layers and routing edges to produce clear, readable visualizations with no native dependencies.

The library handles edge routing as polylines with control points to avoid overlapping nodes, reduces edge crossings through heuristic node ordering within layers, and assigns final coordinates using a slack-based approach that respects minimum separation constraints. Graph structure and layout options are exchanged as plain JSON objects, making dagre straightforward to integrate into JavaScript applications. It is designed for generating structured layouts of dependency graphs, flowcharts, state machines, and other hierarchical structures.

Dagre also provides facilities for inspecting the order of graph elements during layout, aiding in debugging and verification of visual correctness.

Features

  • Layered Graph Drawing Algorithms - Provides a layered graph drawing algorithm based on the Sugiyama framework for clear visualizations.
  • Hierarchical Layouts - Arranges nodes in layered, top-down layouts to represent hierarchical relationships and dependencies.
  • Pure JavaScript Implementations - Computes graph layouts entirely in client-side JavaScript with no native dependencies.
  • Network Graph Layouts - Positions nodes and edges in directed graphs using layout algorithms for clear readability.
  • Directed Graph Layouts - Positions nodes and edges in directed graphs with layered algorithms for clear readability.
  • Dependency Graph Visualizations - Renders dependency structures such as package dependencies with readable layouts.
  • Barycenter Ordering Heuristics - Uses barycenter heuristics to minimize edge crossings in layered graph layouts.
  • Graph Coordinate Assignment Algorithms - Assigns final x coordinates via slack-based longest-path optimization under separation constraints.
  • Flowchart Generators - Produces structured layouts for flowcharts, state machines, and process diagrams.
  • Diagramming And UI Libraries - Directed graph layout algorithms for JavaScript.

Star history

Star history chart for dagrejs/dagreStar history chart for dagrejs/dagre

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Dagre

Similar open-source projects, ranked by how many features they share with Dagre.
  • vasturiano/force-graphvasturiano avatar

    vasturiano/force-graph

    2,051View on GitHub↗

    This project is a high-performance library for rendering interactive, force-directed network visualizations within an HTML5 canvas. It provides a physics-based engine that calculates node positioning through simulated attraction and repulsion forces, enabling the representation of complex relational data structures as dynamic, navigable graphs. The library distinguishes itself through its ability to handle large-scale datasets containing thousands of nodes and links while maintaining interface responsiveness. It offers granular control over the visual representation of data, allowing for cust

    JavaScriptcanvasd3jsforce
    View on GitHub↗2,051
  • vasturiano/react-force-graphvasturiano avatar

    vasturiano/react-force-graph

    2,983View on GitHub↗

    react-force-graph is a React component for rendering interactive 2D and 3D network visualizations using a force-directed layout engine. It functions as an interactive data visualization library that employs D3-force simulations to manage node physics and relationship positioning. The library includes a 3D visualization tool that utilizes ThreeJS to render complex nodes and links within an immersive space. It provides programmatic control over zooming, panning, and viewport navigation, alongside a coordinate-to-object picking mechanism for handling user interactions like clicks, hovers, and dr

    HTML3daugmented-realitycanvas
    View on GitHub↗2,983
  • mermaid-js/mermaidmermaid-js avatar

    mermaid-js/mermaid

    88,676View on GitHub↗

    This project is a client-side rendering engine that transforms declarative, text-based syntax into visual diagrams directly within the browser. By utilizing a domain-specific language, it allows users to define complex structures—such as software architectures, process flows, and system behaviors—without the need for manual layout configuration. The library functions as a browser-based runtime that parses these definitions into intermediate abstract syntax trees, which are then processed by specialized engines to generate high-fidelity, resolution-independent graphics. The system distinguishe

    TypeScriptdiagramsdiagrams-as-codedocumentation
    View on GitHub↗88,676
  • coatisoftware/sourcetrailCoatiSoftware avatar

    CoatiSoftware/Sourcetrail

    16,471View on GitHub↗

    Sourcetrail is an interactive source code explorer and visualizer designed for indexing and navigating relationships between symbols and structures across large, multi-language codebases. It functions as a static analysis indexer and code dependency visualizer that maps calls and dependencies between source files to help reveal project architecture. The tool enables multi-language project analysis by using a language-agnostic indexing system to track symbols across different programming languages within a single interface. It allows for the discovery of software architecture and the explorati

    C++
    View on GitHub↗16,471
See all 30 alternatives to Dagre→

Frequently asked questions

What does dagrejs/dagre do?

Dagre is a pure JavaScript library for automatically laying out directed graphs. It implements a layered graph drawing algorithm based on the Sugiyama framework, positioning nodes in horizontal layers and routing edges to produce clear, readable visualizations with no native dependencies.

What are the main features of dagrejs/dagre?

The main features of dagrejs/dagre are: Layered Graph Drawing Algorithms, Hierarchical Layouts, Pure JavaScript Implementations, Network Graph Layouts, Directed Graph Layouts, Dependency Graph Visualizations, Barycenter Ordering Heuristics, Graph Coordinate Assignment Algorithms.

What are some open-source alternatives to dagrejs/dagre?

Open-source alternatives to dagrejs/dagre include: vasturiano/force-graph — This project is a high-performance library for rendering interactive, force-directed network visualizations within an… vasturiano/react-force-graph — react-force-graph is a React component for rendering interactive 2D and 3D network visualizations using a… mermaid-js/mermaid — This project is a client-side rendering engine that transforms declarative, text-based syntax into visual diagrams… tulios/kafkajs — KafkaJS is a pure JavaScript client for Apache Kafka, providing the necessary tools to produce and consume messages… coatisoftware/sourcetrail — Sourcetrail is an interactive source code explorer and visualizer designed for indexing and navigating relationships… jimp-dev/jimp — Jimp is a zero-dependency JavaScript image processing library and programmatic editor designed for manipulating,…