TweakPNG is a low-level utility for examining and modifying PNG image files.
It supports Windows XP and higher.
In order to make much use of it, you will have to be at least somewhat
the internal format of PNG files. For information about PNG, see the
PNG home page.
A screenshot of TweakPNG:
To download TweakPNG, save the following link:
tweakpng-1.4.6.zip (about 500K)
You can also view the README file.
Development is hosted at
To install it, extract the files in the ZIP file to a location of your
choice (e.g. C:\Program Files\).
To run it, open either x86\tweakpng.exe, or,
if you’re using an x64 64-bit edition of Windows,
TweakPNG is free software, distributed under the terms of the
GNU General Public License (GPL) version 3.
The C++ source code for TweakPNG is included the zip file.
v1.4.6 (7 Sep 2014) (download):
- Maintenance release.
- "Copy image to clipboard" feature.
- Made "Correct for nonsquare pixels" optional.
v1.4.5 (26 Dec 2012) (download):
- Fixes and improvements related to compressed text.
- Changed the viewer’s background color options.
v1.4.4 (24 Aug 2012) (download):
- Improved support for ICC profiles.
- Improved viewer’s image quality for images with partial transparency.
v1.4.3 (6 Mar 2012) (download):
v1.4.2 (9 Aug 2011) (download):
- Rewrote the viewer’s PNG decoder. Slightly more accurate
- Updated to libpng 1.5.4.
v1.4.1 (9 Jan 2011) (download):
- Support for 64-bit builds.
- Support for sCAL chunks.
- Allow drag/drop onto viewer window.
- Minor changes to shortcut keys, icons, etc.
- Updated to libpng 1.5.0.
v1.4.0 (5 Jun 2010) (download):
- Full support for oFFs, acTL, fcTL chunks.
- Support for filters (tools that modify the PNG file).
- Added "Close" and "Reopen" menu items.
- Changed the ZIP file structure slightly; now includes a directory name.
- Updated to libpng 1.4.2 and zlib 1.2.5.
v1.3.2 (22 Aug 2009) (download):
- Fixed bugs when restoring the position of auxiliary windows.
- Fixed the context menu position when using multiple monitors.
- Updated to libpng 1.2.39.
v1.3.1 (7 Dec 2008) (download):
- Full support for sTER chunks.
- Read-only support for APNG chunks.
- Less likely to crash if you attempt to edit an incorrectly-sized chunk.
- Updated to libpng 1.2.33.
v1.3.0 (16 Nov 2008) (download):
- Support for iTXt chunks.
- Updated the binary to use the latest versions of zlib and libpng.
- The binary is now a Unicode application.
- For now at least, the package that I’m distributing does not include a
binary that runs on Windows 95/98/ME. The only reason for this is that the
compiler I used is not capable of creating such binaries.
- Modified the source code to conditionally support Unicode.
- Modified the source code to use "strsafe" string functions.
- Lots of other cleanup of the source code.
- Fixed a couple of small bugs. But more than likely introduced more new
bugs than were fixed, due to the aforementioned source code changes.
- Changed license from GPLv2 to GPLv3.
v1.2.1 (11 Dec 2004) (download):
- Updated the binary to use the latest versions of zlib (1.2.2)
and libpng (1.2.8).
- Two or three very small improvements and fixes.
v1.2.0 (29 Dec 2003):
- Added an image viewer (Tools->Show Image Viewer). This makes
use of another project of mine, PNGDIB.
- Palette editor now used for selecting grayscale background
and transparent colors.
- A few other minor changes.
v1.1.2 (24 Nov 2003):
- Option to add TweakPNG to Windows Explorer context menus.
- Warns when you try to exit without saving changes.
- Compiles cleanly in MSVC6.
v1.1.1 (3 Jan 2001):
- Fixed problem with writing wrong CRC after editing IHDR chunk.
v1.1.0 (28 Dec 2000):
- Palette editing, including bKGD and tRNS chunks
for paletted images.
- Persistent window sizes and column widths, and
persistent position of text chunk editor and palette editor.
- Rearranged some menus
- Edit IHDR chunk (not much reason to do this though...)
- Context menu
- "Combine all IDAT" function
- Fixed some bugs here and there...
v1.0.1 (27 Dec 1999):
- A few minor bugfixes;
more graceful handling of most
invalid files; automatic validation on Save; uses standard color picker
when appropriate (but usually it’s not)
v1.0.0 (3 Dec 1999):
TweakPNG was written by Jason Summers. You may send
comments and questions about TweakPNG to