OptiPNG: Advanced PNG Optimizer

OptiPNG is a PNG optimizer that recompresses image files to a smaller size, without losing any information. This program also converts external formats (BMP, GIF, PNM and TIFF) to optimized PNG, and performs PNG integrity checks and corrections.
If you wish to learn how PNG optimization is done, or to know about other similar tools, read the PNG-Tech article A guide to PNG optimization.

Download

Latest version: OptiPNG 0.6.3 (released on 18 May 2009).

Choose one of the following options:

Security information

Please be aware of the following issues concerning the former 0.6.x versions. Upgrading to the latest version is recommended, although security fixes tailored to these versions are also available.
  • All past OptiPNG versions, up to and including version 0.6.2, are known to be vulnerable to use-after-free attacks, due to a bug in the GIF image reader. (Many thanks to Roy Tam for the report, and to Bryan McQuade for the fix.)
  • OptiPNG versions 0.6 and 0.6.1 are known to be vulnerable to array-overflow attacks, due to a bug in the BMP image reader. (Many thanks to an anonymous user for the report.)
The OptiPNG versions older than 0.6 are no longer maintained.

Documentation

  • LICENSE
    OptiPNG is open-source software, released under the zlib/libpng license.
  • MANUAL
    The user manual (also available in PDF format).
  • HISTORY
    The program revision history.
  • CAVEAT
    We cannot, in good conscience, fail to inform the users about the known bugs, problems, or limitations. Caveat Emptor!
  • THANKS!
    The author is indebted to all the people who helped the OptiPNG development.

Support

Unwarranted support is available via the SourceForge Tracker or by email.
  • Submit a defect report if you found an error in the program.
  • Submit a feature request if you have an idea for the Roadmap section below.
  • Send email to ctruta (at) gmail (dot) com.

Related projects

In no particular order...
  • Page Speed
    • Evaluates the performance of web sites and makes suggestions for improvements.
    • Uses OptiPNG as part of the payload minimization process.
    • Author: Google Inc.
    • Download link: project homepage at Google Code.
  • OptiPNG Windows Shell Integration
    • Integrates OptiPNG into Windows Explorer's shell context menu.
    • Allows customization of optimization options in a user-friendly control panel applet.
    • Author: Dmitry Vlasko.
    • Download link: project homepage.
  • Paint.NET OptiPNG Plugin
    • Integrates OptiPNG into Paint.NET as a file type plugin.
    • Allows customization of optimization options in a user-friendly dialog window.
    • Author: [ I Like Pi ]
    • Download link: Paint.NET forum.
  • PNGpong
    • Integrates OptiPNG into the Mac OS X Dashboard.
    • Uses pngcrush and OptiPNG to strip the metadata and perform the optimization.
    • Author: Ryan Schenk.
    • Download link: Apple Dashboard Widgets downloads.
  • PNGCrusher
    • Is a simple Mac OS X frontend for OptiPNG.
    • Author: Aaron Madlon-Kay.
    • Download link: project homepage.
  • akJ OptipngWrapper
    • Integrates OptiPNG into Eclipse as an RCP (Rich Client Platform) application.
    • Author: [ Aki ]
    • Download link: project homepage.
    • More related utilities are available here (in Japanese).

Roadmap

After many years of staying at version numbers below 1.0, it is perhaps the time to outline what still needs to be done until the magic version number is reached.
  • Plans for version 0.7:
    • Metadata editing -- including the highly-anticipated metadata stripping capability :-)
  • Plans for version 0.8:
    • Additional trials that use the powerful 7zip deflation.
    • Faster filtering: cache the adaptive delta filters (-f5) when used more than once.
  • Other pre-1.0 plans:
    • Finalization of image reductions. (Only a few are left undone.)
    • Image expansions, like palette-to-RGB(A), or 1-,2-,4-to-8 bit expansion, where considered useful.
    • EXIF and XMP metadata import (e.g. from TIFF).
    • Read support from stdin; write support to stdout.
    • Even more file recovery features.
  • Post-1.0 plans (assuming that we will ever reach version 1.0...)
    • Additional adaptive filtering heuristics.
    • Text chunk optimization: smart selection between tEXt vs. iTXt, or between uncompressed vs. compressed iTXt.
    • Parallelization on multi-processor and multi-core machines.
    • Improved support for reading external image formats (e.g. compressed TIFF).
    • A shared library (e.g. optipng.dll), to facilitate the development of PNG-optimizing GUI applications and plugins.
The incredibly patient users have surely realized that development is going at a ridiculously slow pace. None of the above wish-list items are guaranteed to materialize, and there are no target dates.

This page was last updated on 9 Jun 2009 by Cosmin TruĊ£a
<< PNG-Tech

PNG Now! SourceForge.net