pnmpad man page

pnmpad — add borders to a PNM image


pnmpad [-verbose] [-white|-black] [-width=pixels] [-halign=ratio] [-mwidth=pixels] [-left=pixels] [-right=pixels] [-height=pixels] [-valign=ratio] [-mheight=pixels] [-top=pixels] [-bottom=pixels] [pnmfile]


pnmpad reads a PNM image as input and outputs a PNM image that is the input image plus black or white borders of the sizes specified.

If you just need to convert an image to a certain size regardless of the original dimensions, pamcut with the -pad option may be a better choice.

pnmmargin does essentially the same thing, but allows you to add borders of any color and requires all four borders to be the same size.


All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one to designate an option. You may use either white space or an equals sign between an option name and its value.

Verbose output.
Set pad color. Default is -black.
Specify amount of left and right padding in pixels.

-left and -right directly specify the amount of padding added to the left and right sides, respectively, of the image.

Alternatively, you can specify -width and just one of -left and -right and pnmpad calculates the required padding on the other side based on the width of the input image. If the -width value is less than the width of the image plus the specified padding, the -width values is ignored.

If you specify all three of -width, -left, and -right, you must ensure that the -left and -right padding are sufficient to make the image at least as wide as -width specifies. Otherwise, pnmpad fails.

When you specify -width without -left or -right, and -width is larger than the input image, pnmpad chooses left and right padding amounts in a certain ratio. That ratio defaults to half, but you can set it to anything (from 0 to 1) with the -halign option. If the input image is already at least as wide as -width specifies, pnmpad adds no padding.

Common values for -halign are:
left aligned
center aligned (default)

right aligned

-mwidth=pixels says to pad to a multiple of pixels pixels. E.g. if pixels is 10, the output image width will be a multiple of 10 pixels. pnmpad adds to whatever padding the other options say to do to get to this multiple. It divides that padding between the left and right sides of the image to maintain the ratio the other options produce. E.g. if you say -left=10 -right=10 -mwidth=50 with a 100-pixel image, you end up with a 150-pixel image with the extra padding split evenly between left and right for a total of 25 pixels of padding on the left and 25 on the right.

Before Netpbm 10.23 (July 2004), pnmpad did not allow the -left or -right option together with -width.

Before Netpbm 10.72 (September 2015), there is no -mwidth.

These options determine the vertical padding. They are analogous to the horizontal padding options above.


Before February 2002, pnmpad had a different option syntax which was less expressive and not like conventional Netpbm programs. That syntax is still understood by pnmpad for backward compatibility, but not documented or supported for future use.

See Also

pbmmake(1) , pnmpaste(1) , pamcut(1) , pnmcrop(1) , pamcomp(1) , pnmmargin(1) , pbm(1)


Copyright (C) 2002 by Martin van Beilen

Copyright (C) 1990 by Angus Duggan

Copyright (C) 1989 by Jef Poskanzer.

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. This software is provided "as is" without express or implied warranty.

Document Source

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

Referenced By

pamcut(1), pnmmargin(1).

1 July 2015 netpbm documentation