You can use the resources on this page as documentation for the Swift language. Apple hosts additional resources for learning Swift—such as videos, sample code and playgrounds, and additional documentation—including the Swift standard library reference.

The Swift Programming Language

The Swift Programming Language is the authoritative reference for Swift, offering a guided tour, a comprehensive guide, and a formal reference of the language. You can read the book here:

You can also download the latest version as an ePub, available under a Creative Commons Attribution 4.0 International (CC BY 4.0) License.


We encourage you to participate in translating The Swift Programming Language into other languages. Get involved with an existing translation project, or start a new one where there’s a need. For example:

If you know of a quality translation project underway, please let us know on the Compiler Development forums, and we’ll do our best to provide a link to that project from this page.

Swift Package Manager

The Swift Package Manager is a tool for managing the distribution of Swift code. It’s integrated with the Swift build system to automate the process of downloading, compiling, and linking dependencies. The package manager manifest API documentation is available here.

API Design Guidelines

A goal for Swift is for code to share a uniform standard for the programmer’s user experience, much of which is defined by the names and idioms that appear in APIs. These design guidelines explain how to make sure that your code feels like a part of the larger Swift ecosystem.

Migration Guides

Xcode includes a Swift Migrator tool that helps you migrate your project to the latest version of Swift, or update it to work with the latest SDKs.