PNGINFO(1)

πŸ’– PNGINFO(1) β€” the pnginfo page, bestie edition πŸ’–

okay so you opened the manual for pnginfo and honestly? iconic choice. this is a little tool from pngtools that spills all the tea about your PNGs. let's get into it 🫢


✨ NAME ✨

pnginfo β€” display information on the PNG files named πŸ‘€


🌸 SYNOPSIS 🌸

pnginfo [-t] [-d] [-D] <filenames>

πŸ’… DESCRIPTION πŸ’…

So basically, this command dumps information about the PNG files named on the command line. That's it, that's the job. πŸ’β™€οΈ

And here's the lore: its output is based on the output of the tiffinfo command, which is part of the libtiff distribution. Every single line it prints represents a value that has been set inside the PNG file. so like, each line is a lil fact about your image. cute.

Now the flags, because this is where it gets spicy:

  • the -t command line option forces pnginfo to use libtiff tiffinfo style labels, instead of the more relevant png names. yes bestie, it's a whole aesthetic switch.
  • the -d command line option dumps the bitmap contained by the image to standard out.
  • meanwhile -D merely checks that the image bitmap could be extracted from the file. and listen: if nothing is reported by -D, then there was no error. silence = slay. 🀫✨

The format for the output bitmaps is hexadecimal, with each pixel presented as a triple β€” for instance [red green blue]. Which means paletted images et cetera will have their bitmaps expanded before display. no cap.


πŸŽ€ RETURNS πŸŽ€

  • 0 β€” success πŸ’–
  • 1 β€” error 😭

πŸ¦‹ EXAMPLE πŸ¦‹

here's the vibe in action, fr fr:

pnginfo -t toucan.png basn3p02.png basn6a16.png toucan.png...
 Image Width: 162 Image Length: 150
 Bits/Sample: 8
 Samples/Pixel: 1
 Pixel Depth: 8
 Colour Type (Photometric Interpretation): PALETTED COLOUR with alpha (256 colours, 256 transparent)
 Image filter: Single row per byte filter
 Interlacing: Adam7 interlacing
 Compression Scheme: Deflate method 8, 32k window
 Resolution: (not specified)
 FillOrder: msb-to-lsb
 Byte Order: Network (Big Endian)
 Number of text strings: 0 of 0

basn3p02.png...
 Image Width: 32 Image Length: 32
 Bits/Sample: 2
 Samples/Pixel: 1
 Pixel Depth: 2
 Colour Type (Photometric Interpretation): PALETTED COLOUR (4 colours, 0 transparent)
 Image filter: Single row per byte filter
 Interlacing: No interlacing
 Compression Scheme: Deflate method 8, 32k window
 Resolution: (not specified)
 FillOrder: msb-to-lsb
 Byte Order: Network (Big Endian)
 Number of text strings: 0 of 0

basn6a16.png...
 Image Width: 32 Image Length: 32
 Bits/Sample: 16
 Samples/Pixel: 4
 Pixel Depth: 64
 Colour Type (Photometric Interpretation): RGB with alpha channel
 Image filter: Single row per byte filter
 Interlacing: No interlacing
 Compression Scheme: Deflate method 8, 32k window
 Resolution: (not specified)
 FillOrder: msb-to-lsb
 Byte Order: Network (Big Endian)
 Number of text strings: 0 of 0

like. look at all those numbers. main character energy. πŸ‘‘


πŸ‘€ SEE ALSO πŸ‘€

go read those too, bestie, they're all in the fam 🫢


🌈 VERSION 🌈

This documentation is for pngtools 1.0.


πŸ’œ AUTHOR πŸ’œ

pngtools was written by Michael Still and is released under the GNU GPL. The project is hosted at https://github.com/mikalstill/pngtools. πŸ’–


πŸ› BUGS πŸ›

Please report bugs at https://github.com/mikalstill/pngtools/issues. do NOT be shy, the maintainers wanna hear it. 🫢


ok that's the whole page!! this one's from the User Commands corner of pngtools 1.0, dated 10 June 2026. mwah, go read some PNG headers, you ate πŸ’…βœ¨πŸ¦‹
πŸ“¦ where this page comes from