What’s the problem the tool solves?
ged2dot is a script that takes a GEDCOM file and tries to
visualize it using Graphviz's
dot tool. The basic idea is that you can
map individuals and families to graph nodes and connections between them to graph edges, then
takes care of the rest. What’s unique about
ged2dot is that it allows more than showing ancestors
and descendants of a single individual (what you can easily do with random family editor software).
You usually want to customize your input filename, output filenames, the root family and the depth
of the graph visitor. You can provide these either by using command-line arguments (see
--help) or by using a configuration file (see
ged2dotrc.sample). When using both, the
command-line arguments overwrite configuration values.
The layout does a Breadth First Search (BFS) traversal on the graph, from the starting family:
This has several benefits over explicitly trying to guess which family belongs to which generation.
Some example more tricky cases, which are handled by
root family → husband → sister → showing her kids
root family → wife → cousin → showing her kid
root family → husband → grand father → showing both wives with the matching kids
(ged2dot ⇐ 7.0 allowed multiple layouts, none of them supported the above more tricky cases.)
GEDCOM files don’t contain images, but you can put images next to the GEDCOM file, and in that case
ged2dot will try to pick them up when generating
dot output. The expected location is
images/Given Family 1234.jpg, relative to the GEDCOM file. For example, there is a person called
Ray Smith in the above screenshot. The birth year string is
Y, so the image location has to be
images/Ray Smith Y.jpg.
LibreOffice Draw GEDCOM import filter
libreoffice/ subdirectory contains a LibreOffice extension, that
implements a GEDCOM import filter for Draw. Needless to say, it uses
internally — think of it as a GUI for
ged2dot, with the additional benefit
that you can hand-edit the resulting layout in Draw, if you want.
It uses Graphviz to process the
dotformat. In case you don’t have Graphviz installed:
LibreOffice >= 7.2
Filter detection: you can use File → Open and select a GEDCOM file, and it’ll be opened in Draw automatically.
Import options: On import, a graphical dialog can be used to set a subset of the options available in a
Internally reuses the excellent SVG import filter of LibreOffice, contributed by Fridrich Strba and Thorsten Behrens, so the result can be manually fine-tuned if necessary.
Runs on Windows and Linux and macOS.
Linux distributions install Python support separately, be sure to install the
Once that’s done, you’ll see something like this if you open a GEDCOM file:
ged2dot, in case a given input results in a runtime crash, it’s
considered a bug. If you have a fix for it,
pull requests on GitHub are
welcome. Make sure to run
make check before submitting your changes.
For the LibreOffice extension, in case you get an error during opening:
For Windows, the log file location is something like:
For Linux, start LibreOffice from a terminal, the log is printed to the standard error.
For Mac, start LibreOffice from Terminal:
cd /Applications/LibreOffice.app/Contents/program ./soffice --nologo /path/to/test.ged
then the log is printed to the standard error as well.
Icons are from WPZOOM, in case placeholders have to be used for missing images.