Tag Image File Format or Tagged Image File Format, commonly known by the abbreviations TIFF or TIF, is an image file format for storing raster graphics images, popular among graphic artists, the publishing industry, and photographers.

TIFF is widely supported by scanning, faxing, word processing, optical character recognition, image manipulation, desktop publishing, and page-layout applications.

The format was created by Stephen Carlsen, an engineer at Aldus Corporation, for use in desktop publishing. It published the latest version 6.0 in 1992, subsequently updated with an Adobe Systems copyright after the latter acquired Aldus in 1994. Several Aldus or Adobe technical notes have been published with minor extensions to the format, and several specifications have been based on TIFF 6.0, including TIFF/EP (ISO 12234-2), TIFF/IT (ISO 12639), TIFF-F (RFC 2306) and TIFF-FX (RFC 3949).

History

TIFF was created as an attempt to get desktop scanner vendors of the mid-1980s to agree on a common scanned image file format, in place of a multitude of proprietary formats. Carlsen's three objectives were:

  1. Implement import and printing of "basic" bitmapped images, like MacPaint files.
  2. Implement import and printing of higher-resolution images, coming from scanners.
  3. Define and promote an industry standard for storing and processing scanned images, so that Aldus would not have to write import filters for every model of every scanner entering the budding desktop scanner market.

In the beginning, TIFF was only a binary image format (only two possible values for each pixel), because that was all that desktop scanners could handle. As scanners became more powerful, and as desktop computer disk space became more plentiful, TIFF grew to accommodate grayscale images, then color images. Today, TIFF, along with JPEG and PNG, is a popular format for deep-color images.

The first version of the TIFF specification was published by the Aldus Corporation in the autumn of 1986 after two major earlier draft releases. It can be labeled as Revision 3.0. It was published after a series of meetings with various scanner manufacturers and software developers. In April 1987 Revision 4.0 was released and it contained mostly minor enhancements. In October 1988 Revision 5.0 was released and it added support for palette color images and LZW compression.

TIFF is a complex format, defining many tags of which typically only a few are used in each file. This led to implementations supporting many varying subsets of the format, a situation that gave rise to the joke that TIFF stands for Thousands of Incompatible File Formats.

This problem was addressed in revision 6.0 respectively.

Overview

A TIFF file contains one or several images, termed subfiles in the specification. The basic use case for having multiple subfiles is to encode a multipage telefax in a single file, but it is also allowed to have different subfiles be different variants of the same image, for example scanned at different resolutions. Rather than being a continuous range of bytes in the file, each subfile is a data structure whose top-level entity is called an image file directory (IFD). Baseline TIFF readers are only required to make use of the first subfile, but each IFD has a field for linking to a next IFD.

The IFDs are where the tags for which TIFF is named are located. Each IFD contains one or several entries, each of which is identified by its tag. The tags are arbitrary 16-bit numbers; their symbolic names such as ImageWidth often used in discussions of TIFF data do not appear explicitly in the file itself. Each IFD entry has an associated value, which may be decoded based on general rules of the format, but it depends on the tag what that value then means. There may within a single IFD be no more than one entry with any particular tag. Some tags are for linking to the actual image data, other tags specify how the image data should be interpreted, and still other tags are used for image metadata.

TIFF images are made up of rectangular grids of pixels.

The two axes of this geometry are termed horizontal (or X, or width) and vertical (or Y, or length). Horizontal and vertical resolution need not be equal (since in a telefax they typically would not be equal).

A baseline TIFF image divides the vertical range of the image into one or several strips, which are encoded (in particular: compressed) separately. Historically this served to facilitate TIFF readers (such as fax machines) with limited capacity to store uncompressed data — one strip would be decoded and then immediately printed — but the present specification motivates it by "increased editing flexibility and efficient I/O buffering". The Fax standard in RFC 3949 is based on these TIFF specifications.

TIFF files that strictly use the basic "tag sets" as defined in TIFF 6.0 along with restricting the compression technology to the methods identified in TIFF 6.0 and are adequately tested and verified by multiple sources for all documents being created can be used for storing documents. Commonly seen issues encountered in the content and document management industry associated with the use of TIFF files arise when the structures contain proprietary headers, are not properly documented, or contain "wrappers" or other containers around the TIFF datasets, or include improper compression technologies, or those compression technologies are not properly implemented.

Variants of TIFF can be used within document imaging and content/document management systems using CCITT Group IV 2D compression which supports black-and-white (bitonal, monochrome) images, among other compression technologies that support color. When storage capacity and network bandwidth was a greater issue than commonly seen in today's server environments, high-volume storage scanning, documents were scanned in black and white (not in color or in grayscale) to conserve storage capacity.

The inclusion of the SampleFormat tag in TIFF 6.0 allows TIFF files to handle advanced pixel data types, including integer images with more than 8 bits per channel and floating point images. This tag made TIFF 6.0 a viable format for scientific image processing where extended precision is required. An example would be the use of TIFF to store images acquired using scientific CCD cameras that provide up to 16 bits per photosite of intensity resolution. Storing a sequence of images in a single TIFF file is also possible, and is allowed under TIFF 6.0, provided the rules for multi-page images are followed.

Details

TIFF is a flexible, adaptable file format for handling images and data within a single file, by including the header tags (size, definition, image-data arrangement, applied image compression) defining the image's geometry. A TIFF file, for example, can be a container holding JPEG (lossy) and PackBits (lossless) compressed images. A TIFF file also can include a vector-based clipping path (outlines, croppings, image frames). The ability to store image data in a lossless format makes a TIFF file a useful image archive, because, unlike standard JPEG files, a TIFF file using lossless compression (or none) may be edited and re-saved without losing image quality. This is not the case when using the TIFF as a container holding compressed JPEG. Other TIFF options are layers and pages.

TIFF offers the option of using LZW compression, a lossless data-compression technique for reducing a file's size. Use of this option was limited by patents on the LZW technique until their expiration in 2004.

The TIFF 6.0 specification consists of the following parts: or "MM" for big-endian (a.k.a. "Motorola byte ordering", )

All two-byte words, double words, etc., in the TIFF file are assumed to be in the indicated byte order. The TIFF 6.0 specification states that compliant TIFF readers must support both byte orders ("II" and "MM"); writers may use either.

Other TIFF fields

TIFF readers must be prepared to encounter and ignore private fields not described in the TIFF specification. TIFF readers must not refuse to read a TIFF file if optional fields do not exist. As a consequence, Baseline TIFF features became the lowest common denominator for TIFF. Baseline TIFF features are extended in TIFF Extensions (defined in the TIFF 6.0 Part 2 specification) but extensions can also be defined in private tags.

The TIFF Extensions are formally known as TIFF 6.0, Part 2: TIFF Extensions. Here are some examples of TIFF extensions defined in TIFF 6.0 specification: This allows the images to be defined along a tree structure. Each image can have a sequence of children, each child being itself an image. The typical usage is to provide thumbnails or several versions of an image in different color spaces.

Tiles

A TIFF image may also be composed of a number of tiles. All tiles in the same image have the same dimensions and may be compressed independently of the entire image, similar to strips (see above). Tiled images are part of TIFF 6.0, Part 2: TIFF Extensions, so the support for tiled images is not required in Baseline TIFF readers.

Other extensions

According to TIFF 6.0 specification (Introduction), all TIFF files using proposed TIFF extensions that are not approved by Adobe as part of Baseline TIFF (typically for specialized uses of TIFF that do not fall within the domain of publishing or general graphics or picture interchange) should be either not called TIFF files or should be marked some way so that they will not be confused with mainstream TIFF files.

Private tags

Developers can apply for a block of "private tags" to enable them to include their own proprietary information inside a TIFF file without causing problems for file interchange. TIFF readers are required to ignore tags that they do not recognize, and a registered developer's private tags are guaranteed not to clash with anyone else's tags or with the standard set of tags defined in the specification. Private tags are numbered in the range 32,768 and higher.

Private tags are reserved for information meaningful only for some organization, or for experiments with a new compression scheme within TIFF. Upon request, the TIFF administrator (currently Adobe) will allocate and register one or more private tags for an organization, to avoid possible conflicts with other organizations. Organizations and developers are discouraged from choosing their own tag numbers arbitrarily, because doing so could cause serious compatibility problems. However, if there is little or no chance that TIFF files will escape a private environment, organizations and developers are encouraged to consider using TIFF tags in the "reusable" 65,000–65,535 range. There is no need to contact Adobe when using numbers in this range.

|-

! Tag value

! Compression scheme

! Lossy/<wbr>lossless

! Specification

! Description

! Image types

! Usage and support

|-

| 0001<sub>16</sub> || None || Lossless || TIFF 6.0 || Baseline TIFF || All ||

|-

| 0002<sub>16</sub> || CCITT Group 3 1-Dimensional Modified Huffman run-length encoding (a.k.a. MH or CCITT 1D) || Lossless || TIFF 6.0 || Baseline TIFF; compression based on ITU-T T.4 || Black and white ||

|-

| 0003<sub>16</sub> || CCITT T.4 bi-level encoding as specified in section 4, Coding, of [//www.itu.int/rec/T-REC-T.4/en ITU-T Recommendation T.4] (a.k.a. CCITT Group 3 fax encoding or CCITT Group 3 2D) || Lossless || TIFF 6.0 || TIFF 6.0 Extensions; compression based on ITU-T T.4 || Black and white ||

|-

| 0004<sub>16</sub> || CCITT T.6 bi-level encoding as specified in section 2 of [//www.itu.int/rec/T-REC-T.6/en ITU-T Recommendation T.6] (a.k.a. CCITT Group 4 fax encoding) || Lossless || TIFF 6.0 || TIFF 6.0 extensions; compression based on ITU-T T.6 || Black and white ||

|-

| 0005<sub>16</sub> || Lempel–Ziv–Welch || Lossless || TIFF 6.0 || TIFF 6.0 Extensions; first defined in TIFF 5 (1988); a patented compression algorithm, but the patents expired in 2003 and 2004 || All ||

|-

| 0006<sub>16</sub> || JPEG (obsolete 'old-style' JPEG, later superseded in Technote2) || Lossy || TIFF 6.0 || TIFF 6.0 Extensions; first defined in TIFF 6 (1992); obsolete, should never be written. || Continuous-tone ||

|-

| 0007<sub>16</sub> || JPEG ('new-style' JPEG) || Lossy || TIFF 6 Technote2 (1995) || supersedes old-style JPEG compression; it is a TIFF 6.0 extension. || Continuous-tone ||

|-

| 0008<sub>16</sub> || Deflate (zlib), Adobe variant (official) || Lossless || TIFF Specification Supplement 2 (2002) || RFC 1950 (1996), RFC 1951 (1996), Adobe Photoshop TIFF Technical Notes; it is a TIFF 6.0 extension. || All ||

|-

| 0009<sub>16</sub> || JBIG, per [//www.itu.int/rec/T-REC-T.85/en ITU-T T.85] || Lossless || TIFF-FX || RFC 2301 (1998), RFC 3949 (2005) || Black and white ||

|-

| 000A<sub>16</sub> || JBIG, per [//www.itu.int/rec/T-REC-T.43/en ITU-T T.43] || Lossless || TIFF-FX || RFC 2301 (1998), RFC 3949 (2005) || Black and white ||

|-

| 7FFE<sub>16</sub> || NeXT RLE 2-bit greyscale encoding || || Proprietary || || ||

|-

| 8005<sub>16</sub> || PackBits (a.k.a. Macintosh RLE) || Lossless || TIFF 6.0 || Baseline TIFF || All || || ||

|-

| 8799<sub>16</sub> || Nikon NEF Compressed || || Proprietary || || ||

|-

| 879B<sub>16</sub> || JBIG2 || Lossless, lossy || TIFF-FX Extension Set 1.0 || Abandoned IETF draft from 2001 || ||

|-

| 8847<sub>16</sub> || LERC || Lossy || ESRI LERC || || ||

|-

| 884C<sub>16</sub> || Lossy non-YCbCr JPEG || Lossy || DNG 1.4.0.0 || Used for DNG semantic masks The BigTIFF file format specification was implemented in 2007 in development releases of LibTIFF version 4.0, which was finally released as stable in December 2011. Support for BigTIFF file formats by applications is limited. The file name extension is often tif, but may be tiff, gtiff, btf or tf8. builds upon TIFF. For uncompressed image data, an Exif file is straight off a TIFF file with some private tags. For JPEG compressed image data, Exif uses the JPEG File Interchange Format but embeds a TIFF file in the APP1 segment of the file. The first IFD (termed 0th in the Exif specification) of that embedded TIFF does not contain image data, and only houses metadata for the primary image. There may however be a thumbnail image in that embedded TIFF, which is provided by the second IFD (termed 1st in the Exif specification). The Exif audio file format does not build upon TIFF.

Exif defines a large number of private tags for image metadata, particularly camera settings and geopositioning data, but most of those do not appear in the ordinary TIFF IFDs. Instead these reside in separate IFDs which are pointed at by private tags in the main IFD.

TIFF/IT

<!-- Section header linked to from redirects -->

TIFF/IT is used to send data for print-ready pages that have been designed on high-end prepress systems. The TIFF/IT specification (ISO 12639) describes a multiple-file format, which can describe a single page per file set. TIFF/IT files are not interchangeable with common TIFF files.

The goals in developing TIFF/IT were to carry forward the original IT8 magnetic-tape formats into a medium-independent version. TIFF/IT is based on Adobe TIFF 6.0 specification and both extends TIFF 6, by adding additional tags, and restricts, it by limiting some tags and the values within tags. Not all valid TIFF/IT images are valid TIFF 6.0 images. TIFF/IT-P1 file sets usually consist of the following files:

  • Final Page (FP)
  • Continuous Tone image (CT)
  • Line Work image (LW)
  • High resolution Continuous-tone files (HC - optional)

TIFF/IT also defines the following files:

The primary color space for this standard is CMYK, but also other color spaces and the use of ICC Profiles are supported. When people talk about TIFF/IT, they usually mean the P1 standard. It provides a clean interface for the proprietary CEPS formats such as the Scitex CT/LW format.

TIFF/IT P2

<!-- Section header linked to from redirects -->

Because TIFF/IT P1 had a number of limitations, an extended format was developed. The ISO 12639:2004 introduced a new extended conformance level - TIFF/IT-P2 (Profile 2). TIFF/IT-P2 added a number of functions to TIFF/IT-P1 like:

Private tags in the TIFF/IT-P1 specification were originally intended to provide developers with ways to add specific functionality for specific applications. Private tags can be used by developers (e.g., Scitex) to preserve specific printing values or other functionality. Private tags are typically labelled with tag numbers greater than or equal to 32768.

All private tags must be requested from Adobe (the TIFF administrator) and registered.

In 1992, the DDAP (Digital Distribution of Advertising for Publication, later Digital Directions in Applications for Production) developed their requirement statement for digital ad delivery. This was presented to ANSI-accredited CGATS (Committee for Graphic Arts Technology Standards) for development of an accredited file format standard for the delivery of digital ads. CGATS reviewed their alternatives for this purpose and TIFF seemed like the ideal candidate, except for the fact that it could not handle certain required functionalities. CGATS asked Aldus (the TIFF administrator) for a block of their own TIFF private tags in order to implement what eventually became TIFF/IT. For example, the ability to identify the sequence of the colors is handled by tag 34017 - the Color Sequence Tag.

The ISO 12639:2004 (Second edition) standard for TIFF/IT superseded the ISO 12639:1998. It was also later extended in ISO 12639:2004 / Amd. 1:2007 - Use of JBIG2-Amd2 compression in TIFF/IT.

See also

  • Comparison of graphics file formats
  • LibTIFF, widely used open source library + utilities for reading/writing/manipulating TIFF files
  • DNG
  • GeoTIFF
  • Image file formats
  • STDU Viewer
  • Windows Photo Viewer
  • T.37 (ITU-T recommendation)

References

  • Adobe TIFF Resources page: Adobe links to the specification and main TIFF resources
  • LibTIFF Home Page: Widely used library used for reading and writing TIFF files as well as TIFF file processing command line tools
  • TIFF File Format FAQ and TIFF Tag Reference : Everything you always wanted to know about the TIFF File Format but were afraid to ask
  • TIFF description at Digital Preservation (The Library of Congress)
  • TIFF Revision 4.0: Specification for revision 4.0, in HTML (warning: for historical purposes only, the TIFF 6.0 spec contains the full 4.0 revision)
  • TIFF Revision 5.0: Specification for revision 5.0, in HTML (warning: for historical purposes only, the TIFF 6.0 spec contains the full 5.0 revision)
  • TIFF Revision 6.0: Specification for revision 6.0, in PDF (warning: there is an outdated and flawed section (jpeg compression), corrected in supplements, and there are additions to this PDF too – for the full specification, see the Adobe TIFF Resources page
  • - image/tiff, and - image/tiff-fx, - Tag Image File Format (TIFF) - F Profile for Facsimile, - legacy exchange of images in the Internet.
  • Code Tiff Tag Reader - Easy readable code of a TIFF tag reader in Mathworks Matlab (Tiff 5.0/6.0)
  • AlternaTIFF - Free in-browser TIFF viewer
  • eiStream Annotation (also known as Wang or Kodak Annotation). Developed by eiStream.
  • ADEO Imaging Annotation