PNG transparency demonstration. 24bit PNG with 8bit alpha layer. |
Portable Network Graphics (PNG) is a raster graphics file format that supports lossless data compression. PNG was created as an improved, non-patented replacement for Graphics Interchange Format (GIF), and is the most used lossless image compression format on the Internet.
PNG supports palette-based images (with palettes of 24-bit RGB or 32-bit RGBA colors), grayscale images (with or without alpha channel), and full-color non-palette-based RGB[A] images (with or without alpha channel). PNG was designed for transferring images on the Internet, not for professional-quality print graphics, and therefore does not support non-RGB color spaces such as CMYK.
PNG files nearly always use file extension PNG
or png
and are assigned MIME media type image/png
. PNG was approved for this use by the Internet Engineering Steering Group on 14 October 1996, and was published as an ISO/IEC standard in 2004.
History and development
The motivation for creating the PNG format was in early 1995, after it became known that the Lempel–Ziv–Welch (LZW) data compression algorithm used in the Graphics Interchange Format (GIF) format was patented by Unisys. There were also other problems with the GIF format that made a replacement desirable, notably its limit of 256 colors at a time when computers able to display far more than 256 colors were growing common. Although GIF allows for animation, it was decided that PNG should be a single-image format. A companion format called Multiple-image Network Graphics (MNG) has been defined for animation, whereas a competing format, Animated Portable Network Graphics (APNG), supports backward-compatibility with PNG (which MNG does not).
A January 1995 precursory discussion thread, on the usenet newsgroup "comp.graphics" with the subject Thoughts on a GIF-replacement file format, had many propositions, which would later be part of the PNG file format. In this thread, Oliver Fromme, author of the popular DOS JPEG viewer QPEG, proposed the PING name, meaning PING is not GIF, and also the PNG extension.
- 1 October 1996: Version 1.0 of the PNG specification was released, and later appeared as RFC 2083. It became a W3C Recommendation on 1 October 1996.
- 31 December 1998: Version 1.1, with some small changes and the addition of three new chunks, was released.
- 11 August 1999: Version 1.2, adding one extra chunk, was released.
- 10 November 2003: PNG became an International Standard (ISO/IEC 15948:2003). This version of PNG differs only slightly from version 1.2 and adds no new chunks.
- 3 March 2004: ISO/IEC 15948:2004.