---
title: LosslessStringConvertible
framework: swift
role: symbol
role_heading: Protocol
path: swift/losslessstringconvertible
---

# LosslessStringConvertible

A type that can be represented as a string in a lossless, unambiguous way.

## Declaration

```swift
protocol LosslessStringConvertible : CustomStringConvertible
```

## Overview

Overview For example, the integer value 1050 can be represented in its entirety as the string “1050”. The description property of a conforming type must be a value-preserving representation of the original value. As such, it should be possible to re-create an instance from its string representation.

## Topics

### Initializers

- [init(_:)](swift/losslessstringconvertible/init(_:).md)

## Relationships

### Inherits From

- [CustomStringConvertible](swift/customstringconvertible.md)

### Inherited By

- [FixedWidthInteger](swift/fixedwidthinteger.md)
- [StringProtocol](swift/stringprotocol.md)

### Conforming Types

- [Bool](swift/bool.md)
- [Character](swift/character.md)
- [Double](swift/double.md)
- [Float](swift/float.md)
- [Float16](swift/float16.md)
- [Float80](swift/float80.md)
- [Int](swift/int.md)
- [Int128](swift/int128.md)
- [Int16](swift/int16.md)
- [Int32](swift/int32.md)
- [Int64](swift/int64.md)
- [Int8](swift/int8.md)
- [String](swift/string.md)
- [Substring](swift/substring.md)
- [UInt](swift/uint.md)
- [UInt128](swift/uint128.md)
- [UInt16](swift/uint16.md)
- [UInt32](swift/uint32.md)
- [UInt64](swift/uint64.md)
- [UInt8](swift/uint8.md)
- [Unicode.Scalar](swift/unicode/scalar.md)

## See Also

### String Representation

- [CustomStringConvertible](swift/customstringconvertible.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
