---
name: "pic2graph"
section: "1"
platform: "linux"
package: "groff"
version: "1.24.2-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/pic2graph"
---

# pic2graph(1)

convert a pic diagram into a cropped image

## Name

pic2graph - convert a *pic* diagram into a cropped image

## Synopsis

**pic2graph** \[**-unsafe**\] \[**-format**  *output-format*\] \[**-eqn**  *delimiters*\] \[*convert-argument* ...\]

**pic2graph** **--help**

**pic2graph** **-v**

**pic2graph** **--version**

## Description

*pic2graph* reads a [*pic*(1)](/pic/1.md) program from the standard input and writes an image file, by default in Portable Network Graphics (PNG) format, to the standard output. It furthermore translates [*eqn*(1)](/eqn/1.md) constructs, so it can be used to generate images of mathematical formulae.

The input PIC code should *not* be wrapped with the **.PS** and **.PE**/**.PF**/**.PY** macros that normally guard it within [*groff*(1)](/groff/1.md) documents.

Arguments not recognized by *pic2graph* are passed to the ImageMagick or GraphicsMagick program [*convert*(1)](/convert/1.md). By specifying these, you can give your image a border, set the image's pixel density, or perform other useful transformations.

The output image is clipped using *convert*'s **-trim** option to the smallest possible bounding box that contains all the black pixels.

## Options

**--help** displays a usage message, while **-v** and **--version** show version information; all exit afterward.

- **-eqn** *delimiters*

  Use *delimiters* as the opening and closing characters that delimit *eqn* directives; the default is “$$”. The option argument *delimiters* should be a two-character string, but an empty string ("") is accepted as a directive to disable *eqn* processing.

- **-format** *output-format*

  Write the image in *output-format*, which must be understood by *convert*; the default is PNG.

- **-unsafe**

  Run *groff* in *unsafe* mode, enabling the PIC command **sh** to execute arbitrary Unix shell commands. The *groff* default is to forbid this.

## Environment

- *GROFF\_TMPDIR* *TMPDIR* *TMP* *TEMP*

  These environment variables are searched in the order shown to determine the directory where temporary files will be created. If none are set, */tmp* is used.

## Authors

*pic2graph* was written by Eric S. Raymond ⟨esr@\\:thyrsus\\:.com⟩, based on a recipe by W. Richard Stevens.

## See also

W. Richard Stevens, *Turning PIC into HTML* ⟨http://\\:www\\:.kohala\\:.com/\\:start/\\:troff/\\:pic2html\\:.html⟩

[*eqn2graph*(1)](/eqn2graph/1.md), [*grap2graph*(1)](/grap2graph/1.md), [*pic*(1)](/pic/1.md), [*eqn*(1)](/eqn/1.md), [*groff*(1)](/groff/1.md), [*convert*(1)](/convert/1.md)
