---
title: "Metadata datatype definition atom ('dtyp')"
framework: quicktime-file-format
role: symbol
role_heading: Atom
path: quicktime-file-format/metadata_datatype_definition_atom
---

# Metadata datatype definition atom ('dtyp')

An atom you use to specify the data type of the metadata key atom’s value.

## Overview

Overview A metadata datatype definition atom can be used to specify the data type of the metadata key atom’s value. The type of the metadata datatype definition atom is ‘dtyp’. The layout of a metadata datatype definition atom is as follows:  |   |   |   |   |  The combination of datatype namespace and datatype array indicate the data type (or structure) of a metadata item value. The datatype namespace type indicates the interpretation of the datatype array value. This specification defines two datatype namespace types: If datatype namespace is 0, datatype array contains a big-endian 32-bit unsigned integer corresponding to a well-known type specified in Well-known types. For example, a well-known type of 1 indicates UTF-8 text and 23 indicates a big-endian 32-bit floating-point number. If datatype namespace is 1, datatype array contains a reverse-address style UTF-8 string indicating an extended data type. This data type namespace type can be used if the data type does not have a corresponding well-known data type. Datatype array consists of the bytes of a case-sensitive UTF-8 string without a null (‘\0’) terminator. For example, a hypothetical datatype array “com.company.my-custom-datatype” could register a custom data type belonging to the owner of the DNS registration “mycompany.com”. A datatype namespace other than 0 or 1 may occur in a timed metadata track, perhaps written according to a later version of this specification. Metadata item values with unrecognized data types should be ignored. Even so, some processing is still possible on the metadata item with unrecognized data type, such as copying it between tracks. note: New datatype namespaces must be registered with Apple. note: Many uses for proprietary or custom metadata data types can be satisfied by using the extended data type namespace type code 1. This allows the new data type to be specified without registration. The reason to add a custom datatype namespace type is to allow an existing numbering or naming scheme from a foreign metadata standard to be used with metadata items.

## Topics

### Data fields

- [Size](quicktime-file-format/metadata_datatype_definition_atom/size.md)
- [Type](quicktime-file-format/metadata_datatype_definition_atom/type.md)
- [Datatype namespace](quicktime-file-format/metadata_datatype_definition_atom/datatype_namespace.md)
- [Datatype array](quicktime-file-format/metadata_datatype_definition_atom/datatype_array.md)

## See Also

### Describing timed metadata

- [Metadata key table atom ('keys')](quicktime-file-format/metadata_key_table_atom.md)
- [Bit rate atom ('btrt')](quicktime-file-format/bit_rate_atom.md)
- [Metadata key atom](quicktime-file-format/metadata_key_atom.md)
- [Metadata key declaration atom ('keyd')](quicktime-file-format/metadata_key_declaration_atom.md)
- [Metadata locale atom ('loca')](quicktime-file-format/metadata_locale_atom.md)
