PNG (Portable Network Graphics) Specification
W3C Recommendation 01-October-1996
Table of contents
The PNG format provides a portable, legally
unencumbered, well-compressed, well-specified standard for
lossless bitmapped image files.
Although the initial motivation for developing PNG was to replace GIF,
the design provides some useful new features not available in
GIF, with minimal cost to developers.
GIF features retained in PNG include:
Important new features of PNG, not available in GIF, include:
- Indexed-color images of up to 256 colors.
- Streamability: files can be read and written
serially, thus allowing the file format to be used as a communications
protocol for on-the-fly generation and display of images.
- Progressive display: a suitably prepared image file can be
displayed as it is received over a communications link,
yielding a low-resolution image very quickly
followed by gradual improvement of detail.
- Transparency: portions of the image can be marked as transparent,
creating the effect of a non-rectangular image.
- Ancillary information: textual comments and other data can be
stored within the image file.
- Complete hardware and platform independence.
- Effective, 100% lossless compression.
PNG is designed to be:
- Truecolor images of up to 48 bits per pixel.
- Grayscale images of up to 16 bits per pixel.
- Full alpha channel (general transparency masks).
Image gamma information, which supports automatic display of images
with correct brightness/contrast regardless of the machines used to
originate and display the image.
- Reliable, straightforward detection of file corruption.
- Faster initial presentation in progressive display mode.
- Simple and portable: developers should be able to implement PNG
- Legally unencumbered: to the best knowledge of the PNG
authors, no algorithms under legal challenge are used. (Some
considerable effort has been spent to verify this.)
- Well compressed: both indexed-color and truecolor images are
compressed as effectively as in any other widely used lossless format,
and in most cases more effectively.
- Interchangeable: any standard-conforming PNG decoder must read
all conforming PNG files.
- Flexible: the format allows for future extensions and
private add-ons, without compromising interchangeability of basic PNG.
- Robust: the design supports full file integrity checking as well
as simple, quick detection of common transmission errors.
The main part of this specification gives the definition of the file
format and recommendations for encoder and decoder behavior. An
appendix gives the rationale for many design decisions. Although the
rationale is not part of the formal specification, reading it can help
implementors understand the design. Cross-references in the main text
point to relevant parts of the rationale. Additional appendixes, also
not part of the formal specification, provide tutorials on gamma and
color theory as well as other supporting material.
In this specification, the word "must" indicates a mandatory requirement,
while "should" indicates recommended behavior.
Why a new file format?,
Why these features?,
Why not these features?,
Why not use format X?.
PNG is pronounced "ping".
Table of contents