PNG Documentation
Portable Network Graphics (PNG) Specification and Extensions
The original specification for PNG, version 1.0, was written by Thomas Boutell and Tom Lane, with contributions by many others. On 1 October 1996 it was released by the W3C as its first Recommendation, and on 15 January 1997 it was released by the IETF as RFC 2083.
Version 1.1 of the spec included a number of additions and significant technical clarifications:
- redefined gAMA to be in terms of the desired display output rather than the original scene, and revised all discussions of gamma and references to gamma accordingly
- added the iCCP, sPLT, and sRGB chunks
- extended the scope of the 31-bit limit on chunk lengths and image dimensions to apply to all four-byte unsigned integers, and disallowed the value -231 (-2^31) in four-byte signed integers
- mentioned the possibility of dithering the alpha channel when converting it to binary transparency
- clarified that zlib window sizes smaller than 32K are valid
- updated the PNG web site URL and authors' email addresses
- performed non-technical editing and reformatting
(A complete list of the technical changes, in plain ASCII format, is also available.) The new sections were largely written by Adam Costello and Glenn Randers-Pehrson, and version 1.1 was released by the PNG Development Group on 31 December 1998.
On 9 February 1999 the iTXt chunk was approved for inclusion in the core specification. It was the sole technical change in version 1.2 of the spec, which was edited by Glenn Randers-Pehrson and released by the PNG Development Group on 11 August 1999.
Most recently, a reformatted version with new figures and some small technical clarifications finally completed both the ISO/IEC standardization process and a second round of the W3C Recommendation process, some six or seven years(!) after it began the ISO process. On 10 November 2003 and 3 March 2004, it was "jointly" released as the W3C's PNG (Second Edition) Recommendation and as ISO/IEC 15948:2004, respectively. David A. Duce was the principal editor, with significant contributions from Adam Costello and figures by Chris Lilley.
Finally, in order to accommodate official, public extensions to the PNG spec (both chunks and text keywords), a separate extensions document is available. As an aid to keeping track of such extensions, a register of PNG chunks and keywords is available in the same location. It lists all public chunks and keywords, together with their dates of registration and the places where they are specified (either in the core spec or in the extensions document).
All of the documents described above are available in multiple formats from their respective pages, summarized here in (mostly) chronological order:
- PNG Specification, version 1.0
- PNG Specification, version 1.1
- PNG Specification, version 1.2 (includes Gamma and Color tutorials)
- PNG Specification, joint W3C and ISO/IEC version
- PNG Extensions and Register
All PNG 1.x versions, including the joint ISO/IEC International Standard and W3C "Second Edition," are backward and forward compatible. There are currently no plans for a "PNG 2.0" spec.
Here are some related PNG pages at this site:
Last modified 29 September 2011.
Copyright © 1996-2004,2011 Greg Roelofs.