libpng is the official PNG reference library. It supports almost all PNG features, is extensible, and has been extensively tested for over 23 years. The home site for development versions (i.e., may be buggy or subject to change or include experimental features) is https://libpng.sourceforge.io/, and the place to go for questions about the library is the png-mng-implement mailing list.
libpng is available as ANSI C (C89) source code and requires zlib 1.0.4 or later (1.2.5 or later recommended for performance and security reasons). The current public release, libpng 1.6.36, fixes some build issues, adds a couple of small optimizations (ARM png_do_expand_palette(), Intel SSE2 memcpy()), and updates the license (identical terms to the zlib license, with the old license appended in the manner of the Python Software Foundation License version 2, and the list of contributing authors moved to a separate AUTHORS file).
* Copyright (c) 1995-2018 The PNG Reference Library Authors.
* Copyright (c) 2018 Cosmin Truta.
* Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson.
* Copyright (c) 1996-1997 Andreas Dilger.
* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
Download libpng 1.6.36 Windows archives here below.
Windows binary packages for libpng are available for Visual Studio 2013, 2015 and 2017 ABIs, 32bit and 64bit, for MinGW 5.3.0 32 bit and MinGW 7.3.0 64 bit.