Graph Visualization Tools
  • C 70.8%
  • C++ 7.3%
  • Python 5.6%
  • Roff 3.8%
  • CMake 2.4%
  • Other 9.9%
Find a file
Matthew Fernandez aef8a6fd87 Merge branch 'renovate/rockylinux-rockylinux-8-ubi-init' into 'main'
Update rockylinux/rockylinux:8-ubi-init Docker digest to 5b5f7a9

See merge request graphviz/graphviz!4959
2026-06-30 13:03:02 +00:00
.gitlab/issue_templates restore New Issue template 2025-11-14 23:03:54 -08:00
ci Update rockylinux/rockylinux:8-ubi-init Docker digest to 5b5f7a9 2026-06-29 09:12:51 +00:00
cmake CMake: suppress libgd discovery when found version is too low 2026-05-12 17:03:00 -07:00
cmd smyrna updateSmGraph: remove unused 'totalElength' 2026-06-28 15:57:04 +10:00
config remove config_tcl.tcl 2024-07-28 01:25:16 +10:00
contrib remove 'diffimg' 2026-05-17 17:32:09 -07:00
debian Change Eclipse Public License from version 1.0 to 2.0 2026-03-07 11:33:24 +01:00
doc Change Eclipse Public License from version 1.0 to 2.0 2026-03-07 11:33:24 +01:00
dot.demo Change Eclipse Public License from version 1.0 to 2.0 2026-03-07 11:33:24 +01:00
graphs Remove references to dead HP Graphics Language 2022-09-13 18:21:54 +10:00
lib sparse vector_float_take: take 'n' as a 'size_t' 2026-06-28 13:49:18 +10:00
m4 Autotools: remove gettext M4 macros 2025-04-07 17:01:45 +10:00
macosx Change Eclipse Public License from version 1.0 to 2.0 2026-03-07 11:33:24 +01:00
plugin gd plugin set_penstyle: demote 'brush' to a local 2026-06-16 17:01:45 -07:00
plugin.demo Change Eclipse Public License from version 1.0 to 2.0 2026-03-07 11:33:24 +01:00
redhat remove 'diffimg' 2026-05-17 17:32:09 -07:00
share smyrna: remove unused 'ViewInfo.labelwithdegree' 2024-10-18 17:03:08 +11:00
tclpkg tcldot myiddisc_free: remove commented out code 2026-06-16 06:56:51 -07:00
tests CI: add Fedora 44 jobs 2026-06-28 15:57:04 +10:00
windows windows: remove process.h include from unistd.h shim 2026-01-05 06:25:07 +11:00
.clang-format
.gitattributes always checkout .ac, .am, .sh with Unix line endings 2026-05-11 18:14:35 -07:00
.gitignore remove 'diffimg' 2026-05-17 17:32:09 -07:00
.gitlab-ci.yml CI: add Fedora 44 jobs 2026-06-28 15:57:04 +10:00
.gitmodules remove Criterion submodule 2022-03-08 19:59:31 -08:00
.pylintrc stop disabling Pytest 'useless-suppression' 2025-10-19 16:31:50 -07:00
AUTHORS
autogen.sh Autotools: re-align “micro” → “patch” version terminology 2025-09-11 21:58:11 -07:00
ChangeLog
CHANGELOG.md gvc gvconfig_libdir: only set libdir when 'dl_iterate_phdr' succeeds 2026-06-19 06:49:02 -07:00
CMakeLists.txt neatogen: use a 'size_t' for 'cluster_data.nclusters' 2026-06-19 18:13:44 -07:00
config-cmake.h.in when gdlib is found, assume GIF is supported 2025-12-24 21:12:30 +11:00
configure.ac neatogen: use a 'size_t' for 'cluster_data.nclusters' 2026-06-19 18:13:44 -07:00
CONTRIBUTING.md add a CONTRIBUTING note about automated tool usage 2026-03-16 17:08:03 -07:00
COPYING Change Eclipse Public License from version 1.0 to 2.0 2026-03-07 11:33:24 +01:00
cpl1.0.txt
CPPLINT.cfg CI: add a 'cpplint' job 2024-08-18 21:44:57 -07:00
developers
DEVELOPERS.md Pass pytest's tmp_path parameter from tests into run_c to make it easier to debug tests 2026-03-25 17:01:17 -07:00
Doxyfile.in revert Doxygen configuration to discarding intermediate Dot sources 2025-05-20 18:04:07 -07:00
Eclipse Public License - Version 2.0.html Change Eclipse Public License from version 1.0 to 2.0 2026-03-07 11:33:24 +01:00
EPL-2.0.txt Change Eclipse Public License from version 1.0 to 2.0 2026-03-07 11:33:24 +01:00
gen_version.py gen_version: fix: make release commit pre-merge have the correct version 2025-12-03 17:01:20 -08:00
graphviz-fedora.repo
graphviz.7 remove legacy Dotty, Lefty, Lneato references from man pages 2022-08-07 21:07:03 -07:00
graphviz.spec
graphviz_version.h.in CMake: s/GRAPHVIZ_PLUGIN_VERSION/GVPLUGIN_CURRENT 2025-10-03 17:13:19 -07:00
LICENSE Change Eclipse Public License from version 1.0 to 2.0 2026-03-07 11:33:24 +01:00
Makefile.am MacOS Packaging: update CI to deliver installer package for download packages 2025-09-26 05:45:06 -07:00
NEWS
pytest.ini add a custom Pytest marker for slow tests 2024-12-07 11:48:32 +11:00
README.md Simplify and update README April 2026 2026-04-04 07:03:56 -04:00
renovate.json5 Prevent renovate from trying to upgrade our python constraint 2026-06-06 21:31:25 +10:00
requirements.txt Update dependency black to v25.11.0 2025-11-10 08:12:20 +00:00
rpm_notes.txt remove webdot 2023-01-04 17:19:12 -08:00

Graphviz - Graph Visualization Tools

build status

from AT&T Research and Lucent Bell Labs

See https://graphviz.org/doc/build.html for prerequisites and detailed build notes.

main GIT Repository

The main GIT Repository for graphviz can be found at:

Support

Graphviz is maintained by volunteers. Most work is aimed at improving the overall quality of the code (readability, consistency, organization, and portability), modernizing the build toolchain, and supporting the external audience and ecosystem for graphviz. This effort is supported by an extensive regression test suite. Occasionally, work can address new features, running time bottlenecks or specific bugs.

Meaningful bug reports are appreciated, but because resources are limited, many reports will not be addressed individually. After years, the maintainers have reduced open issues from thousands to several hundred. The Graphviz core was written in an experimental style and is known to be not very resilient to intentional attacks. We strongly recommend not exposing graphviz in a potential attack surface, and it is of little benefit to submit batches of issues generated through automated fuzzing and ASAN testing.

Documentation

The Graphviz documents are hosted at https://graphviz.org/

Graph Visualization ( https://graphviz.org/about/ )

Graph visualization is a way of representing structural information as diagrams of abstract graphs and networks. It has important applications in networking, bioinformatics, software engineering, database and web design, machine learning, and in visual interfaces for other technical domains.

Graphviz is open source graph visualization software. It has several main layout programs. See the gallery for sample layouts. It also has web and interactive graphical interfaces, and auxiliary tools, libraries, and language bindings. We're not able to put a lot of work into GUI editors but there are quite a few external projects and even commercial tools that incorporate Graphviz. You can find some of these in the Resources section.

The Graphviz layout programs take descriptions of graphs in a simple text language, and make diagrams in useful formats, such as images and SVG for web pages; PDF or Postscript for inclusion in other documents; or display in an interactive graph browser.

Graphviz has many useful features for concrete diagrams, such as options for colors, fonts, tabular node layouts, line styles, hyperlinks, and custom shapes.

In practice, graphs are usually generated from an external data sources, but they can also be created and edited manually, either as raw text files or within a graphical editor. (Graphviz was not intended to be a Visio replacement, so it is probably frustrating to try to use it that way.)

Contacts

If you have a bug or believe something is not working as expected, please submit a bug report. If you do not want to sign up for Gitlab, you can email bug reports to the recent top committer (git shortlog --email --numbered --summary origin/main~100.. | head -1).

If you have a general question or are unsure how things work, these queries can be posted in the Graphviz Forum.