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. A great example is The Swift Programming Language (Chinese translation, GitHub project).

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.

API Design Guidelines

A goal of the Swift 3.0 release was to set 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.