-
Matthew Fernandez authoredMatthew Fernandez authored
title: Output Formats
aliases:
- /doc/info/output.html
stylesheet: output.css
weight: 3
cascade:
type: output
description: Various graphic and data formats for end user, [web](/gallery), documents and other applications.
The output format is specified with the -Tlang
flag on the command line, where lang
is one of the parameters listed above.
The formats actually available in a given Graphviz system depend on
how the system was built and the presence of additional libraries.
To see what formats dot supports, run dot -T?
.
See the [description of the -T
]({{< relref "/docs/cli/_index.md#-T" >}})
flag for additional information.
Note that the internal coordinate system has the origin in the lower left corner. Thus, positions in the canon, dot, xdot, plain, and plain-ext formats need to be interpreted in this manner.
Image Formats
The [image
]({{< relref "/docs/attrs/image.md" >}}) and [shapefile
]({{< relref "/docs/attrs/shapefile.md" >}}) attributes specify an image file to be included
as part of the final diagram. Not all image formats can be read. In addition,
even if read, not all image formats can necessarily be used in a given
output format.
The graph below shows what image formats can be used in which output formats, and the required plugins. On the left are the supported image formats. On the right are the supported output formats. In the middle are the plugins: image loaders, renderers, drivers, arranged by plugin library. This presents the most general case. A given installation may not provide one of the plugins, in which case, that transformation is not possible.

ID Output Note {#ID}
In the formats: -Tcmap
, -Tcmapx
, -Tsvg
, -Tvml
, the output generates
id="node#"
properties for nodes, id="edge#"
properties for edges, and id="cluster#"
properties for clusters, with the #
replaced by an internally assigned integer. These strings can be provided instead by an externally provided id=xxx
attribute on the object.
Normal \N
\E
\G
substitutions are applied.
Externally provided id values are not used internally, and it is the user's responsibility to ensure
that they are sufficiently unique for their intended downstream use.
Note, in particular, that \E
is not a unique id for multiedges.