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

# rawtoppm(1)

convert a stream of raw RGB bytes to a PPM image

## NAME

rawtoppm - convert a stream of raw RGB bytes to a PPM image

## SYNOPSIS

**rawtoppm**

\[**-headerskip** *N*\]

\[**-rowskip** *N*\]

\[ **-rgb**\|**-rbg**\|**-grb** \|**-gbr**\|**-brg**\|**-bgr** \]

\[**-interpixel**\|**-interrow**\] *width* *height*

\[*imagedata*\]

## DESCRIPTION

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

**rawtoppm** reads raw RGB bytes as input and produces a PPM image as output.  The input file is just RGB bytes.  You have to specify the width and height on the command line, since the program obviously can't get them from the file.  **rawtoppm** assumes the maxval of the input samples is 255, and makes the maxval of the output PPM 255.

**rawtoppm** assumes the pixels come top first in the input stream. If they are actually bottom first, the resulting PPM is upside down, so run it through **pamflip -tb**.

## OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably **-quiet**, see \
  Common Options ⟨index.html#commonoptions⟩ ), **rawtoppm** recognizes the following command line options:

- **-headerskip**

  Skip over this many bytes at the beginning of the input stream. Use this option when the input has some kind of header followed by a raster suitable for **rawtoppm**.

- **-rowskip**

  Skip this many bytes at the end of each row of the raster.  (Some input streams have padding at the end of rows).

- **-rgb -rbg -grb -gbr -brg -bgr**

  This option specifies the order of the color components for each pixel.  The default is **-rgb**.

- **-interpixel -interrow**

  These options specify how the colors are interleaved.  The default is **-interpixel**, meaning interleaved by pixel.  A byte of red, a byte of green, and a byte of blue, or whatever color order you specified.  **-interrow** means interleaved by row - a row of red, a row of green, a row of blue, assuming standard rgb color order.  An **-interplane** option - all the red pixels, then all the green, then all the blue - would be an obvious extension, but is not implemented.  You could get the same effect by splitting the file into three parts (perhaps using **dd**), turning each part into a PGM file with **rawtopgm**, and then combining them with **rgb3toppm**.

## SEE ALSO

**ppm**(1) ,  [**rawtopgm**(1)](/rawtopgm/1.md) ,  [**rgb3toppm**(1)](/rgb3toppm/1.md) ,  [**pamflip**(1)](/pamflip/1.md)

## AUTHOR

Copyright (C) 1991 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/rawtoppm.html**
