These are the tags the DNG specification adds to TIFF, in number order. “IFD 0” tags describe the whole file and sit in the first directory; “Raw” tags belong to the directory that holds the raw image (see raw data). Several numbers in this range belong to other makers, listed at the end.
Version and camera
| Tag | Name | Type | IFD | Meaning |
|---|---|---|---|---|
0xC612 | DNGVersion | BYTE × 4 | IFD 0 | Version of the specification the file follows, such as 1, 7, 1, 0. Required; marks the file as DNG. |
0xC613 | DNGBackwardVersion | BYTE × 4 | IFD 0 | Oldest reader version that can read the file. |
0xC614 | UniqueCameraModel | ASCII | IFD 0 | Unique, non-localised name of the camera model, used to find profiles. |
0xC615 | LocalizedCameraModel | ASCII or BYTE | IFD 0 | Camera model name for display. |
0xC62F | CameraSerialNumber | ASCII | IFD 0 | Serial number of the camera. |
0xC630 | LensInfo | RATIONAL × 4 | IFD 0 | Shortest and longest focal length, and the widest aperture at each. |
0xC634 | DNGPrivateData | BYTE | IFD 0 | Private data for the program that wrote the file, starting with its name ended by a zero byte. |
0xC635 | MakerNoteSafety | SHORT | IFD 0 | 0 unsafe, 1 safe: whether the maker note can be kept when the file is edited. |
Raw image
| Tag | Name | Type | IFD | Meaning |
|---|---|---|---|---|
0xC616 | CFAPlaneColor | BYTE | Raw | Colour of each plane, as CFAPattern codes; default 0, 1, 2 (red, green, blue). |
0xC617 | CFALayout | SHORT | Raw | Spatial layout of the sensor, 1 to 9 (see raw data); default 1. |
0xC618 | LinearizationTable | SHORT × n | Raw | Lookup table that maps stored values to linear values. |
0xC619 | BlackLevelRepeatDim | SHORT × 2 | Raw | Rows and columns of the repeating black level pattern; default 1, 1. |
0xC61A | BlackLevel | SHORT, LONG or RATIONAL | Raw | Zero light level, per pattern cell and sample; default 0. |
0xC61B | BlackLevelDeltaH | SRATIONAL × width | Raw | Extra black level per column. |
0xC61C | BlackLevelDeltaV | SRATIONAL × height | Raw | Extra black level per row. |
0xC61D | WhiteLevel | SHORT or LONG | Raw | Fully saturated level per sample; default 2BitsPerSample − 1. |
0xC61E | DefaultScale | RATIONAL × 2 | Raw | Horizontal and vertical scale to square pixels; default 1, 1. |
0xC61F | DefaultCropOrigin | SHORT, LONG or RATIONAL × 2 | Raw | Top left of the final image, in raw pixels relative to the active area. |
0xC620 | DefaultCropSize | SHORT, LONG or RATIONAL × 2 | Raw | Width and height of the final image. |
0xC62D | BayerGreenSplit | LONG | Raw | How much the two greens of a Bayer sensor differ, 0 (none) upwards. |
0xC631 | ChromaBlurRadius | RATIONAL | Raw | Chroma blur radius in pixels to remove colour noise. |
0xC632 | AntiAliasStrength | RATIONAL | Raw | Strength of the camera’s anti-alias filter, 0.0 (none) to 1.0; default 1.0. |
0xC65C | BestQualityScale | RATIONAL | Raw | Extra scale factor for best quality output; default 1.0. |
0xC68D | ActiveArea | SHORT or LONG × 4 | Raw | Top, left, bottom, right of the area that holds image data. |
0xC68E | MaskedAreas | SHORT or LONG × 4n | Raw | Rectangles of covered pixels, for measuring black. |
0xC6F7 | NoiseReductionApplied | RATIONAL | Raw | Noise reduction already applied, 0.0 none to 1.0 full; 0/0 unknown. |
0xC71E | SubTileBlockSize | SHORT or LONG × 2 | Raw | Rows and columns of sub-tile blocks interleaved in each tile. |
0xC71F | RowInterleaveFactor | SHORT or LONG | Raw | Number of interleaved fields of rows; default 1. |
0xC740 | OpcodeList1 | UNDEFINED | Raw | Opcodes applied to the raw values as read (see opcodes). |
0xC741 | OpcodeList2 | UNDEFINED | Raw | Opcodes applied after linearisation and black and white scaling. |
0xC74E | OpcodeList3 | UNDEFINED | Raw | Opcodes applied after demosaicing. |
0xC761 | NoiseProfile | DOUBLE × 2n | Raw | Noise model: a scale and an offset per plane (variance = scale × signal + offset). |
0xC7B5 | DefaultUserCrop | RATIONAL × 4 | Raw | Suggested crop: top, left, bottom, right as fractions of the default crop. |
0xCD2E | SemanticName | ASCII | Mask | Name of the semantic mask, such as sky. |
0xCD30 | SemanticInstanceID | ASCII | Mask | Identifies one instance among masks of the same name. |
0xCD38 | MaskSubArea | LONG × 4 | Mask | Where a mask sits within the main image. |
0xCD43 | ColumnInterleaveFactor | LONG | Raw | Number of interleaved fields of columns; default 1. |
Colour
Tags numbered 1, 2 and 3 belong to calibration illuminants 1, 2 and 3. Matrices have as many rows or columns as the image has colour planes (3 or 4).
| Tag | Name | Type | IFD | Meaning |
|---|---|---|---|---|
0xC621, 0xC622, 0xCD33 | ColorMatrix1, 2, 3 | SRATIONAL × 3n | IFD 0 | Matrix from CIE XYZ to reference camera colour, under each illuminant. |
0xC623, 0xC624, 0xCD32 | CameraCalibration1, 2, 3 | SRATIONAL × n² | IFD 0 | Matrix from reference camera colour to this camera’s colour. |
0xC625, 0xC626, 0xCD3A | ReductionMatrix1, 2, 3 | SRATIONAL × 3n | IFD 0 | Reduces camera colour with more than 3 planes to 3. |
0xC714, 0xC715, 0xCD34 | ForwardMatrix1, 2, 3 | SRATIONAL × 3n | IFD 0 | Matrix from white-balanced camera colour to CIE XYZ (D50). |
0xC65A, 0xC65B, 0xCD31 | CalibrationIlluminant1, 2, 3 | SHORT | IFD 0 | The light source of each calibration (codes below). |
0xCD35–0xCD37 | IlluminantData1, 2, 3 | UNDEFINED | IFD 0 | The spectrum or chromaticity of an illuminant whose code is 255 (other). |
0xC627 | AnalogBalance | RATIONAL × n | IFD 0 | Gain applied to each plane before digitising. |
0xC628 | AsShotNeutral | SHORT or RATIONAL × n | IFD 0 | The white balance as shot, as a neutral colour in camera space. |
0xC629 | AsShotWhiteXY | RATIONAL × 2 | IFD 0 | The white balance as shot, as x, y chromaticity (instead of AsShotNeutral). |
0xC62A | BaselineExposure | SRATIONAL | IFD 0 | Exposure shift in stops for a camera model, so that zero is a normal exposure. |
0xC62B | BaselineNoise | RATIONAL | IFD 0 | Relative noise at ISO 100, against a reference camera; default 1.0. |
0xC62C | BaselineSharpness | RATIONAL | IFD 0 | Relative sharpening needed; default 1.0. |
0xC62E | LinearResponseLimit | RATIONAL | IFD 0 | Fraction of the range where the sensor response stays linear; default 1.0. |
0xC633 | ShadowScale | RATIONAL | IFD 0 | Scale for the shadows, for Adobe’s raw converter; default 1.0. |
0xC68F | AsShotICCProfile | UNDEFINED | IFD 0 | ICC profile for a camera that renders to an output space (“as shot”). |
0xC690 | AsShotPreProfileMatrix | SRATIONAL | IFD 0 | Matrix applied before AsShotICCProfile. |
0xC691 | CurrentICCProfile | UNDEFINED | IFD 0 | ICC profile for the current rendering. |
0xC692 | CurrentPreProfileMatrix | SRATIONAL | IFD 0 | Matrix applied before CurrentICCProfile. |
0xC6BF | ColorimetricReference | SHORT | IFD 0 | 0 scene-referred; 1 output-referred within the ICC range; 2 output-referred high dynamic range. |
0xC7A5 | BaselineExposureOffset | SRATIONAL | IFD 0 | Adjusts BaselineExposure for a particular profile. |
0xC7A6 | DefaultBlackRender | LONG | IFD 0 | 0 auto, 1 none: whether a converter may apply its own black subtraction. |
0xCD3F | RGBTables | UNDEFINED | IFD 0 | Colour lookup tables applied as part of the profile. |
Light sources
CalibrationIlluminant uses the Exif LightSource codes:
| Code | Light | Code | Light |
|---|---|---|---|
| 0 | Unknown | 15 | White fluorescent (WW 3250–3800 K) |
| 1 | Daylight | 16 | Warm white fluorescent (L 2600–3250 K) |
| 2 | Fluorescent | 17 | Standard light A |
| 3 | Tungsten (incandescent) | 18 | Standard light B |
| 4 | Flash | 19 | Standard light C |
| 9 | Fine weather | 20 | D55 |
| 10 | Cloudy | 21 | D65 |
| 11 | Shade | 22 | D75 |
| 12 | Daylight fluorescent (D 5700–7100 K) | 23 | D50 |
| 13 | Day white fluorescent (N 4600–5500 K) | 24 | ISO studio tungsten |
| 14 | Cool white fluorescent (W 3800–4500 K) | 255 | Other (described by IlluminantData) |
Camera profiles
| Tag | Name | Type | IFD | Meaning |
|---|---|---|---|---|
0xC6F3 | CameraCalibrationSignature | ASCII or BYTE | IFD 0 | Ties the camera calibration matrices to profiles made for them. |
0xC6F4 | ProfileCalibrationSignature | ASCII or BYTE | IFD 0 | The calibration a profile was made for. |
0xC6F5 | ExtraCameraProfiles | LONG × n | IFD 0 | Offsets of extra camera profiles, each a TIFF-like structure of these tags. |
0xC6F6 | AsShotProfileName | ASCII or BYTE | IFD 0 | Profile to use by default. |
0xC6F8 | ProfileName | ASCII or BYTE | IFD 0 | Name of the embedded profile. |
0xC6F9 | ProfileHueSatMapDims | LONG × 3 | IFD 0 | Hue, saturation and value divisions of the hue/saturation maps. |
0xC6FA, 0xC6FB, 0xCD39 | ProfileHueSatMapData1, 2, 3 | FLOAT × 3n | IFD 0 | Hue shift, saturation scale and value scale for each cell, per illuminant. |
0xC6FC | ProfileToneCurve | FLOAT × 2n | IFD 0 | Default tone curve as input, output pairs from 0.0 to 1.0. |
0xC6FD | ProfileEmbedPolicy | LONG | IFD 0 | 0 allow copying, 1 embed if used, 2 never embed, 3 no restrictions. |
0xC6FE | ProfileCopyright | ASCII or BYTE | IFD 0 | Copyright of the profile. |
0xC725 | ProfileLookTableDims | LONG × 3 | IFD 0 | Divisions of the look table. |
0xC726 | ProfileLookTableData | FLOAT × 3n | IFD 0 | Look table entries, as for the hue/saturation maps. |
0xC7A3 | ProfileHueSatMapEncoding | LONG | IFD 0 | 0 linear, 1 sRGB: how the value axis of the maps is divided. |
0xC7A4 | ProfileLookTableEncoding | LONG | IFD 0 | 0 linear, 1 sRGB, for the look table. |
0xCD2D | ProfileGainTableMap | UNDEFINED | Raw | A spatially varying gain table for local tone mapping. |
0xCD40 | ProfileGainTableMap2 | UNDEFINED | IFD 0 | A later form of the gain table map. |
0xCD47 | ProfileDynamicRange | UNDEFINED | IFD 0 | Whether the profile is for standard or high dynamic range output. |
0xCD48 | ProfileGroupName | ASCII | IFD 0 | Groups profiles that belong together. |
Previews, originals and digests
| Tag | Name | Type | IFD | Meaning |
|---|---|---|---|---|
0xC65D | RawDataUniqueID | BYTE × 16 | IFD 0 | Unique identifier of the raw data, the same across conversions. |
0xC68B | OriginalRawFileName | ASCII or BYTE | IFD 0 | Name of the raw file this DNG was made from. |
0xC68C | OriginalRawFileData | UNDEFINED | IFD 0 | The original raw file, compressed, embedded in the DNG. |
0xC71D | OriginalRawFileDigest | BYTE × 16 | IFD 0 | MD5 digest of OriginalRawFileData. |
0xC71C | RawImageDigest | BYTE × 16 | IFD 0 | MD5 digest of the raw image data. |
0xC7A7 | NewRawImageDigest | BYTE × 16 | IFD 0 | A digest computed in a newer way that does not depend on the storage layout. |
0xC716 | PreviewApplicationName | ASCII or BYTE | Preview | Program that rendered the preview. |
0xC717 | PreviewApplicationVersion | ASCII or BYTE | Preview | Its version. |
0xC718 | PreviewSettingsName | ASCII or BYTE | Preview | Name of the settings used. |
0xC719 | PreviewSettingsDigest | BYTE × 16 | Preview | MD5 digest of those settings. |
0xC71A | PreviewColorSpace | LONG | Preview | 0 unknown, 1 grey gamma 2.2, 2 sRGB, 3 Adobe RGB, 4 ProPhoto RGB. |
0xC71B | PreviewDateTime | ASCII | Preview | When the preview was rendered, as ISO 8601 text. |
0xC7A8 | RawToPreviewGain | DOUBLE | Preview | Gain between the raw data and the preview. |
0xC791 | OriginalDefaultFinalSize | SHORT or LONG × 2 | IFD 0 | Default final size of the original, before any downscaling. |
0xC792 | OriginalBestQualityFinalSize | SHORT or LONG × 2 | IFD 0 | Best quality final size of the original. |
0xC793 | OriginalDefaultCropSize | SHORT, LONG or RATIONAL × 2 | IFD 0 | Default crop size of the original. |
0xC7EE | EnhanceParams | ASCII | Enhanced | Parameters of the processing that made an enhanced image. |
0xCD44 | ImageSequenceInfo | UNDEFINED | IFD 0 | Place of this image in a sequence, such as a burst or bracket. |
0xCD46 | ImageStats | UNDEFINED | IFD 0 | Statistics of the image data. |
0xCD49 | JXLDistance | FLOAT | Raw or preview | JPEG XL distance (quality) used. |
0xCD4A | JXLEffort | LONG | Raw or preview | JPEG XL encoder effort, 1 low to 9 high. |
0xCD4B | JXLDecodeSpeed | LONG | Raw or preview | JPEG XL decode speed setting, 1 slow to 4 fast. |
Depth maps
| Tag | Name | Type | IFD | Meaning |
|---|---|---|---|---|
0xC7E9 | DepthFormat | SHORT | IFD 0 | 0 unknown, 1 linear, 2 inverse: how depth values are coded. |
0xC7EA | DepthNear | RATIONAL | IFD 0 | Distance of the smallest value. |
0xC7EB | DepthFar | RATIONAL | IFD 0 | Distance of the largest value. |
0xC7EC | DepthUnits | SHORT | IFD 0 | 0 unknown, 1 metres. |
0xC7ED | DepthMeasureType | SHORT | IFD 0 | 0 unknown, 1 along the optical axis, 2 along the optical ray. |
CinemaDNG
These tags come from CinemaDNG, the DNG-based format for frames of video:
| Tag | Name | Type | Meaning |
|---|---|---|---|
0xC763 | TimeCodes | BYTE × 8n | SMPTE time codes of the frame |
0xC764 | FrameRate | SRATIONAL | Frames per second |
0xC772 | TStop | RATIONAL × 1 or 2 | T-stop of the lens |
0xC789 | ReelName | ASCII | Name of the reel |
0xC7A1 | CameraLabel | ASCII | Label of the camera in a multi-camera shoot |
Other users of this range
Some tags in the same number range are not part of DNG: 0xC640
(Canon CR2 slices), 0xC660 (Alias Sketchbook), 0xC6C5
(Canon sRAW type), 0xC6D2 and 0xC6D3 (Panasonic titles),
0xC7AA (Adobe cache version), 0xC7D5 (Nikon NEF info),
0xC7D7 and 0xC7D8 (ZIF). Readers should treat them as
private. 0xCD41 holds JUMBF boxes (as used for content credentials); its
exact status in the DNG specification is not confirmed here.