---
title: UTTypeReference
framework: uniformtypeidentifiers
role: symbol
role_heading: Class
path: uniformtypeidentifiers/uttypereference
---

# UTTypeReference

An object that represents a type of data to load, send, or receive.

## Declaration

```swift
class UTTypeReference
```

## Overview

Overview The UTTypeReference object may represent files on disk, abstract data types with no on-disk representation, or entirely unrelated hierarchical classification systems, such as hardware. Each instance has a unique identifier, and helpful properties, preferredFilenameExtension and preferredMIMEType. note: The system includes static declarations for many common types, which you can look up by identifier, filename extension, or MIME type. The UTTypeReference object may provide additional information related to the type. For example, it may include a localized user-facing description, a reference URL to technical documentation about the type, or its version number. You can look up types by their conformance to get either a type or a list of types that are relevant to your use case. To define your own types in your app’s Info.plist, see Defining file and data types for your app.

## Topics

### Looking up a type

- [types(tag:tagClass:conformingTo:)](uniformtypeidentifiers/uttypereference/types(tag:tagclass:conformingto:).md)

### Creating a type

- [init(_:)](uniformtypeidentifiers/uttypereference/init(_:).md)
- [init(mimeType:)](uniformtypeidentifiers/uttypereference/init(mimetype:)-1txq0.md)
- [init(mimeType:conformingTo:)](uniformtypeidentifiers/uttypereference/init(mimetype:conformingto:).md)
- [init(filenameExtension:)](uniformtypeidentifiers/uttypereference/init(filenameextension:).md)
- [init(filenameExtension:conformingTo:)](uniformtypeidentifiers/uttypereference/init(filenameextension:conformingto:).md)
- [init(tag:tagClass:conformingToType:)](uniformtypeidentifiers/uttypereference/init(tag:tagclass:conformingtotype:).md)
- [init(exportedAs:)](uniformtypeidentifiers/uttypereference/init(exportedas:).md)
- [init(exportedAs:conformingTo:)](uniformtypeidentifiers/uttypereference/init(exportedas:conformingto:).md)
- [init(importedAs:)](uniformtypeidentifiers/uttypereference/init(importedas:).md)
- [init(importedAs:conformingTo:)](uniformtypeidentifiers/uttypereference/init(importedas:conformingto:).md)

### Identifying a type

- [identifier](uniformtypeidentifiers/uttype-swift.struct/identifier.md)

### Obtaining tags

- [preferredFilenameExtension](uniformtypeidentifiers/uttype-swift.struct/preferredfilenameextension.md)
- [preferredMIMEType](uniformtypeidentifiers/uttype-swift.struct/preferredmimetype.md)
- [tags](uniformtypeidentifiers/uttype-swift.struct/tags.md)

### Obtaining additional type information

- [isDeclared](uniformtypeidentifiers/uttypereference/isdeclared.md)
- [isDynamic](uniformtypeidentifiers/uttypereference/isdynamic.md)
- [isPublic](uniformtypeidentifiers/uttypereference/ispublic.md)
- [referenceURL](uniformtypeidentifiers/uttype-swift.struct/referenceurl.md)
- [version](uniformtypeidentifiers/uttype-swift.struct/version.md)

### Checking a type’s relationship to another type

- [supertypes](uniformtypeidentifiers/uttype-swift.struct/supertypes.md)
- [conforms(to:)](uniformtypeidentifiers/uttypereference/conforms(to:).md)
- [isSubtype(of:)](uniformtypeidentifiers/uttypereference/issubtype(of:).md)
- [isSupertype(of:)](uniformtypeidentifiers/uttypereference/issupertype(of:).md)

### Describing a type

- [localizedDescription](uniformtypeidentifiers/uttype-swift.struct/localizeddescription.md)

### Type Properties

- [shazamCustomCatalog](uniformtypeidentifiers/uttype-swift.struct/shazamcustomcatalog.md)
- [shazamSignature](uniformtypeidentifiers/uttype-swift.struct/shazamsignature.md)

### Initializers

- [init(MIMEType:)](uniformtypeidentifiers/uttypereference/init(mimetype:)-7gu84.md)
- [init(MIMEType:conformingToType:)](uniformtypeidentifiers/uttypereference/init(mimetype:conformingtotype:).md)
- [init(coder:)](uniformtypeidentifiers/uttypereference/init(coder:).md)
- [init(filenameExtension:conformingToType:)](uniformtypeidentifiers/uttypereference/init(filenameextension:conformingtotype:).md)
- [init(identifier:)](uniformtypeidentifiers/uttypereference/init(identifier:).md)
- [init(identifier:allowUndeclared:)](uniformtypeidentifiers/uttypereference/init(identifier:allowundeclared:).md)
- [init(tag:tagClass:conformingTo:)](uniformtypeidentifiers/uttypereference/init(tag:tagclass:conformingto:).md)

### Default Implementations

- [UTTypeReference Implementations](uniformtypeidentifiers/uttypereference/uttypereference-implementations.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSSecureCoding](foundation/nssecurecoding.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Uniform type identifiers

- [UTType](uniformtypeidentifiers/uttype-swift.struct.md)
- [UTTagClass](uniformtypeidentifiers/uttagclass.md)
