PNGlib: a free PNG decoder library

This library allows you to decode and display PNG images in your applications. The library is very small and has been written in assembly (MASM32). The library supports both interlaced and non-interlaced PNGs, in all color types mentioned in the PNG specifications version 1.0. The library is easy to use, has detailed documentation. Includes and headers are supplied for use with MASM32 and Visual C.

Several code samples (MASM32 and Visual C) are included as well, one of them is the PNGview program: a 30kb PNG viewer, written in C using the PNGlib.

PNG files are designed to be patent-free, so no licenses or fees of any kind are required to use this library. The library itself is free as well, however for commercial use, please contact me first to ask permission (see the license in the documentation for more information). Usually this is no problem.

PNGlib demo application


Documentation is provided in the package in the form of an HTML help file:
PNGlib documentation


This is a small and fast PNG viewer that makes use of the PNGlib (see above). The zip file includes the binary only, source is available in the PNGlib package above.


  • View nearly all PNG formats currently available (upto version 1.0)
  • Open and view PNG files using the menu, drag and drop or a file association. The program has a multiple document interface (MDI) so multiple files can be opened at the same time.
  • 'Open in my favorite editor'-button, to open the current PNG in the editor of your choice.
  • An option to set PNGview as your default PNG viewer automatically.
  • Information (color depth, size, dimensions) about the PNGs are shown.

PNGview screenshot


Download PNGview: Download (14.5 KB)
Download PNGlib (self extracting archive): PNGlib.exe (211.4 KB)