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

# pgmtopbm(1)

convert a PGM image to PBM

## NAME

pgmtopbm - convert a PGM image to PBM

## SYNOPSIS

**pgmtopbm**

\[**-floyd** \| **-fs** \| **-threshold** \| **-hilbert** \| **-dither8** \| **-d8** \| **-cluster3** \| **-c3** \| **-cluster4** \| **-c4** \| **-cluster8** \| **-c8**\]

\[**-value** *val*\]

\[**-clump** *size*\]

\[**-randomseed** *integer*\]

\[*pgmfile*\]

## DESCRIPTION

This program is part of **Netpbm**(1) .

This program is almost entirely obsolete since Netpbm 10.23 (July 2004).  Use [**pamditherbw**(1)](/pamditherbw/1.md)  to do what this program used to do.

**pgmtopbm** never was the simple converter it appeared to be. It was a dithering program.  Unfortunately, it didn't do the dithering properly because it treated the PGM input samples as if they were directly proportional to light intensity, but they are actually gamma-adjusted.

**pamditherbw** is backward compatible with **pgmtopbm** except that it

- •

  does the correct gamma adjustments.

- •

  produces PAM output instead of PBM.  (Modern Netpbm programs that accept PBM input also accept PAM input, but if you need actual PBM, you can use **pamtopnm** with **pamditherbw**).

  So use the manual for **pamditherbw** for **pgmtopbm**, except ignore anything that says it was added after Netpbm Release 10.23 and ignore any options that are not shown in the synopsis above.

Although **pgmtopbm** is mostly obsolete, the simple threshold method (specified by **-threshold**) is an exception.  Unlike the other conversion methods, gamma-adjustment is not an issue with simple thresholding and **pgmtopbm** can produce PBM output directly.  Note that even in this basic mode of operation **pgmtopbm** may produce output which is slightly different from what **pamditherbw** does because of differences in internal calculation.

If you just want to convert a PGM image with maxval 1 to PBM, use [**pamtopnm**(1)](/pamtopnm/1.md) .

## SEE ALSO

[**pamditherbw**(1)](/pamditherbw/1.md) , [**pamtopnm**(1)](/pamtopnm/1.md) , [**pbmtopgm**(1)](/pbmtopgm/1.md) , [**pamthreshold**(1)](/pamthreshold/1.md) , [**pbmreduce**(1)](/pbmreduce/1.md) , **pgm**(1) , **pbm**(1)

## AUTHOR

Copyright (C) 1989 by Jef Poskanzer.

## DOCUMENT SOURCE

This manual page was generated by the Netpbm tool 'makeman' from HTML source.  The master documentation is at

-

  **http://netpbm.sourceforge.net/doc/pgmtopbm.html**
