The Portable Network Graphics (PNG) Specification Second Edition has been published as a W3C Recommendation and as an International Standard, ISO/IEC 15948:2003. PNG is an "extensible file format for the lossless, portable, well-compressed storage of raster images. PNG provides a patent-free replacement for GIF and can also replace many common uses of TIFF. Indexed-color, grayscale, and truecolor images are supported, plus an optional alpha channel. Sample depths range from 1 to 16 bits. The specification also defines an Internet Media Type image/png. PNG is designed to work well in online viewing applications, such as the World Wide Web, so it is fully streamable with a progressive display option. PNG is robust, providing both full file integrity checking and simple detection of common transmission errors. Also, PNG can store gamma and chromaticity data for improved color matching on heterogeneous platforms. The PNG specification enjoys a good level of implementation with good interoperability. At the time of this publication more than 180 image viewers could display PNG images and over 100 image editors could read and write valid PNG files. Full support of PNG is required for conforming SVG viewers; at the time of publication all eighteen SVG viewers had PNG support. HTML has no required image formats, but over 60 HTML browsers had at least basic support of PNG images." The W3C PNG Recommendation has been produced as part of the W3C Graphics Activity. Related standards include the WebCGM Profile and Scalable Vector Graphics (SVG), a modularized language for describing two-dimensional vector and mixed vector/raster graphics in XML.
Portable Network Graphics (PNG) Specification (Second Edition). Second Edition edited by David Duce (Oxford Brookes University). ISO Reference: Information Technology -- Computer Graphics and Image Processing -- Portable Network Graphics (PNG): Functional Specification. ISO/IEC 15948:2003 (E). W3C Reference: W3C Recommendation 10-November-2003. Version URL: http://www.w3.org/TR/2003/REC-PNG-20031110. Latest version URL: http://www.w3.org/TR/PNG. Previous version URL: http://www.w3.org/TR/2003/PR-PNG-20030520.
Published previously: Portable Network Graphics (PNG) Specification (Second Edition). W3C Proposed Recommendation 1-October-1996, Revised 20-May-2003. ISO Reference: Information Technology -- Computer Graphics and Image Processing -- Portable Network Graphics (PNG): Functional Specification. ISO/IEC 15948:2002 (E).
The 14-October-2003 W3C Recommendation of the PNG specification, second edition is identical in content [to International Standard, ISO/IEC 15948:2003] except for cover page and boilerplate differences as appropriate to the two organisations.
Design goals for this International Standard were:
- Portability: encoding, decoding, and transmission should be software and hardware platform independent.
- Completeness: it should be possible to represent truecolour, indexed-colour, and greyscale images, in each case with the option of transparency, colour space information, and ancillary information such as textual comments.
- Serial encode and decode: it should be possible for datastreams to be generated serially and read serially, allowing the datastream format to be used for on-the-fly generation and display of images across a serial communication channel.
- Progressive presentation: it should be possible to transmit datastreams so that an approximation of the whole image can be presented initially, and progressively enhanced as the datastream is received.
- Robustness to transmission errors: it should be possible to detect datastream transmission errors reliably.
- Losslessness: filtering and compression should preserve all information.
- Performance: any filtering, compression, and progressive image presentation should be aimed at efficient decoding and presentation. Fast encoding is a less important goal than fast decoding. Decoding speed may be achieved at the expense of encoding speed.
- Compression: images should be compressed effectively, consistent with the other design goals.
- Simplicity: developers should be able to implement the standard easily.
- Interchangeability: any standard-conforming PNG decoder shall be capable of reading all conforming PNG datastreams.
- Flexibility: future extensions and private additions should be allowed for without compromising the interchangeability of standard PNG datastreams.
- Freedom from legal restrictions: no algorithms should be used that are not freely available.
This International Standard specifies the PNG datastream, and places some requirements on PNG encoders, which generate PNG datastreams, PNG decoders, which interpret PNG datastreams, and PNG editors, which transform one PNG datastream into another. It does not specify the interface between an application and either a PNG encoder, decoder, or editor. The precise form in which an image is presented to an encoder or delivered by a decoder is not specified.
The International Standard (ISO/IEC) "is strongly based on W3C Recommendation PNG Specification Version 1.0 which was reviewed by W3C members, approved as a W3C Recommendation, and published in October 1996 according to the established W3C process. Subsequent amendments to the PNG Specification have also been incorporated into the International Standard... A complete review of the document has been done by ISO/IEC/JTC 1/SC 24 in collaboration with W3C in order to transform this recommendation into an ISO/IEC international standard. A major design goal during this review was to avoid changes that will invalidate existing files, editors, or viewers that conform to W3C Recommendation PNG Specification Version 1.0..." [excerpted from the REC version]
About Portable Network Graphics (PNG)
"The initial motivation for developing PNG graphics was to replace GIF with something better. The design of PNG goes further and adds many new features. PNG is a lossless format, which means that when the image is decompressed, the exact original pixel values are preserved. PNG graphics also support true color in addition to indexed color, whereas only the latter is supported by GIF (so GIF is lossy for truecolor images). In true color, RGB (and optionally, alpha) values for each pixel are specified directly, while indexed color represents each pixel as an entry in a palette. At a cost of relatively little extra memory, true color gives greatly enhanced graphical quality and dispenses with all the bother of dealing with palettes and is also invaluable when you have variable translucency. PNG, since it is now mature and very widely implemented, has gone through the process of ISO standardization and has become a W3C Recommendation. By arrangement between W3C and ISO, the entire text of the ISO PNG specification is freely available on the W3C Web site..." [adapted from the W3C Graphics Activity Statement]
- Portable Network Graphics (PNG) Specification, Second Edition. W3C Recommendation. 10-November-2003.
- Portable Network Graphics (PNG) Specification, Second Edition. W3C Proposed Recommendation. 20-May-2003.
- Portable Network Graphics Patent Disclosures. "As of today [last updated: 2003/05/12], the International Standards Organisation (ISO), the PNG Development Group and the W3C are not aware of any royalty-bearing patents that are essential to implement the Portable Network Graphics specification."
- Test your browser for SVG support
- "PNG Second Edition Is a W3C Recommendation". W3C news item
- PNG reference web site. Maintained by Greg Roelofs.
- The Story of PNG. By Greg Roelofs. 25-February-1999.
- Mail Archives for W3C list 'email@example.com'
- Errata for PNG (REC)
- W3C Graphics Activity Statement
- W3C and Graphics on the Web
- W3C Portable Network Graphics (PNG) web site