TIFF
TIFF, formerly known as Tag(ged) Image File Format, is an image format capable of storing multiple high quality images in a single file.
Contents |
Discussion
A TIFF image may be uncompressed or use a compression scheme internally. Two of the most widely used compression schemes in TIFF files are lossless, including LZW and, for bitonal images CCITT Group 4, as used for facsimile transmission [fax]. JPEG baseline DCT-based lossy compression is also used.
Several subtypes and extensions of TIFF exist, including TIFF/EP, TIFF/IT, DNG, GeoTIFF, TIFF-FX, and BigTIFF. Multi-image TIFFs may represent sequences of images (such as scanned pages of a document), image tiles, or different versions of the same image, for example Pyramid TIFFs that incorporate images at different resolutions (often tiled). Some software that can read and display a TIFF file may only open the primary image.
TI/A (formerly TIFF/A) is a proposed archival standard based on TIFF (but no longer using its name due to objections by Adobe, which owns the rights to the name TIFF) which is in progress of development.
Format details
Compression
Tag 259 indicates the image compression scheme, as a coded integer. Some of the known compression schemes are listed below. Some of these are not used in genuine TIFF files, but only in other TIFF-like formats.
Code | Compression scheme |
---|---|
1 | uncompressed |
2 | CCITTRLE. 1-dimensional CCITT Group 3. Essentially the same as code 3, but with different settings. There are no end-of-line markers, and each row is aligned on a byte boundary. See this description from the Encyclopedia of Graphics File Formats. |
3 | 1- or 2-dimensional CCITT Group 3, depending on the value of T4Options bit 0. |
4 | CCITT Group 4 |
5 | LZW |
6 | "Old style" JPEG |
7 | "New style" JPEG |
8 | DEFLATE (zlib format) |
9, 10 | JBIG (refer to TIFF-FX) |
32766 | NeXT 2-bit RLE |
32767 | (Used by Sony ARW.) |
32769 | Packed RAW / NIKON_PACK (Used by Epson ERF.) |
32770 | (Used by Samsung SRW.) |
32771 | CCITTRLEW. Same as code 2, except that rows are aligned on a 2-byte boundary. |
32773 | PackBits |
32809 | ThunderScan compression |
32867 | Kodak KDC (unconfirmed) |
32895, 32896, 32897, 32898 | IT8CTPAD, IT8LW, IT8MP, IT8BL (refer to TIFF/IT) |
32908 | PIXARFILM. Pixar 10-bit LZW |
32909 | PIXARLOG. Pixar companded 11-bit ZIP |
32946 | DEFLATE (same as code 8) |
32947 | (Used by Kodak DCS.) |
33003, 33005 | (Used by Aperio SVS.) |
34661 | JBIG |
34676 | SGILOG. 32-bit SGI Log Luminance RLE |
34677 | SGILOG24. 24-bit SGI Log Luminance packed |
34692 | (Used by LuraDocument Format.) |
34712 | JPEG 2000 |
34713 | (Used by Nikon NEF.) |
34715 | JBIG2 (TIFF-FX extension) |
34718, 34719, 34720 | (Used by MDI.) |
34887 | LERC |
34892 | Lossy JPEG (refer to DNG) |
34925 | LZMA2 |
Unregistered/private/rogue compression codes:
Code | Compression scheme |
---|---|
99 | JPEG (Used by Leaf MOS.) |
262 | Kodak 262 (unconfirmed) |
50000 | Zstandard |
50001 | WebP |
50002 | JPEG XL |
65000 | (Used by Kodak DCR.) |
65535 | (Used by Pentax PEF.) |
Color types
Tag 262 indicates the color type ("photometric interpretation") of the image, as a coded integer. Some of the known color types are listed below.
Code | Color type |
---|---|
0 | Grayscale or bi-level, white is 0 |
1 | Grayscale or bi-level, black is 0 |
2 | RGB |
3 | Palette color |
5 | CMYK |
6 | YCbCr |
8 | CIE L*a*b* |
9 | ICC L*a*b* |
10 | ITU L*a*b* (refer to TIFF-FX) |
32803 | CFA (refer to DNG) |
32844 | CIE Log2(L) |
32845 | CIE Log2(L) (u',v') |
34892 | LinearRaw (refer to DNG) |
Identification
TIFF files begin with bytes 4D 4D 00 2A
(big-endian), or 49 49 2A 00
(little-endian).
This does not account for BigTIFF format, which you may or may not consider to be a kind of TIFF.
File signatures
Some TIFF-like formats use a different file signature (the first few bytes of the file) to help identify them. Some of the known signatures are listed here.
(For formats lacking a public specification, this table may include a hypothetical signature for a byte order that has not been observed.)
Big-endian signature | Little-endian signature | Format |
---|---|---|
4d 4d 00 2a |
49 49 2a 00 |
TIFF |
4d 4d 00 2b |
49 49 2b 00 |
BigTIFF |
4d 4d 00 55 |
49 49 55 00 |
Panasonic RAW/RW2 |
49 49 bc 01 |
JPEG XR | |
49 49 4e 31 |
NIFF (Navy Image File Format) | |
4d 4d 43 52 |
49 49 52 43 |
DNG camera profile |
4d 4d 4f 52 |
49 49 52 4f |
Olympus ORF |
4d 4d 53 52 |
49 49 52 53 |
Olympus ORF |
45 50 2a 00 |
MDI |
Non-TIFF formats that could be mistaken for TIFF include:
Related formats
See also Category:TIFF.
- Tag 700 contains XMP data.
- Tag 32932 contains TIFF annotation data.
- Tag 33723 contains IPTC-IIM data.
- Tag 34152 is for AFCP.
- Tag 34377 contains Photoshop Image Resources.
- Tags 34665 (Exif IFD), 34853 (GPS IFD), and 40965 (Interoperability IFD) point to Exif directories.
- Tag 34675 contains an ICC profile.
- Tag 37680: See OLE Property Set.
- Tag 37724 (ImageSourceData) contains (after a 36-byte signature) a "series of tagged blocks", as described in the Photoshop PSD specification and the Adobe Photoshop TIFF Technical Notes document. In some TIFF files, this data has been observed to use little-endian byte order, with block signatures of "MIB8" instead of the usual "8BIM".
- Tag 50933 (ExtraCameraProfiles) points to DNG camera profiles.
- Raw camera formats are often based on TIFF.
Specifications
- TIFF, Revision 6.0 (archived) (1992-06-03)
- TIFF Revision 5.0 (1988-08-08): HTML, Text, TIFF_50.DOC
- Tag Image File Format Rev 4.0 (1987-04-31): HTML, Text
- Adobe PageMaker 6.0 TIFF Technical Notes (archived) (1995-09-14)
- Adobe Photoshop TIFF Technical Notes (archived) (2002-03-22) - Defines tag 37724, compression types 7 and 8, photometric interpretation types 8 and 9
- Adobe Photoshop TIFF Technical Note 3 (2005-04-08)
- TIFF/A draft specification (2015-02)
Metadata tags
- AWare Systems TIFF Tag Reference
- http://www.digitizationguidelines.gov/guidelines/TIFF_Metadata_Final.pdf
- http://www.digitalpreservation.gov/formats/content/tiff_tags.shtml
Metaformat files
- Synalysis grammar file (for Hexinator / Synalize It!; more details)
- Okteta structure file (for Okteta; more details)
- Kaitai grammar file (for Kaitai; own implementation for TIFF)
Software
Most multi-format image viewers and editors support TIFF to some extent. Applications listed here have been selected arbitrarily.
- Konvertor
- LibTIFF
- TIFF.js
- XnView
- IrfanView
- fixit_tiff (repairs TIFF files, example: broken datetime, wrong tag order and many more errors, also archeological tools included)
- checkit_tiff (validates baseline TIFFs against textual rules, incredible fast and very deep analysis)
Sample files
- http://www.fileformat.info/format/tiff/sample/index.htm
- TIFF Test Images
- http://people.sc.fsu.edu/~jburkardt/data/tif/tif.html
- https://github.com/openplanets/format-corpus/tree/master/tiff-examples
- https://code.google.com/p/imagetestsuite/wiki/TIFFTestSuite
- TIFF with old-style JPEG compression
- dexvert samples — image/tiff
External links
- Wikipedia article
- TIFF File Format Summary, from the Encyclopedia of Graphics File Formats
- Adobe Developer Resources for TIFF
- Adobe Photoshop File Formats Specification from October 2013
- JHOVE2 TIFF Module Specification 2.0.0 (useful TIFF information)
- TIFF chart
- TIFF Format Preservation Assessment (British Library)
- TIFF Analysis 3rd Release
- TI/A Standard Initiative
- Using EXIFTool to address “Tag out of sequence†errors in images (and a 101 level dive into tags)
- Graphic documenting format (LE)
- Graphic documenting format (BE)