Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

pgf – A Portable Graphic Format for TeX

Test suite

PGF is a TeX macro package for generating graphics. It is platform- and format-independent and works together with the most important TeX backend drivers, including pdftex and dvips. It comes with a user-friendly syntax layer called TikZ.

See the directory doc/generic/pgf for more information. See the file doc/generic/pgf/pgfmanual.pdf (also available from for a manual. This documentation also explains the installation. See the file doc/generic/pgf/license/LICENSE for license details.

Please go to the official repository at or the official mailing list at to submit bug reports, request new features, etc.

We also have a chat on the Matrix network at (read-only version).


In general you should just use the version of PGF that is shipped by your TeX distribution. See their documentation on how to install packages.

If you are feeling adventurous you can install the latest development version in TeX Live from our tlcontrib repository.

$ tlmgr repository add pgf-development
$ tlmgr pinning add pgf-development "*"
$ tlmgr update --self --all
$ tlmgr install pgf --reinstall


Currently PGF only has a very rudimentary test suite to check for regressions, so for now we check for bugs by building the manual for each commit. To build the manual locally you can either copy the PGF repository into your texmf tree (not recommended) or use the usertree option of TeX Live. For the usertree option on GNU/Linux, follow these steps:

$ git clone
$ tlmgr init-usertree --usertree pgf
$ export TEXMFHOME=$(readlink -f pgf)
$ cd pgf
$ l3build doc -q -H

We recommend building at least the version for LuaTeX, as shown in the example above because this has the broadest coverage of PGF features. To test the animations feature you have to build the version for dvisvgm.