Image file format
An image file format is a file format for a digital image. There are many formats that can be used, such as JPEG, PNG, and GIF. Most formats up until 2022 were for storing 2D images, not 3D ones. The data stored in an image file format may be compressed or uncompressed. If the data is compressed, it may be done so using lossy compression or lossless compression. For graphic design applications, vector formats are often used. Some image file formats support transparency.
Raster formats are for 2D images. A 3D image can be represented within a 2D format, as in a stereogram or autostereogram, but this 3D image will not be a true light field, and thereby may cause the vergence-accommodation conflict.
Image files are composed of digital data in one of these formats so that the data can be displayed on a digital (computer) display or printed out using a printer. A common method for displaying digital image information has historically been rasterization.
Image file sizes
The size of raster image files is positively correlated with the number of pixels in the image and the color depth (bits per pixel). Images can be compressed in various ways, however. A compression algorithm stores either an exact representation or an approximation of the original image in a smaller number of bytes that can be expanded back to its uncompressed form with a corresponding decompression algorithm. Images with the same number of pixels and color depth can have very different compressed file size. Considering exactly the same compression, number of pixels, and color depth for two images, different graphical complexity of the original images may also result in very different file sizes after compression due to the nature of compression algorithms. With some compression formats, images that are less complex may result in smaller compressed file sizes. This characteristic sometimes results in a smaller file size for some lossless formats than lossy formats. For example, graphically simple images (i.e. images with large continuous regions like line art or animation sequences) may be losslessly compressed into a GIF or PNG format and result in a smaller file size than a lossy JPEG format.
For example, a 640 × 480 pixel image with 24-bit color would occupy almost a megabyte of space:
- 640 × 480 × 24 = 7,372,800 bits = 921,600 bytes = 900 KiB
With vector images, the file size increases only with the addition of more vectors.
Image file compression
There are two types of image file compression algorithms: lossless and lossy.
Lossless compression algorithms reduce file size while preserving a perfect copy of the original uncompressed image. Lossless compression generally, but not always, results in larger files than lossy compression. Lossless compression should be used to avoid accumulating stages of re-compression when editing images.
Lossy compression algorithms preserve a representation of the original uncompressed image that may appear to be a perfect copy, but is not a perfect copy. Often lossy compression is able to achieve smaller file sizes than lossless compression. Most lossy compression algorithms allow for variable compression that trades image quality for file size.
Major graphic file formats
Including proprietary types, there are hundreds of image file types. The PNG, JPEG, and GIF formats are most often used to display images on the Internet. Some of these graphic formats are listed and briefly described below, separated into the two main families of graphics: raster and vector. Raster images are further divided into formats primarily aimed at (web) delivery (i.e. supporting relatively strong compression) versus formats primarily aimed at authoring or interchange (uncompressed or only relatively weak compression).
In addition to straight image formats, Metafile formats are portable formats which can include both raster and vector information. Examples are application-independent formats such as WMF and EMF. The metafile format is an intermediate format. Most applications open metafiles and then save them in their own native format. Page description language refers to formats used to describe the layout of a printed page containing text, objects and images. Examples are PostScript, PDF and PCL.
Raster formats (2D)
JPEG (Joint Photographic Experts Group) is a lossy compression method; JPEG-compressed images are usually stored in the JFIF (JPEG File Interchange Format) or the Exif (Exchangeable image file format) file format. The JPEG filename extension is JPG or JPEG. Nearly every digital camera can save images in the JPEG format, which supports eight-bit grayscale images and 24-bit color images (eight bits each for red, green, and blue). JPEG applies lossy compression to images, which can result in a significant reduction of the file size. Applications can determine the degree of compression to apply, and the amount of compression affects the visual quality of the result. When not too great, the compression does not noticeably affect or detract from the image's quality, but JPEG files suffer generational degradation when repeatedly edited and saved. (JPEG also provides lossless image storage, but the lossless version is not widely supported.)
The GIF (Graphics Interchange Format) is in normal use limited to an 8-bit palette, or 256 colors (while 24-bit color depth is technically possible). GIF is most suitable for storing graphics with few colors, such as simple diagrams, shapes, logos, and cartoon style images, as it uses LZW lossless compression, which is more effective when large areas have a single color, and less effective for photographic or dithered images. Due to GIF's simplicity and age, it achieved almost universal software support. Due to its animation capabilities, it is still widely used to provide image animation effects, despite its low compression ratio compared to modern video formats.
The PNG (Portable Network Graphics) file format was created as a free, open-source alternative to GIF. The PNG file format supports 8-bit (256 colors) paletted images (with optional transparency for all palette colors) and 24-bit truecolor (16 million colors) or 48-bit truecolor with and without alpha channel – while GIF supports only 8-bit palettes with a single transparent color.
Compared to JPEG, PNG excels when the image has large, uniformly colored areas. Even for photographs – where JPEG is often the choice for final distribution since its lossy compression typically yields smaller file sizes – PNG is still well-suited to storing images during the editing process because of its lossless compression.
PNG provides a patent-free replacement for GIF (though GIF is itself now patent-free) and can also replace many common uses of TIFF. Indexed-color, grayscale, and truecolor images are supported, plus an optional alpha channel. The Adam7 interlacing allows an early preview, even when only a small percentage of the image data has been transmitted — useful in online viewing applications like web browsers. PNG can store gamma and chromaticity data, as well as ICC profiles, for accurate color matching on heterogeneous platforms.
Animated formats derived from PNG are MNG and APNG, which is backwards compatible with PNG and supported by most browsers.
JPEG 2000 is a compression standard enabling both lossless and lossy storage. The compression methods used are different from the ones in standard JFIF/JPEG; they improve quality and compression ratios, but also require more computational power to process. JPEG 2000 also adds features that are missing in JPEG. It is not nearly as common as JPEG, but it is used currently in professional movie editing and distribution (some digital cinemas, for example, use JPEG 2000 for individual movie frames).
WebP is an open image format released in 2010 that uses both lossless and lossy compression. It was designed by Google to reduce image file size to speed up web page loading: its principal purpose is to supersede JPEG as the primary format for photographs on the web. WebP is based on VP8's intra-frame coding and uses a container based on RIFF.
In 2011, Google added an "Extended File Format" allowing WebP support for animation, ICC profile, XMP and Exif metadata, and tiling.
The support for animation allowed for converting older animated GIF to animated WebP.
The WebP container (i.e., RIFF container for WebP) allows feature support over and above the basic use case of WebP (i.e., a file containing a single image encoded as a VP8 key frame). The WebP container provides additional support for:
- Lossless compression – An image can be losslessly compressed, using the WebP Lossless Format.
- Metadata – An image may have metadata stored in EXIF or XMP formats.
- Transparency – An image may have transparency, i.e., an alpha channel.
- Color Profile – An image may have an embedded ICC profile as described by the International Color Consortium.
- Animation – An image may have multiple frames with pauses between them, making it an animation.
HDR raster formats
Most typical raster formats cannot store HDR data (32 bit floating point values per pixel component), which is why some relatively old or complex formats are still predominant here, and worth mentioning separately. Newer alternatives are showing up, though. RGBE is the format for HDR images originating from Radiance and also supported by Adobe Photoshop. JPEG-HDR is a file format from Dolby Labs similar to RGBE encoding, standardized as JPEG XT Part 2.
JPEG XT Part 7 includes support for encoding floating point HDR images in the base 8-bit JPEG file using enhancement layers encoded with four profiles (A-D); Profile A is based on the RGBE format and Profile B on the XDepth format from Trellis Management.
The High Efficiency Image File Format (HEIF) is an image container format that was standardized by MPEG on the basis of the ISO base media file format. While HEIF can be used with any image compression format, the HEIF standard specifies the storage of HEVC intra-coded images and HEVC-coded image sequences taking advantage of inter-picture prediction.
AV1 Image File Format (AVIF) standardized by the video consortium Alliance for open media (AOMedia) creator of the video format Av1, to take advantage of modern compression algorithms and a completely royalty-free image format. It uses the image format with AVIF coding and recommends using the HEIF container, see AV1 in HEIF.
JPEG XL is a royalty-free raster-graphics file format that supports both lossy and lossless compression. It supports reversible recompression of existing JPEG files, as well as high-precision HDR (up to 32-bit floating point values per pixel component). It is designed to be usable for both delivery and authoring use cases.
Authoring / Interchange formats
The TIFF (Tagged Image File Format) format is a flexible format usually using either the TIFF or TIF filename extension. The tagged structure was designed to be easily extendible, and many vendors have introduced proprietary special-purpose tags – with the result that no one reader handles every flavor of TIFF file. TIFFs can be lossy or lossless, depending on the technique chosen for storing the pixel data. Some offer relatively good lossless compression for bi-level (black&white) images. Some digital cameras can save images in TIFF format, using the LZW compression algorithm for lossless storage. TIFF image format is not widely supported by web browsers. TIFF remains widely accepted as a photograph file standard in the printing business. TIFF can handle device-specific color spaces, such as the CMYK defined by a particular set of printing press inks. OCR (Optical Character Recognition) software packages commonly generate some form of TIFF image (often monochromatic) for scanned text pages.
The BMP file format (Windows bitmap) is a raster-based device-independent file type designed in the early days of computer graphics. It handles graphic files within the Microsoft Windows OS. Typically, BMP files are uncompressed, and therefore large and lossless; their advantage is their simple structure and wide acceptance in Windows programs.
PPM, PGM, PBM, and PNM
Netpbm format is a family including the portable pixmap file format (PPM), the portable graymap file format (PGM) and the portable bitmap file format (PBM). These are either pure ASCII files or raw binary files with an ASCII header that provide very basic functionality and serve as a lowest common denominator for converting pixmap, graymap, or bitmap files between different platforms. Several applications refer to them collectively as PNM ("Portable aNy Map").
Container formats of raster graphics editors
These image formats contain various images, layers and objects, out of which the final image is to be composed
- AFPhoto (Affinity Photo Document)
- CD5 (Chasys Draw Image)
- CLIP (Clip Studio Paint)
- CPT (Corel Photo Paint)
- KRA (Krita)
- MDP (Medibang and FireAlpaca)
- PDN (Paint Dot Net)
- PSD (Adobe PhotoShop Document)
- PSP (Corel Paint Shop Pro)
- SAI (Paint Tool SAI)
- XCF (eXperimental Computing Facility format) — native GIMP format
Other raster formats
- BPG (Better Portable Graphics) — an image format from 2014. Its purpose is to replace JPEG when quality or file size is an issue. To that end, it features a high data compression ratio, based on a subset of the HEVC video compression standard, including lossless compression. In addition, it supports various meta data (such as EXIF).
- DEEP — IFF-style format used by TVPaint
- DRW (Drawn File)
- ECW (Enhanced Compression Wavelet)
- FITS (Flexible Image Transport System)
- FLIF (Free Lossless Image Format) — a discontinued lossless image format which claims to outperform PNG, lossless WebP, lossless BPG and lossless JPEG 2000 in terms of compression ratio. It uses the MANIAC (Meta-Adaptive Near-zero Integer Arithmetic Coding) entropy encoding algorithm, a variant of the CABAC (context-adaptive binary arithmetic coding) entropy encoding algorithm.
- ICO — container for one or more icons (subsets of BMP and/or PNG)
- ILBM — IFF-style format for up to 32 bit in planar representation, plus optional 64 bit extensions
- IMG (ERDAS IMAGINE Image)
- IMG (Graphics Environment Manager (GEM) image file) — planar, run-length encoded
- JPEG XR — JPEG standard based on Microsoft HD Photo
- Layered Image File Format — for microscope image processing
- Nrrd (Nearly raw raster data)
- PAM (Portable Arbitrary Map) — late addition to the Netpbm family
- PCX (PiCture eXchange) — obsolete
- PGF (Progressive Graphics File)
- PLBM (Planar Bitmap) — proprietary Amiga format
- SGI (Silicon Graphics Image) — native raster graphics file format for Silicon Graphics workstations
- SID (multiresolution seamless image database, MrSID)
- Sun Raster — obsolete
- TGA (TARGA) — obsolete
- VICAR file format — NASA/JPL image transport format
- XISF (Extensible Image Serialization Format)
As opposed to the raster image formats above (where the data describes the characteristics of each individual pixel), vector image formats contain a geometric description which can be rendered smoothly at any desired display size.
At some point, all vector graphics must be rasterized in order to be displayed on digital monitors. Vector images may also be displayed with analog CRT technology such as that used in some electronic test equipment, medical monitors, radar displays, laser shows and early video games. Plotters are printers that use vector data rather than pixel data to draw graphics.
CGM (Computer Graphics Metafile) is a file format for 2D vector graphics, raster graphics, and text, and is defined by ISO/IEC 8632. All graphical elements can be specified in a textual source file that can be compiled into a binary file or one of two text representations. CGM provides a means of graphics data interchange for computer representation of 2D graphical information independent from any particular application, system, platform, or device. It has been adopted to some extent in the areas of technical illustration and professional design, but has largely been superseded by formats such as SVG and DXF.
Gerber format (RS-274X)
The Gerber format (aka Extended Gerber, RS-274X) is a 2D bi-level image description format developed by Ucamco. It is the de facto standard format for printed circuit board or PCB software.
SVG (Scalable Vector Graphics) is an open standard created and developed by the World Wide Web Consortium to address the need (and attempts of several corporations) for a versatile, scriptable and all-purpose vector format for the web and otherwise. The SVG format does not have a compression scheme of its own, but due to the textual nature of XML, an SVG graphic can be compressed using a program such as gzip. Because of its scripting potential, SVG is a key component in web applications: interactive web pages that look and act like applications.
Other 2D vector formats
- AFDesign (Affinity Designer document)
- AI (Adobe Illustrator Artwork) — proprietary file format developed by Adobe Systems
- CDR — proprietary format for CorelDRAW vector graphics editor
- !DRAW — a native vector graphic format (in several backward compatible versions) for the RISC-OS computer system begun by Acorn in the mid-1980s and still present on that platform today
- DrawingML — used in Office Open XML documents
- GEM — metafiles interpreted and written by the Graphics Environment Manager VDI subsystem
- GLE (Graphics Layout Engine) — graphics scripting language
- HP-GL (Hewlett-Packard Graphics Language) — introduced on Hewlett-Packard plotters, but generalized into a printer language
- HVIF (Haiku Vector Icon Format)
- Lottie — format for vector graphics animation
- MathML (Mathematical Markup Language) — an application of XML for describing mathematical notations
- NAPLPS (North American Presentation Layer Protocol Syntax)
- ODG (OpenDocument Graphics)
- PGML (Precision Graphics Markup Language) — a W3C submission that was not adopted as a recommendation
- PSTricks and PGF/TikZ are languages for creating graphics in TeX documents
- QCC — used by Quilt Manager (by Quilt EZ) for designing quilts
- ReGIS (Remote Graphic Instruction Set) — used by DEC computer terminals
- Remote imaging protocol — system for sending vector graphics over low-bandwidth links
- TinyVG — binary, simpler alternative to SVG
- VML (Vector Markup Language) — obsolete XML-based format
- Xar — format used in vector applications from Xara
- XPS (XML Paper Specification) — page description language and a fixed-document format
3D vector formats
This section may contain material unrelated or insufficiently related to the topic of the article; the off-topic material is the topic of another article, List_of_file_formats#Computer-aided_design. (May 2021)
- AMF – Additive Manufacturing File Format
- Asymptote – A language that lifts TeX to 3D.
- .blend – Blender
- .flt – OpenFlight
- FVRML – and FX3D, function-based extensions of VRML and X3D
- glTF - OpenGL Transfer Format
- IMML – Immersive Media Markup Language
- .MA (Maya ASCII format)
- .MB (Maya Binary format)
- .OBJ Wavefront
- OpenGEX – Open Game Engine Exchange
- POV-Ray scene description language
- STL – A stereolithography format
- U3D – Universal 3D file format
- VRML – Virtual Reality Modeling Language
- .3ds – Autodesk 3D Studio
- X3D – Vector format used in 3D applications from Xara
These are formats containing both pixel and vector data, possible other data, e.g. the interactive features of PDF.
- EPS (Encapsulated PostScript)
- PDF (Portable Document Format)
- PostScript, a page description language with strong graphics capabilities
- PICT (Classic Macintosh QuickDraw file)
- WMF / EMF (Windows Metafile / Enhanced Metafile)
- SWF (Shockwave Flash)
- XAML User interface language using vector graphics for images.
- MPO The Multi Picture Object (.mpo) format consists of multiple JPEG images (Camera & Imaging Products Association) (CIPA).
- PNS The PNG Stereo (.pns) format consists of a side-by-side image based on PNG (Portable Network Graphics).
- JPS The JPEG Stereo (.jps) format consists of a side-by-side image format based on JPEG.
- ^ Andreas Kleinert (2007). "GIF 24 Bit (truecolor) extensions". Archived from the original on 16 March 2012. Retrieved 23 March 2012.
- ^ Philip Howard. "True-Color GIF Example". Archived from the original on 22 February 2015. Retrieved 23 March 2012.
- ^ Arora, Vikas (3 October 2011). "WebP-Mux (RIFF based container) framework". Google Groups. Retrieved 18 November 2011.
- ^ "WebP Container Specification". Google Developers. Retrieved 4 April 2020. Text was copied from this source, which is available under a Creative Commons Attribution 4.0 International License.
- ^ "Gerber File Format Specification". Ucamco.
- ^ TinyVG