Skip to content

← All tools

Free reference for Apple developers

Swift and Xcode version compatibility

Xcode 27, 27.1 and 27.2 ship the Swift 6.4 compiler; Xcode 26.4.1 to 26.6 ship Swift 6.3; Xcode 16 was the first to offer the Swift 6 language mode, and every Xcode still offers Swift 5 mode. A Package.swift that declares .iOS(.v18) needs swift-tools-version 6.0, which means Xcode 16 or later. Below: every Xcode from 14.0 with its Swift compiler, language modes, SDKs, minimum macOS and release date; the oldest Xcode for any Swift version; the tools version each platform declaration needs; and a box that tells you what your own xcodebuild -version or swift --version output means.

What do I have?

Paste what Terminal prints for xcodebuild -version or swift --version (or both). Nothing leaves this page.

Paste the output above to see which Xcode or Swift it is.

Pick an Xcode version

What it ships and what it can build, from Apple's table.

Swift compiler
6.4
Language modes
6, 5, 4.2, 4
SDKs
iOS 27.2 · macOS 27.2 · tvOS 27.2 · watchOS 27.2 · visionOS 27.2 · DriverKit 27.2
Runs on
macOS Tahoe 26.6 or later
Package.swift it can read
swift-tools-version up to 6.4
Newest platform names it knows
.iOS(.v27) .macOS(.v27) .tvOS(.v27) .watchOS(.v27) .visionOS(.v27)

Pick a Swift version

The oldest Xcode that has it, and when swift.org announced it.

Oldest Xcode with Swift 6.4: Xcode 27, released 14 September 2026.

Every Xcode in the table with it: Xcode 27, Xcode 27.1, Xcode 27.2.

swift.org announced Swift 6.4 on 15 September 2026. Source

The post does not name an Xcode version.

Which swift-tools-version does my Package.swift need?

Pick a platform declaration. The tools version is the first PackageDescription version that has the name, from Apple's documentation.

.iOS(.v18) needs // swift-tools-version:6.0 or later.

The oldest Xcode in Apple's table with a Swift 6.0 compiler or newer is Xcode 16.

Other manifest settings

Swift 5 and Swift 6 language modes

  • Apple's table first lists the Swift 6 language mode for Xcode 16. Every Xcode in the table still lists the Swift 5 mode.
  • swift.org's migration guide: "A Package.swift file that uses swift-tools-version of 6.0 enables the Swift 6 language mode for all targets." Source
  • To keep a target in Swift 5 mode with tools 6.0, add .swiftLanguageMode(.v5) to its swiftSettings. In an Xcode project the setting is "Swift Language Version" (SWIFT_VERSION).
  • swift.org, announcing Swift 6: "Swift 6 now includes a new, opt-in language mode". Source

Xcode and Swift versions

Every row of Apple's "SDK and system requirements" table, newest first. Release dates are from Apple's Releases page. Apple's table · Releases

XcodeSwiftLanguage modesReleasediOS SDKmacOS SDKRuns on
Xcode 27.2
27B52
6.46, 5, 4.2, 429 October 202627.227.2macOS Tahoe 26.6 or later
Xcode 27.1
27A9275
6.46, 5, 4.2, 415 October 202627.127macOS Tahoe 26.6 or later
Xcode 27
27A266a
6.46, 5, 4.2, 414 September 20262727macOS Tahoe 26.6 or later
Xcode 26.6
17F113
6.36, 5, 4.2, 425 June 202626.526.5macOS Tahoe 26.2 - macOS Tahoe 26.x
Xcode 26.5
17F42
6.36, 5, 4.2, 411 May 202626.526.5macOS Tahoe 26.2 - macOS Tahoe 26.x
Xcode 26.4.1
17E202
6.36, 5, 4.2, 416 April 202626.426.4macOS Tahoe 26.2 - macOS Tahoe 26.x
Xcode 26.3
17C529
6.2.36, 5, 4.2, 426 February 202626.226.2macOS Sequoia 15.6 - macOS Tahoe 26.x
Xcode 26.2
17C52
6.2.36, 5, 4.2, 412 December 202526.226.2macOS Sequoia 15.6 - macOS Tahoe 26.x
Xcode 26.1.1
17B100
6.2.16, 5, 4.2, 411 November 202526.126.1macOS Sequoia 15.6 - macOS Tahoe 26.x
Xcode 26.1
17B55
6.2.16, 5, 4.2, 43 November 202526.126.1macOS Sequoia 15.6 - macOS Tahoe 26.x
Xcode 26.0.1
17A400
6.26, 5, 4.2, 422 September 20252626macOS Sequoia 15.6 - macOS Tahoe 26.x
Xcode 26
17A324
6.26, 5, 4.2, 415 September 20252626macOS Sequoia 15.6 - macOS Tahoe 26.x
Xcode 16.4
16F6
6.16, 5, 4.2, 428 May 202518.515.5macOS Sequoia 15.3 - macOS Tahoe 26.1.x
Xcode 16.3
16E140
6.16, 5, 4.2, 431 March 202518.415.4macOS Sequoia 15.2 - macOS Sequoia 15.x
Xcode 16.2
16C5032a
6.06, 5, 4.2, 411 December 202418.215.2macOS Sonoma 14.5 - macOS Sequoia 15.x
Xcode 16.1
16B40
6.06, 5, 4.2, 428 October 202418.115.1macOS Sonoma 14.5 - macOS Sequoia 15.x
Xcode 16
16A242d
6.06, 5, 4.2, 416 September 20241815macOS Sonoma 14.5 - macOS Sequoia 15.x
Xcode 15.4
15F31d
5.105, 4.2, 413 May 202417.514.5macOS Sonoma 14.x
Xcode 15.3
15E204a
5.105, 4.2, 45 March 202417.414.4macOS Sonoma 14.x
Xcode 15.2
15C500b
5.95, 4.2, 48 January 202417.214.2macOS Ventura 13.5 - macOS Sonoma 14.x
Xcode 15.1*
15C65
5.95, 4.2, 411 December 202317.214.2macOS Ventura 13.5 - macOS Sonoma 14.x
Xcode 15.0.x
15A240d
5.9518 September 20231714macOS Ventura 13.5 - macOS Sonoma 14.x
Xcode 14.3.1
14E300c
5.8.15, 4.2, 41 June 202316.413.3macOS Ventura 13.x
Xcode 14.3*
14E222b
5.85, 4.2, 430 March 202316.413.3macOS Ventura 13.x
Xcode 14.2
14C18
5.75, 4.2, 413 December 202216.213.1macOS Monterey 12.5 - macOS Ventura 13.x
Xcode 14.1
14B47b
5.75, 4.2, 41 November 202216.113macOS Monterey 12.5 - macOS Ventura 13.x
Xcode 14.0.x
14A309
5.75, 4.2, 412 September 20221612.3macOS Monterey 12.5 - macOS Ventura 13.x

Apple's definition of the Swift column: "The version of the Swift compiler and the supported Swift language mode in this version of Xcode."

Swift releases on swift.org

Release posts on the swift.org blog. Where a post names the Xcode that includes the compiler, its words are quoted.

SwiftAnnouncedXcode named in the postOldest Xcode in Apple's table
Swift 6.415 September 2026not statedXcode 27
Swift 6.324 March 2026not statedXcode 26.4.1
Swift 6.215 September 2025not statedXcode 26
Swift 6.131 March 2025Xcode 16.3 “If you're building apps for Apple platforms, Swift 6.1 is included in Xcode 16.3, now available from the App Store.”Xcode 16.3
Swift 6.017 September 2024not statedXcode 16
Swift 5.105 March 2024not statedXcode 15.3
Swift 5.918 September 2023Xcode 15 “The Swift 5.9 compiler is also included in Xcode 15.”Xcode 15.0.x
Swift 5.830 March 2023Xcode 14.3 “The Swift 5.8 compiler is also included in Xcode 14.3.”Xcode 14.3*
Swift 5.712 September 2022Xcode 14 “The Swift 5.7 compiler is also included in Xcode 14.”Xcode 14.0.x

swift.org's install page offers Swift 6.4.2 on 1 November 2026; Apple's table lists Swift 6.4 for Xcode 27.2. Source

Checked against Apple's and swift.org's pages on 1 November 2026.

How it works

  • •Xcode rows come from Apple's "SDK and system requirements" table on its Xcode support page, cell for cell, and release dates from Apple's Releases page. It is the same data as our Xcode SDK requirements page, so the two never disagree.
  • •Swift release dates and the sentences naming an Xcode come from the release posts on the swift.org blog. Where a post does not name an Xcode, the page says "not stated" instead of guessing.
  • •The tools version for a platform name such as .iOS(.v18) is the "First available in PackageDescription" version on Apple's PackageDescription documentation page for that name.
  • •The oldest Xcode for a tools version is the first Xcode whose Swift compiler is at least that version. Apple's documentation defines the tools version as the minimum Swift tools needed to use the package.
  • •The version box reads the Xcode and Build lines from xcodebuild -version and the "Apple Swift version" line from swift --version, then looks them up in the table. One row was checked on a real Mac with Xcode 27.1.
  • •Checked against Apple's and swift.org's pages on 1 November 2026. We check again when Apple ships a new Xcode.

What it does not do

  • •No Xcode before 14.0 and no betas: Apple's table lists neither. Xcode 26.4 is not in Apple's table either (it lists 26.4.1), so it is not here.
  • •Swift patch releases on Linux and Windows are not matched to anything; they do not come with Xcode.
  • •Cells the sources do not state are left as "not stated", never filled from memory or other websites.
  • •It does not read your project, your Mac or your Package.swift. Paste text in; nothing is uploaded.
  • •It does not say whether App Store Connect accepts a build. For upload deadlines, see the Xcode SDK requirements page.

FAQ

Which Swift version comes with Xcode 26 and Xcode 27?
Per Apple's table: Xcode 26 and 26.0.1 ship Swift 6.2; 26.1 and 26.1.1 ship 6.2.1; 26.2 and 26.3 ship 6.2.3; 26.4.1, 26.5 and 26.6 ship 6.3; Xcode 27, 27.1 and 27.2 ship 6.4.
Which Xcode do I need for Swift 6?
Xcode 16 is the first in Apple's table with the Swift 6.0 compiler and the Swift 6 language mode. The mode is opt-in: an Xcode project picks it with the Swift Language Version build setting (SWIFT_VERSION), and a package gets it by default with swift-tools-version 6.0.
Which swift-tools-version do I need for .iOS(.v18) or .iOS(.v26)?
Apple's PackageDescription documentation says .v18 was first available in PackageDescription 6.0, .v26 in 6.2 and .v27 in 6.4. The same holds for macOS 15, tvOS 18, watchOS 11 and visionOS 2 (6.0). Write that number, or a higher one, in the // swift-tools-version: line.
If I raise swift-tools-version to 6.0, does my code switch to Swift 6 mode?
Yes. swift.org's migration guide says a Package.swift that uses swift-tools-version 6.0 enables the Swift 6 language mode for all targets. To keep a target on Swift 5, add .swiftLanguageMode(.v5) to its swiftSettings, or set swiftLanguageModes for the whole package.
How do I find out which Swift version I have?
Run swift --version in Terminal. With Xcode it prints a line like "Apple Swift version 6.4 (swiftlang-6.4.0.34.1 ...)". xcodebuild -version prints the Xcode version and build. Paste either into the box on this page.
Which macOS do I need for Xcode 27?
Apple's table says Xcode 27, 27.1 and 27.2 run on macOS Tahoe 26.6 or later. Xcode 26.4.1 to 26.6 need macOS Tahoe 26.2, and Xcode 26 to 26.3 run on macOS Sequoia 15.6 or later.

Guides that use this tool

Related