Every field in a BigTIFF image file directory is named by its tag number. BigTIFF keeps the tags and meanings of TIFF 6.0 and changes only the sizes: entries are 20 bytes, counts are 64-bit, and three 64-bit types are added. This page lists every field that the TIFF 6.0 specification defines, then the fields that later Adobe technical notes added, then the tags that point at directories or data blocks defined by other specifications. The meaning of each coded value is on Tag values, and how the image data fields fit together is on Image data. How an entry is stored is on Header and directories.
Reading the tables
- Set: B for a baseline field, which TIFF 6.0 Part 1 describes and every general reader should understand; E for an extension field from Part 2, which readers may ignore.
- Count is the number of values, not bytes, and is a 64-bit number in BigTIFF. A blank count means any number; for ASCII fields it is the length including the final zero byte. A value of 8 bytes or less is stored in the entry itself.
- BigTIFF types: StripOffsets, StripByteCounts, TileOffsets and TileByteCounts may also be LONG8 (16); SubIFDs and the Exif, GPS and Interoperability pointers may also be IFD8 (18). The 32-bit types stay valid wherever the value fits.
- Default is the value a reader must assume when the field is absent. A dash means the specification gives no default.
- Readers should accept BYTE, SHORT or LONG for any unsigned integer field, and must not refuse a file because an optional field is missing.
- Tags 32768 and above are private. Organisations ask the TIFF administrator (Aldus, now Adobe) for a block of them; enumerated values 32768 and above are private in the same way.
StripsPerImage= floor((ImageLength + RowsPerStrip − 1) ÷ RowsPerStrip) andTilesPerImage= TilesAcross × TilesDown are computed values, not fields. SPP below meansSamplesPerPixeland BPS meansBitsPerSample.
Fields defined by TIFF 6.0
| Tag | Hex | Name | Set | Type | Count | Default | Meaning |
|---|---|---|---|---|---|---|---|
| 254 | FE | NewSubfileType | B | LONG | 1 | 0 | 32 flag bits saying what this image is: a reduced-resolution copy, one page of several, a transparency mask. |
| 255 | FF | SubfileType | B | SHORT | 1 | – | Older form of NewSubfileType, deprecated: 1 full resolution, 2 reduced resolution, 3 one page. |
| 256 | 100 | ImageWidth | B | SHORT or LONG | 1 | – | Columns: pixels per row. Required. |
| 257 | 101 | ImageLength | B | SHORT or LONG | 1 | – | Rows of pixels. Required. |
| 258 | 102 | BitsPerSample | B | SHORT | SPP | 1 | Bits in each component, one value per component, even when they are all the same. |
| 259 | 103 | Compression | B | SHORT | 1 | 1 | How the image data is compressed. |
| 262 | 106 | PhotometricInterpretation | B | SHORT | 1 | none; required | The colour space of the image data. |
| 263 | 107 | Threshholding | B | SHORT | 1 | 1 | For bilevel images of grey originals, how grey became black and white. (The specification spells it with two h’s.) |
| 264 | 108 | CellWidth | B | SHORT | 1 | – | Width of the dither or halftone matrix. |
| 265 | 109 | CellLength | B | SHORT | 1 | – | Height of the dither or halftone matrix; present only when Threshholding is 2. |
| 266 | 10A | FillOrder | B | SHORT | 1 | 1 | Order of pixels or code bits within a byte. |
| 269 | 10D | DocumentName | E | ASCII | – | Name of the document the image was scanned from. | |
| 270 | 10E | ImageDescription | B | ASCII | – | Text describing the subject of the image. | |
| 271 | 10F | Make | B | ASCII | – | Maker of the scanner, camera or other device. Synthetic images should leave it out. | |
| 272 | 110 | Model | B | ASCII | – | Model name or number of the device. | |
| 273 | 111 | StripOffsets | B | SHORT, LONG or LONG8 | StripsPerImage; SPP × StripsPerImage when PlanarConfiguration is 2 | – | File offset of each strip. |
| 274 | 112 | Orientation | B | SHORT | 1 | 1 | Which way the rows and columns face. Readers need support only 1. |
| 277 | 115 | SamplesPerPixel | B | SHORT | 1 | 1 | Components per pixel, extra samples included. |
| 278 | 116 | RowsPerStrip | B | SHORT or LONG | 1 | 232 − 1 | Rows in each strip except possibly the last. The default means the whole image is one strip. |
| 279 | 117 | StripByteCounts | B | SHORT, LONG or LONG8 | as StripOffsets | – | Bytes in each strip after compression. Required. |
| 280 | 118 | MinSampleValue | B | SHORT | SPP | 0 | Smallest component value used. For statistics only; it must not change how the image looks. |
| 281 | 119 | MaxSampleValue | B | SHORT | SPP | 2BPS − 1 | Largest component value used. For statistics only. |
| 282 | 11A | XResolution | B | RATIONAL | 1 | – | Pixels per ResolutionUnit along a row. |
| 283 | 11B | YResolution | B | RATIONAL | 1 | – | Pixels per ResolutionUnit down a column. |
| 284 | 11C | PlanarConfiguration | B | SHORT | 1 | 1 | Whether components are interleaved per pixel or stored in separate planes. |
| 285 | 11D | PageName | E | ASCII | – | Name of the page the image was scanned from. | |
| 286 | 11E | XPosition | E | RATIONAL | 1 | – | Offset of the image’s left side from the left of the page, in ResolutionUnits. |
| 287 | 11F | YPosition | E | RATIONAL | 1 | – | Offset of the image’s top from the top of the page; positive is down. |
| 288 | 120 | FreeOffsets | B | LONG | – | Offset of each run of unused bytes. Not recommended for interchange. | |
| 289 | 121 | FreeByteCounts | B | LONG | – | Length of each run of unused bytes. Not recommended for interchange. | |
| 290 | 122 | GrayResponseUnit | B | SHORT | 1 | 2 | Precision of the GrayResponseCurve values; 3 is recommended. |
| 291 | 123 | GrayResponseCurve | B | SHORT | 2BPS | – | Optical density of each possible grey value. |
| 292 | 124 | T4Options | E | LONG | 1 | 0 | Flags for Compression 3. Called Group3Options before TIFF 6.0. |
| 293 | 125 | T6Options | E | LONG | 1 | 0 | Flags for Compression 4. Called Group4Options before TIFF 6.0. |
| 296 | 128 | ResolutionUnit | B | SHORT | 1 | 2 | Unit of XResolution and YResolution. |
| 297 | 129 | PageNumber | E | SHORT | 2 | – | This page’s number, counting from 0, then the total number of pages (0 if unknown). |
| 301 | 12D | TransferFunction | E | SHORT | 1 or 3 × 2BPS | one table for gamma 2.2 | Table mapping each stored value to a 16-bit linear intensity; one table shared or one per channel. Replaces ColorResponseCurves of TIFF 5.0. |
| 305 | 131 | Software | B | ASCII | – | Name and version of the program that made the image. | |
| 306 | 132 | DateTime | B | ASCII | 20 | – | When the image was made, as YYYY:MM:DD HH:MM:SS on a 24-hour clock. |
| 315 | 13B | Artist | B | ASCII | – | Person who made the image. Some older files kept a copyright notice here. | |
| 316 | 13C | HostComputer | B | ASCII | – | Computer or operating system used. | |
| 317 | 13D | Predictor | E | SHORT | 1 | 1 | Transform applied before compression. |
| 318 | 13E | WhitePoint | E | RATIONAL | 2 | – | CIE 1931 x and y of the white point. |
| 319 | 13F | PrimaryChromaticities | E | RATIONAL | 6 | – | CIE x and y of the red, green and blue primaries, in that order. |
| 320 | 140 | ColorMap | B | SHORT | 3 × 2BPS | none; required for palette images | The palette: all red values, then all green, then all blue, each 0 to 65535. |
| 321 | 141 | HalftoneHints | E | SHORT | 2 | – | Grey level of the highlight, then of the shadow, that halftoning should keep detail between. |
| 322 | 142 | TileWidth | E | SHORT or LONG | 1 | – | Columns in each tile; a multiple of 16. |
| 323 | 143 | TileLength | E | SHORT or LONG | 1 | – | Rows in each tile; a multiple of 16. |
| 324 | 144 | TileOffsets | E | LONG or LONG8 | TilesPerImage; SPP × TilesPerImage when planar | – | File offset of each tile, left to right then top to bottom. |
| 325 | 145 | TileByteCounts | E | SHORT, LONG or LONG8 | as TileOffsets | – | Bytes in each tile after compression. |
| 332 | 14C | InkSet | E | SHORT | 1 | 1 | Which inks a separated image uses. |
| 333 | 14D | InkNames | E | ASCII | bytes in all names, zeros included | – | Name of each ink, as zero-terminated strings, one per ink in sample order. |
| 334 | 14E | NumberOfInks | E | SHORT | 1 | 4 | Number of inks; usually SamplesPerPixel less any extra samples. |
| 336 | 150 | DotRange | E | BYTE or SHORT | 2, or 2 × SPP | 0 and 2BPS − 1 | Component values for a 0% dot and a 100% dot, for all inks or per ink. |
| 337 | 151 | TargetPrinter | E | ASCII | – | The printing conditions a separation was made for. | |
| 338 | 152 | ExtraSamples | B | SHORT | number of extra components | no extra samples | What each extra component is (alpha or unspecified). Must be present when there are extra samples. |
| 339 | 153 | SampleFormat | E | SHORT | SPP | 1 | Whether each component is an unsigned or signed integer or a float. |
| 340 | 154 | SMinSampleValue | E | type that suits the samples | SPP | full range of the type | Smallest sample value, per component. |
| 341 | 155 | SMaxSampleValue | E | type that suits the samples | SPP | full range of the type | Largest sample value, per component. |
| 342 | 156 | TransferRange | E | SHORT | 6 | 0, NV, 0, NV, 0, NV | Black and white index pairs that extend the TransferFunction’s range; RGB and YCbCr only. NV = 2BPS − 1. |
| 512 | 200 | JPEGProc | E | SHORT | 1 | none; required with Compression 6 | JPEG process: 1 baseline sequential, 14 lossless with Huffman coding. |
| 513 | 201 | JPEGInterchangeFormat | E | LONG | 1 | – | Offset of the SOI marker of a complete JPEG stream in the file; 0 or absent if there is none. |
| 514 | 202 | JPEGInterchangeFormatLength | E | LONG | 1 | – | Length of that JPEG stream in bytes. |
| 515 | 203 | JPEGRestartInterval | E | SHORT | 1 | – | MCUs between restart markers; 0 or absent means none. |
| 517 | 205 | JPEGLosslessPredictors | E | SHORT | SPP | none; required for lossless | Predictor selection for each component, 1 to 7. |
| 518 | 206 | JPEGPointTransforms | E | SHORT | SPP | 0 | Point transform for each component: the input is divided by 2Pt before lossless coding. |
| 519 | 207 | JPEGQTables | E | LONG | SPP | none; required for DCT | Offset of each component’s quantisation table: 64 bytes in zigzag order. |
| 520 | 208 | JPEGDCTables | E | LONG | SPP | none; required | Offset of each component’s DC or lossless Huffman table: 16 bytes of code counts, then up to 17 values. |
| 521 | 209 | JPEGACTables | E | LONG | SPP | none; required for DCT | Offset of each component’s AC Huffman table: 16 bytes of code counts, then up to 256 values. |
| 529 | 211 | YCbCrCoefficients | E | RATIONAL | 3 | 299/1000, 587/1000, 114/1000 | LumaRed, LumaGreen and LumaBlue: the share of R, G and B in Y. |
| 530 | 212 | YCbCrSubSampling | E | SHORT | 2 | 2, 2 | Horizontal, then vertical, chroma subsampling factor. |
| 531 | 213 | YCbCrPositioning | E | SHORT | 1 | 1 | Where subsampled chroma samples sit relative to the luma samples. |
| 532 | 214 | ReferenceBlackWhite | E | RATIONAL | 6 | 0, NV, 0, NV, 0, NV | Codes for reference black and reference white of each component. Required for YCbCr images. |
| 33432 | 8298 | Copyright | B | ASCII | – | Copyright notice, with dates and claims in full. |
The specification’s own summary table, Appendix A, disagrees with the field descriptions in two places: it gives ExtraSamples as BYTE and ReferenceBlackWhite as LONG with 2 × SPP values. The field descriptions, followed above, say SHORT and six RATIONALs, and that is what files use.
Fields added after TIFF 6.0
These come from Adobe’s TIFF technical notes and related specifications. They are widely written, and LibTIFF reads them all.
| Tag | Hex | Name | Type | Count | Source | Meaning |
|---|---|---|---|---|---|---|
| 330 | 14A | SubIFDs | LONG, IFD or IFD8 | number of child IFDs | TIFF Technical Note 1 (Adobe PageMaker 6.0 notes) | Offsets of child directories, usually reduced resolutions of this image. The IFD type, 13, was added for it. |
| 343 | 157 | ClipPath | BYTE | bytes in the path | Adobe PageMaker 6.0 notes | A clipping path that outlines the part of the image to show. |
| 344 | 158 | XClipPathUnits | 1 | Adobe PageMaker 6.0 notes | Horizontal units of the clipping path coordinates. | |
| 345 | 159 | YClipPathUnits | 1 | Adobe PageMaker 6.0 notes | Vertical units of the clipping path coordinates. | |
| 346 | 15A | Indexed | SHORT | 1 | Adobe PageMaker 6.0 notes | 1 when the image is indexed through a colour map although its PhotometricInterpretation is not palette; 0 otherwise. |
| 347 | 15B | JPEGTables | UNDEFINED | bytes | TIFF Technical Note 2 | A JPEG table stream, from SOI to EOI, shared by every strip or tile of a Compression 7 image. |
| 351 | 15F | OPIProxy | SHORT | 1 | Adobe PageMaker 6.0 notes | 1 when this image is a low-resolution stand-in for a higher-resolution one held elsewhere (OPI); 0 otherwise. |
| 700 | 2BC | XMP | BYTE | bytes | Adobe XMP specification | An XMP metadata packet in UTF-8 XML. |
| 32781 | 800D | ImageID | ASCII | Adobe PageMaker 6.0 notes | OPI name or path of the full-resolution image. | |
| 33723 | 83BB | IPTC | UNDEFINED or LONG | bytes or LONGs | IPTC-NAA | IPTC-NAA metadata records (captions, keywords, credits). |
| 34377 | 8649 | Photoshop | BYTE | bytes | Adobe Photoshop TIFF notes | Photoshop image resource blocks. |
| 34665 | 8769 | ExifIFD | LONG, IFD or IFD8 | 1 | Exif (JEITA CP-3451) | Offset of the Exif directory of camera settings. |
| 34675 | 8773 | ICCProfile | UNDEFINED | bytes | ICC specification | An embedded ICC colour profile. |
| 34853 | 8825 | GPSIFD | LONG, IFD or IFD8 | 1 | Exif | Offset of the GPS directory. |
| 37724 | 935C | ImageSourceData | UNDEFINED | bytes | Adobe Photoshop TIFF notes | Photoshop’s layer and mask data, so a layered document survives in a TIFF. |
| 40965 | A005 | InteroperabilityIFD | LONG, IFD or IFD8 | 1 | Exif | Offset of the Interoperability directory; it sits in the Exif directory, not the image’s own. |
Unconfirmed: the types of XClipPathUnits and YClipPathUnits, which this site has not read in the Adobe note itself.
Tags belonging to other specifications
Many formats are TIFF files with their own private tags, documented by their owners: GeoTIFF (map placement, tags 33550, 33922, 34264 and 34735 to 34737), DNG (50706 onwards), TIFF/EP (ISO 12234-2), TIFF/IT (ISO 12639), TIFF-FX for fax (RFC 3949, tags 400 to 405 and 433 to 435) and the Exif tags inside the Exif and GPS directories. A reader that does not know a tag skips its entry; the entry layout always says how long the value is.