xibgraph helps you look at the connections inside an Interface Builder XIB file. It supports outputting binding, action and outlet connection information.


You can run the xibgraph script from the download directory or you can install it with

$ python ./ install

xibgraph supports three output formats at the moment: JSON (default), plain text with Python objects or Graphviz DOT format.

The output format and the connections types are selected with command line options:

$ xibgraph --bindings --text xibfile
$ xibgraph --actions --dot xibfile
$ xibgraph --outlets --actions --json xibfile

The DOT output uses HTML by default, but at least OmniGraffle has trouble with it. You can specify --no-dot-html to avoid it.

For all command line options, use:

$ xibgraph --help


xibgraph requires PyObjC. JSON and text output work with the Python shipped with Snow Leopard without any additional requirements.

To output DOT, pydot is required. You can install it with pip (pip install pydot) or easy_install (easy_install pydot).


xibgraph is MIT licensed. See COPYING for details.


xibgraph was written by Juri Pakaste <>. It's on the web at