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 ea49add091 Merge branch 'renovate/ubuntu-22.04' into 'main'
Update ubuntu:22.04 Docker digest to 4f838ad

See merge request graphviz/graphviz!4924
2026-06-03 13:56:46 +00:00
.gitlab/issue_templates restore New Issue template 2025-11-14 23:03:54 -08:00
ci Update ubuntu:22.04 Docker digest to 4f838ad 2026-06-03 09:11:00 +00:00
cmake CMake: suppress libgd discovery when found version is too low 2026-05-12 17:03:00 -07:00
cmd gvedit: stop ignoring failure to create temporary files 2026-06-02 17:18:45 -07: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 gvpr gvpr_core: remove unnecessary parens 2026-05-28 17:43:58 -07: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 pango plugin pango_textlayout: do overflow check as 'double' 2026-04-16 08:02:49 +10: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 CMake: remove headers from target sources 2026-04-10 20:07:40 +10:00
tests remove 'diffimg' 2026-05-17 17:32:09 -07:00
windows windows: remove process.h include from unistd.h shim 2026-01-05 06:25:07 +11:00
.clang-format abbreviate .clang-format to just pure LLVM style 2021-09-25 12:42:37 -07:00
.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 always checkout .ac, .am, .sh with Unix line endings 2026-05-11 18:14:35 -07: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 fixes to AUTHORS file from Jonas Wagner 2019-04-04 16:31:48 -04:00
autogen.sh Autotools: re-align “micro” → “patch” version terminology 2025-09-11 21:58:11 -07:00
ChangeLog Convert changelog to markdown and rewrite latest releases 2020-06-05 11:15:45 +02:00
CHANGELOG.md gvedit: inline 'buildTempFile', fixing temporary file leak 2026-06-02 17:18:36 -07:00
CMakeLists.txt remove 'diffimg' 2026-05-17 17:32:09 -07:00
config-cmake.h.in when gdlib is found, assume GIF is supported 2025-12-24 21:12:30 +11:00
configure.ac Autotools: fix: discover Python, even when not building its bindings 2026-06-01 17:01:11 -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 add developer 2013-06-20 16:18:51 -04:00
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 web server not responding to ip addr 2019-07-25 16:33:10 -04:00
graphviz.7 remove legacy Dotty, Lefty, Lneato references from man pages 2022-08-07 21:07:03 -07:00
graphviz.spec incorporate bits from Redhat's spec, merge back into one 2017-07-26 18:11:59 -04:00
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 update some legacy Graphviz URLs to HTTPS 2020-07-13 17:44:21 -07:00
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 Allow renovate to update Docker images in gitlab-ci.yml 2025-11-14 02:33:15 +00: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.