# Is there an interactive Viewer for laaaaarge Graphviz models?

**URL:** https://forum.graphviz.org/t/is-there-an-interactive-viewer-for-laaaaarge-graphviz-models/929
**Category:** Help
**Created:** [December 4, 2021, 2:38pm UTC](https://forum.graphviz.org/t/is-there-an-interactive-viewer-for-laaaaarge-graphviz-models/929 "2021-12-04T14:38:05Z")
**Posts on this page:** 12
**Page:** 1

<div class="post-metadata">

### Author: ![AndreasS](https://sea2.discourse-cdn.com/graphviz/user_avatar/forum.graphviz.org/andreass/32/551_2.png) [@AndreasS](https://forum.graphviz.org/u/AndreasS)
#### Post date: [December 4, 2021, 2:38pm UTC](https://forum.graphviz.org/t/is-there-an-interactive-viewer-for-laaaaarge-graphviz-models/929/1 "2021-12-04T14:38:05Z")

</div>

Hello,

I currently develop software for Shopify and use it’s GraphQL API heavily. It’s a complex beast and hoped to find a way to visualise the connections of it.

After some search I [found a way to create a PNG](https://medium.com/@gulshansaini/how-to-visualize-graphql-schema-using-graphqlviz-cli-1d8b5f3fed42) out of the schema:

`graphqlviz ShopifySchema.json | dot -Tpng -o ShopifySchema.png`

It kept my good old 2015 MBP busy for about 5 Minutes, created a huge PNG with 80MB. I could zoom in, but all the connections are too close together or covering each other to be of any help.

I had been looking for an interactive GraphViz viewer, which can handle such big diagrams. But everything I tried either just froze or threw an exception after a while. I tried:

- Qt Visual Graph Editor - qvge: It threw an exception

- graphql-voyager - it just stayed blank

- [EclipseGraphviz](https://github.com/abstratt/eclipsegraphviz) - I could not even install the Eclipse Plugin because of missing dependencies. I guess Eclipse is left in the dust.

- [GrahpQl Visualizer](http://nathanrandal.com/graphql-visualizer/) threw an out of memory exception

- …

Is there anything out there capable visualising such a big schema?  
Ideally with the capability to manually interactively rearrange the elements to clean up overlapping connections.

Thanks for your input!

---

<div class="post-metadata">

### Author: ![steveroush](https://avatars.discourse-cdn.com/v4/letter/s/a9adbd/32.png) [@steveroush](https://forum.graphviz.org/u/steveroush)
#### Post date: [December 4, 2021, 4:41pm UTC](https://forum.graphviz.org/t/is-there-an-interactive-viewer-for-laaaaarge-graphviz-models/929/2 "2021-12-04T16:41:18Z")

</div>

Try rendering to SVG instead of PNG. For a large graph, vector graphics (svg) produce a more readable/manageable result.  
`graphqlviz ShopifySchema.json | dot -Tsvg -o ShopifySchema.svg`  
Then use your favorite web browser as a viewer. Control-o seems to be the “open a file” command for most/all browsers.

---

<div class="post-metadata">

### Author: ![steveroush](https://avatars.discourse-cdn.com/v4/letter/s/a9adbd/32.png) [@steveroush](https://forum.graphviz.org/u/steveroush)
#### Post date: [December 4, 2021, 9:19pm UTC](https://forum.graphviz.org/t/is-there-an-interactive-viewer-for-laaaaarge-graphviz-models/929/3 "2021-12-04T21:19:16Z")

</div>

Also curious how large _laaaaarge_ is. Please run this:  
`graphqlviz ShopifySchema.json | gc`  
The first number in the output is the count of nodes, the second number is the count of edges.

---

<div class="post-metadata">

### Author: ![AndreasS](https://sea2.discourse-cdn.com/graphviz/user_avatar/forum.graphviz.org/andreass/32/551_2.png) [@AndreasS](https://forum.graphviz.org/u/AndreasS)
#### Post date: [December 5, 2021, 1:34am UTC](https://forum.graphviz.org/t/is-there-an-interactive-viewer-for-laaaaarge-graphviz-models/929/4 "2021-12-05T01:34:03Z")

</div>

Hi Steve,

thanks for chiming in!

> [@steveroush](#):
>
> graphqlviz ShopifySchema.json | gc

It gave me following result: 1288 2887 erd ()

The conversion to SVG took some time, but worked flawlessly: [Shopify\_2021-10\_schema.svg · GitHub](https://gist.github.com/ascheucher/46a2afdef511bd47fc0b09d5d54a37c8)

Of course it has the same issues with overlapping lines, as you can see.

Do you have a recommendation for an SVG editor for rearranging nodes and lines to get a better overview?

Hmm, I just realised Graphqlviz only supports GraphQl queries and not mutations. This seems to be of limited help anyway…

---

<div class="post-metadata">

### Author: ![steveroush](https://avatars.discourse-cdn.com/v4/letter/s/a9adbd/32.png) [@steveroush](https://forum.graphviz.org/u/steveroush)
#### Post date: [December 5, 2021, 7:28pm UTC](https://forum.graphviz.org/t/is-there-an-interactive-viewer-for-laaaaarge-graphviz-models/929/5 "2021-12-05T19:28:51Z")

</div>

- 1288 nodes is not that big, but some of your nodes are quite large.
- inkscape is the only SVG editor I’m aware of. I’m not sure if it will be useful here
- if you want to try non-interactive tools, you can produce a **dot** output (instead of png or svg) and the try various Graphviz tweaks
  - `graphqlviz ShopifySchema.json | dot -Tdot -o ShopifySchema.gv`
  - then try the **twopi** and/or **circo** engines
  - and/or [https://graphviz.org/pdf/edgepaint.1.pdf](https://graphviz.org/pdf/edgepaint.1.pdf)
  - and/or increasing ranksep ([ranksep | Graphviz](https://graphviz.org/docs/attrs/ranksep/))

---

<div class="post-metadata">

### Author: ![ronman](https://avatars.discourse-cdn.com/v4/letter/r/ac91a4/32.png) [@ronman](https://forum.graphviz.org/u/ronman)
#### Post date: [December 7, 2021, 7:54pm UTC](https://forum.graphviz.org/t/is-there-an-interactive-viewer-for-laaaaarge-graphviz-models/929/6 "2021-12-07T19:54:12Z")

</div>

Have you looked at [Ideatree.net](https://www.ideatree.net)? Interactive, zoom-able, etc. The “Prettify” functions are powered by graphviz under the covers. The size of graph handled is basically limited by how much memory you have, the speed of your browser, etc. We tested it up to 1k nodes on a fully-connected graph (how many edges would that be?). Disclaimer: I’m one of the developers.

---

<div class="post-metadata">

### Author: ![Vithanco](https://sea2.discourse-cdn.com/graphviz/user_avatar/forum.graphviz.org/vithanco/32/292_2.png) [@Vithanco](https://forum.graphviz.org/u/Vithanco)
#### Post date: [December 23, 2021, 6:01am UTC](https://forum.graphviz.org/t/is-there-an-interactive-viewer-for-laaaaarge-graphviz-models/929/7 "2021-12-23T06:01:30Z")

</div>

> [@AndreasS](#):
>
> graphqlviz ShopifySchema.json

would you be able to share the resulting dot file?

---

<div class="post-metadata">

### Author: ![BartB](https://avatars.discourse-cdn.com/v4/letter/b/848f3c/32.png) [@BartB](https://forum.graphviz.org/u/BartB)
#### Post date: [October 2, 2023, 4:55pm UTC](https://forum.graphviz.org/t/is-there-an-interactive-viewer-for-laaaaarge-graphviz-models/929/8 "2023-10-02T16:55:23Z")

</div>

I am using the approach of exporting to svg, and then adding ineractivity in the diagram using javascript. When clicking on a node it will highlight all edges connecting to that node in the diagram.

The feature to produce svg with postprocessing is available in the latest release of Excel to Graphviz, which you can find here: [Excel to Graphviz](https://exceltographviz.com/)

example screenshot:

 ![Annotation 2023-10-03 111757](https://global.discourse-cdn.com/graphviz/original/2X/4/4558edc4da2a88848a1ee1a22918b79a7a7c5633.png)

---

<div class="post-metadata">

### Author: ![smattr](https://sea2.discourse-cdn.com/graphviz/user_avatar/forum.graphviz.org/smattr/32/85_2.png) [@smattr](https://forum.graphviz.org/u/smattr)
#### Post date: [October 4, 2023, 7:07am UTC](https://forum.graphviz.org/t/is-there-an-interactive-viewer-for-laaaaarge-graphviz-models/929/10 "2023-10-04T07:07:11Z")

</div>

There’s also an issue about inline SVGs, [Add SVG output suitable for inlining in HTML (#2285) · Issues · graphviz / graphviz · GitLab](https://gitlab.com/graphviz/graphviz/-/issues/2285), which would let Graphviz produce something suitable for inclusion directly into a page that could then manipulate it with Javascript.

---

<div class="post-metadata">

### Author: ![tlk](https://avatars.discourse-cdn.com/v4/letter/t/ea666f/32.png) [@tlk](https://forum.graphviz.org/u/tlk)
#### Post date: [October 14, 2023, 1:04pm UTC](https://forum.graphviz.org/t/is-there-an-interactive-viewer-for-laaaaarge-graphviz-models/929/11 "2023-10-14T13:04:31Z")

</div>

I have found [GitHub - jrfonseca/xdot.py: Interactive viewer for graphs written in Graphviz's dot language.](https://github.com/jrfonseca/xdot.py) to be quite useful for _reasonably_ sized graphs.

xdot.py supports searching and highlighting of nodes and edge labels, fast navigation and zoom etc. It installs on macOS via `brew install xdot` and Debian/Ubuntu with `sudo apt install xdot` (although they may ship a rather outdated version of xdot).

---

<div class="post-metadata">

### Author: ![chris\_284](https://avatars.discourse-cdn.com/v4/letter/c/a88e57/32.png) [@chris\_284](https://forum.graphviz.org/u/chris_284)
#### Post date: [March 19, 2025, 4:34pm UTC](https://forum.graphviz.org/t/is-there-an-interactive-viewer-for-laaaaarge-graphviz-models/929/12 "2025-03-19T16:34:03Z")

</div>

For those in the future, having just used a 130B dot file (45,000 nodes, 400,000 edges), you can use “Gephi”.

Import your dot files. In the lower left of Gephi in the “Layout” pane choose the “ForceAtlas 2” layout. This will allow you to check “Prevent Overlap” [I believe in doing so you need to turn off “Approximate Repulsion”]

---

<div class="post-metadata">

### Author: ![ars](https://sea2.discourse-cdn.com/graphviz/user_avatar/forum.graphviz.org/ars/32/249_2.png) [@ars](https://forum.graphviz.org/u/ars)
#### Post date: [June 27, 2025, 1:52pm UTC](https://forum.graphviz.org/t/is-there-an-interactive-viewer-for-laaaaarge-graphviz-models/929/13 "2025-06-27T13:52:34Z")

</div>

> [@AndreasS](#):
>
> Qt Visual Graph Editor - qvge: It threw an exception

Maybe give a try for 0.7.0 release?
