---
title: PropertyListSerialization
framework: foundation
role: symbol
role_heading: Class
path: foundation/propertylistserialization
---

# PropertyListSerialization

An object that converts between a property list and one of several serialized representations.

## Declaration

```swift
class PropertyListSerialization
```

## Overview

Overview The PropertyListSerialization class provides methods that convert a property list to and from several serialized formats. A property list is itself an array or dictionary that contains only NSData, NSString, NSArray, NSDictionary, NSDate, and NSNumber objects. Property list objects are toll-free bridged with their respective Core Foundation types (CFData, CFString, and so on). See Toll-Free Bridging  for more information on toll-free bridging.

## Topics

### Serializing a Property List

- [data(fromPropertyList:format:options:)](foundation/propertylistserialization/data(frompropertylist:format:options:).md)
- [writePropertyList(_:to:format:options:error:)](foundation/propertylistserialization/writepropertylist(_:to:format:options:error:).md)
- [PropertyListSerialization.WriteOptions](foundation/propertylistserialization/writeoptions.md)

### Deserializing a Property List

- [propertyList(from:options:format:)](foundation/propertylistserialization/propertylist(from:options:format:).md)
- [propertyList(with:options:format:)](foundation/propertylistserialization/propertylist(with:options:format:).md)

### Validating a Property List

- [propertyList(_:isValidFor:)](foundation/propertylistserialization/propertylist(_:isvalidfor:).md)

### Obsolete Methods

- [dataFromPropertyList(_:format:errorDescription:)](foundation/propertylistserialization/datafrompropertylist(_:format:errordescription:).md)
- [propertyListFromData(_:mutabilityOption:format:errorDescription:)](foundation/propertylistserialization/propertylistfromdata(_:mutabilityoption:format:errordescription:).md)

### Constants

- [PropertyListSerialization.MutabilityOptions](foundation/propertylistserialization/mutabilityoptions.md)
- [PropertyListSerialization.PropertyListFormat](foundation/propertylistserialization/propertylistformat.md)
- [PropertyListSerialization.ReadOptions](foundation/propertylistserialization/readoptions.md)

### Error Codes

- [NSPropertyListReadCorruptError](foundation/nspropertylistreadcorrupterror-swift.var.md)
- [NSPropertyListReadUnknownVersionError](foundation/nspropertylistreadunknownversionerror-swift.var.md)
- [NSPropertyListReadStreamError](foundation/nspropertylistreadstreamerror-swift.var.md)
- [NSPropertyListWriteStreamError](foundation/nspropertylistwritestreamerror-swift.var.md)
- [NSPropertyListWriteInvalidError](foundation/nspropertylistwriteinvaliderror-swift.var.md)
- [NSPropertyListErrorMinimum](foundation/nspropertylisterrorminimum-swift.var.md)
- [NSPropertyListErrorMaximum](foundation/nspropertylisterrormaximum-swift.var.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)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Property Lists

- [PropertyListEncoder](foundation/propertylistencoder.md)
- [PropertyListDecoder](foundation/propertylistdecoder.md)
