PyPI - Version Anaconda-Server Badge homebrew version Lint and Test Ask DeepWiki CodeFactor Maintainability Rating
Convert graphviz (dot) files to draw.io / lucid (mxGraph) format. Beautiful and editable graphs in your favorite editor.
graphviz2drawio can be installed with Homebrew:
brew install graphviz2drawio
It is recommended to use pipx to install and run the CLI tool. If you wish to use the library, you can install with pip instead.
Note that the graphviz library is required before installing this package.
sudo apt update
sudo apt install pipx graphviz graphviz-dev
pipx install graphviz2drawio
# To update: pipx upgrade graphviz2drawiosudo dnf install pipx
pipx ensurepath
pipx install graphviz2drawio
# To update: pipx upgrade graphviz2drawioconda install conda-forge::graphviz2drawio
Run the conversion app on your graphviz file. For example, the command below will create converted files example1.xml and example2.xml.
graphviz2drawio example1.dot example2.dot
Alternatively, you can specify the output file (but only if there is a single input file)
graphviz2drawio example.dot -o /path/to/somewhere/new_name.xml
Output can also be sent to stdout by using the --stdout flag.
Graphs can be piped in from stdin and sent to stdout (default) or to a file with -o ....
from graphviz2drawio import graphviz2drawio graph_to_convert = ... xml = graphviz2drawio.convert(graph_to_convert) print(xml)
where graph_to_convert can be any of a file path, file handle, string of dot language, or PyGraphviz.AGraph object
- PyGraphviz - Python interface to Graphviz
- svg.path - SVG path objects and parser
Pull requests and issue reports are welcome. For major changes, please open an issue first to discuss what you would like to change.
To see architectural and process diagrams please visit the deepwiki page
Thanks to all the people who have contributed to this project!
Profile images of all the contributors
uv is used for packaging and dependency management.
git clone git@github.com:hbmartin/graphviz2drawio.git cd graphviz2drawio uv sync # Replace with the actual path to your dot files uv run python -m graphviz2drawio test/directed/hello.gv.txt
- Support compatible arrows
- Support multiple edges
- Support edges with links
© Harold Martin - released under GPLv3
diagrams.net is a trademark and draw.io is a registered trademark of JGraph Limited.