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

# planarity(1)

The Edge Addition Planarity Suite

## NAME

planarity - The Edge Addition Planarity Suite

## SYNOPSIS

### Getting help

**planarity -h\|-help \[-menu\]**

**planarity -i\|-info**

### Menu-driven mode

**planarity**

### Batch modes

**planarity -s \[-q\] *COMMAND* *INPUT* *OUTPUT* \[*COMPLEMENT*\]**

**planarity -r \[-q\] *COMMAND* *K* *N* \[*OUTPUT*\]**

**planarity -rm \[-q\] *N* *OUTPUT* \[*COMPLEMENT*\]**

**planarity -rn \[-q\] *N* *OUTPUT* \[*COMPLEMENT*\]**

**planarity -x \[-q\] -(gam) *INPUT* *OUTPUT***

**planarity -t \[-q\] *COMMAND* *INPUT* *OUTPUT***

## DESCRIPTION

Invokes the Edge Addition Planarity Suite command-line tool, either in interactive mode or in batch mode.

Without a parameter, the tool presents a menu-driven interactive interface.

When a parameter is given, it runs in batch mode and returns 0 or 1 for a successful result and -1 on error.

## OPTIONS

- **-h, -help \[-menu\]**

  Display some help, with **-menu** triggering even more detailed output.

- **-i, -info**

  Display version, copyright, license, and reference articles information.

- **-q**

  Quiet mode optional modifier, see below which options accept it.

- **-s \[-q\] *COMMAND* *INPUT* *OUTPUT* \[*COMPLEMENT*\]**

  Run the *COMMAND* (see below) on a specific graph given in the *INPUT* file, with output in the primary *OUTPUT* file and complementary information, if any, in the secondary *COMPLEMENT* file (e.g. an ASCII art rendition for the planar graph drawing command). The return value is 0 if the specific graph is embeddable (e.g. it is planar or doesn't contain a homeomorphic subgraph) and 1 if it isn't embeddable (e.g. non planar or does contain a homeomorphic subgraph).

- **-r \[-q\] *COMMAND* *K* *N* \[*OUTPUT*\]**

  Run the *COMMAND* (see below) on *K* random graphs with *N* vertices. Optionally, write all generated graphs to .g6 *OUTPUT*.

- **-rm \[-q\] *N* *OUTPUT* \[*COMPLEMENT*\]**

  Generate a random maximal planar graph with *N* vertices, then output its planar embedding in the primary *OUTPUT* file and optionally the generated graph in the *COMPLEMENT* file.

- **-rn \[-q\] *N* *OUTPUT* \[*COMPLEMENT*\]**

  Generate a random nonplanar graph (maximal planar plus one edge) with *N* vertices, then output a Kuratowski subgraph of the generated graph in the primary *OUTPUT* file and optionally the generated graph in the *COMPLEMENT* file.

- **\[-q\] -(gam) *INPUT* *OUTPUT***

  Transform single graph in *INPUT* file (any supported format) to .g6 (**g**), adjacency list (**a**), or adjacency matrix (**m**) format and output to *OUTPUT* file.

- **\[-q\] *COMMAND* *INPUT* *OUTPUT***

  Run the *COMMAND* (see below) on graphs in .g6 encoded *INPUT* file, then output summary statistics to *OUTPUT* file.

## COMMANDS

Determine which algorithm implementation to run:

- **-p**

  Planar embedding and Kuratowski subgraph isolation

- **-d**

  Planar graph drawing by visibility representation (and optional ASCII art rendition)

- **-o**

  Outerplanar embedding and obstruction isolation

- **-2**

  Search for subgraph homeomorphic to K\_{2,3}

- **-3**

  Search for subgraph homeomorphic to K\_{3,3}

- **-4**

  Search for subgraph homeomorphic to K\_4

## EXAMPLES

- **planarity -s -q -p infile.txt embedding.out \[obstruction.out\]**

  Process infile.txt in quiet mode (-q), putting planar embedding in embedding.out or (optionally) a Kuratowski subgraph in obstruction.out. Process returns 0=planar, 1=nonplanar, -1=error

- **planarity -s -q -d infile.txt embedding.out \[drawing.out\]**

  If graph in infile.txt is planar, then put embedding in embedding.out and (optionally) an ASCII art drawing in drawing.out. Process returns 0=planar, 1=nonplanar, -1=error

## SEE ALSO

The full inline help: **planarity -h -menu**

The project homepage: **https://github.com/graph-algorithms/edge-addition-planarity-suite**
