Skip to content
Thoughtful, detailed coverage of everything Apple for 30 years
and the TidBITS Content Network for Apple professionals
3 comments

How to Decode Apple Version and Build Numbers

Everyone knows that Apple operating systems have version numbers, like iOS 13.5.1 or macOS 10.15.5. But have you noticed that Apple operating systems also have build numbers? For instance, iOS 13.5.1 is build number 17F80. But what does that mean?

To see your macOS version and build numbers on a Mac, choose Apple > About This Mac and click the version number. In iOS or iPadOS, go to Settings > General > About and tap Software Version. For watchOS, in your iPhone’s Watch app, go to General > About and look at the Version line.

Finding build numbers in Apple operating systems

Although it’s easy to check the build number of any operating system you’re running, Apple doesn’t publish a canonical list of them anywhere. For that information, head to Wikipedia’s iOS Version History, macOS Version History, watchOS, and tvOS articles or look in the MacTracker app (for the macOS build numbers, you’ll need to click through from the version history article to the expanded article about each release).

Apple makes a new build of each operating system at least every night, so there’s a fresh version ready for the engineers each morning. Most of these builds are never released outside the company, so they don’t get an official version number like 13.5.1. But the engineers still need a way to identify a particular build. That’s what build numbers are for. Once you understand how to decode Apple’s build numbers, you can glean additional information about any given release.

Understanding Apple Version and Build Numbers

Apple’s two main operating system lines, iOS and macOS, have independent version and build number systems. iOS, iPadOS, watchOS, and tvOS share a common system since they are all derived from the iOS code base. (Only Darwin-derived operating systems—macOS, iOS, iPadOS, watchOS, and tvOS—use build numbers. Classic Mac OS and iPod OS didn’t use the same build number system.)

As you know, every Apple operating system release has an official version number, composed of three parts:

  • Major version: For iOS, it’s incremented once per year for significant upgrades. For macOS, the major version number has been 10 since the initial release of Mac OS X, rendering it pointless up until the upcoming update to macOS 11 Big Sur.
  • Minor version: For iOS, the minor version is incremented as necessary (usually three to six times) throughout the lifespan of a major version to reflect updates that contain new features along with bug fixes. For macOS, the minor version is really the major version, incrementing for each annual named release of macOS.
  • Patch version: For iOS, the patch version increments as necessary for bug fix updates to each minor release. For macOS, Apple updates the patch version for every release that’s more than just a quick bug fix—those are called “supplemental updates” and don’t get their own version numbers. But their build numbers change!

Here’s a simple chart to help clarify the official version numbering scheme.

OS Major Minor Patch
iOS 13 5 1
macOS 10 15 5

An Apple build number also has three parts:

  • Major version: Within Apple, the major version is called the build train.
  • Minor version: For iOS and its descendants, the minor version tracks with the minor release; for macOS, it tracks with patch releases.
  • Daily build version: The daily build indicates how many times Apple has built the source code for the release since the previous public release.

To make this crystal clear, look at iOS 13.5.1, which is build 17F80, and macOS 10.15.5 with its supplemental update, which is build 19F101.

OS Major Minor Daily
iOS 13.5.1 17 F 80
macOS 10.15.5 19 F 101

One tangentially related note: For macOS Big Sur, Apple updated the major version number to 11 and reset the minor version number to 0. This move may cause problems for some apps that check feature availability by looking up the operating system version. Since macOS’s major version number remained at 10 for so long, some developers got lazy and checked only the minor version number. Needless to say, such sloppy code could break in Big Sur. Luckily, as Howard Oakley explains, Apple has made some effort to mitigate this problem by having Big Sur return 10.16 rather than 11.0 in some situations. This is why apps should check macOS APIs directly for the existence of a particular feature, rather than assume it exists in a specific operating system version just because Apple first included it in that version or an earlier one.

Major Build Number

These days, the major build number for iOS changes every year. iOS 13’s major build number is 17; iOS 14’s is 18.

iOS, iPadOS, watchOS, and tvOS Build Trains
iOS iPadOS watchOS tvOS Major Build Number
iPhone OS 1 1–4
iPhone OS 2 5
iPhone OS 3 7
iOS 4 8
iOS 5 9
iOS 6 10
iOS 7 11
iOS 8 watchOS 1 12
iOS 9 watchOS 2 tvOS 9 13
iOS 10 watchOS 3 tvOS 10 14
iOS 11 watchOS 4 tvOS 11 15
iOS 12 watchOS 5 tvOS 12 16
iOS 13 iPadOS 13 watchOS 6 tvOS 13 17
iOS 14 iPadOS 14 watchOS 7 tvOS 14 18

With macOS, the major build number also changes with every significant release, which occurs every year now, although less frequently in the past.

macOS Build Trains
macOS Version Major Build Number
Mac OS X Public Beta 1
Mac OS X 10.0 Cheetah 4
Mac OS X 10.1 Puma 5
Mac OS X 10.2 Jaguar 6
Mac OS X 10.3 Panther 7
Mac OS X 10.4 Tiger 8
Mac OS X 10.5 Leopard 9
Mac OS X 10.6 Snow Leopard 10
Mac OS X 10.7 Lion 11
Mac OS X 10.8 Mountain Lion 12
Mac OS X 10.9 Mavericks 13
Mac OS X 10.10 Yosemite 14
Mac OS X 10.11 El Capitan 15
macOS 10.12 Sierra 16
macOS 10.13 High Sierra 17
macOS 10.14 Mojave 18
macOS 10.15 Catalina 19
macOS 11.0 Big Sur 20

Minor Build Letter

For iOS, the minor build version usually changes for each X.1 operating system release. It’s a letter, not a number, and generally clambers its way up the alphabet. There are some discrepancies, such as iOS 13.1 continuing minor version A instead of switching to B. Also, iOS 13.3 is minor version C, and iOS 13.4 is minor version E, skipping D. More on these oddities shortly.

iOS 13 Minor Versions
iOS Version Build
iOS 13.0 17A577
iOS 13.1 17A844
iOS 13.2 17B84
iOS 13.3 17C54
iOS 13.4 17E255
iOS 13.5 17F75

Things are a bit different in the macOS world. As you can see, the minor build letter corresponds with the macOS patch release number.

Catalina Minor Versions
macOS Version Build
macOS 10.15.0 19A583
macOS 10.15.1 19B88
macOS 10.15.2 19C57
macOS 10.15.3 19D76
macOS 10.15.4 19E266
macOS 10.15.5 19F96

Daily Build Number

Things get interesting when we come to the daily build number. Apple engineers increment it every time a new build is made, usually every night, but sometimes more often. The first time Apple made an engineering build of iOS 13, it was assigned build number 17A1. The next build was 17A2. And so on.

The first shipping version of iOS 13.0 was 17A577, which means Apple made 577 builds of iOS 13 before it shipped the first copy to users. The second shipping build was iOS 13.1, build number 17A844. It took an additional 267 builds to create iOS 13.1. More interesting are the build numbers corresponding to the patch releases.

iOS 13 Patch Releases
iOS Version Build
iOS 13.0 17A577
iOS 13.1 17A844
iOS 13.1.1 17A854
iOS 13.1.2 17A860 and 17A861
iOS 13.1.3 17A878

As you can see, Apple was pushing those patch releases out quickly—there were only 10 builds between iOS 13.1 and iOS 13.1.1, only 6 or 7 between 13.1.1 and 13.1.2, and only 17 or 18 more before the release of iOS 13.1.3. I don’t know why iOS 13.1.2 had two build numbers; iPadOS 13.1.2 shared only the first one, so perhaps the second one was specific to a particular iPhone model or geographic area.

With macOS, the daily build number is more important. As you’ve undoubtedly noticed, when Apple is forced to release a quick bug fix update for all of its operating systems, it sometimes gets stuck with macOS. iOS 13.5 went to 13.5.1, for instance, but macOS 10.15.5 was given a “supplemental update” with no change in the official version number.

Luckily, the build number has no such limitation. As you can see in the chart, the daily build number changes for the supplemental updates, enabling you to tell if your copy of macOS has been updated or not. That’s helpful because Apple usually backpatches supplemental updates into the update they address. So if you held off on installing macOS 10.15.5 for a week, by the time you got to it, it would have already included the macOS 10.15.5 Supplemental Update (see “Kernel Vulnerability Causes Apple to Update All Operating Systems,” 1 June 2020). The only way you could tell what you had would be to look at the build number.

Catalina Supplemental Updates
macOS Version Build
macOS 10.15 19A583
macOS 10.15 Supplemental Update 19A602
macOS 10.15 Revised Supplemental Update 19A603
macOS 10.15.4 19E266
macOS 10.15.4 Supplemental Update 19E287
macOS 10.15.5 19F96
macOS 10.15.5 Supplemental Update 19F101

Extracting Meaning from Build Numbers

As you can see, we can learn useful information from build numbers. For instance, watchOS 1 (12S506) has major build number 12, the same as iOS 8 (12A365), because watchOS 1 is derived from the iOS 8 code base.

We can also tell iOS and iPadOS are built from the same source because they have the same build number (17A577). On the other hand, we can tell tvOS 13 and watchOS 6 are derived from the iOS 13 code base, because they have the same major build number, but are distinct branches, because they have different minor build numbers that aren’t used for iOS, with tvOS starting at J and watchOS starting at R.

OS Build
iOS 13.0 17A577
tvOS 13.0 17J586
watchOS 6.0 17R575

Apple isn’t dogmatic about following these rules, or, to put it another way, circumstances sometimes force the company to deviate from its rules. If it had followed past years, iOS 13.1 would have been 17B267, but it was 17A844. This fact probably means that Apple originally thought that iOS 13.1 was going to be iOS 13.0.1, but it ended up containing such important changes that the company decided to increment the minor version number rather than the patch version number.

Last year’s confused iOS release reflects that decision, with Apple releasing iOS 13.0 and promising a quick update to iOS 13.1 with features that weren’t ready at launch (see “Apple to Ship iOS 13 on September 19th, iOS 13.1 on September 30th,” 10 September 2019, and “Features Added in iOS 13.1: Personal Automations, Driving ETA, and More,” 24 September 2019).

Similarly, iOS 13.3 is 17C54 and iOS 13.4 is 17E255—what happened to minor version D? That was assigned to iOS 13.3.1, which has build number 17D50. Presumably, Apple had planned the release that ended up being iOS 13.3.1 to include the many new features in iOS 13.4 but felt a pressing need to push out a quick bug fix update first. In this case, it was to address the privacy concerns surrounding the ultrawideband technology in the iPhone 11 (see “Apple Releases iOS 13.3.1, iPadOS 13.3.1, macOS 10.15.3, watchOS 6.1.2, and tvOS 13.3.1,” 28 January 2020).

There are undoubtedly many other stories behind jumps in build numbers or build numbers that skip around. An apparently missing build might be destined for HomePod, or an unreleased product, or a product only used internally at Apple. But what’s important going forward is that you now know how to find and decode the build number associated with any given operating system release. And with that information in hand, you can draw various conclusions about the release: how much work went into it, whether Apple was taken off guard by some bug report, or just whether or not you’ve actually received a supplemental update.

Subscribe today so you don’t miss any TidBITS articles!

Every week you’ll get tech tips, in-depth reviews, and insightful news analysis for discerning Apple users. For 29 years, we’ve published professional, member-supported tech journalism that makes you smarter.

Registration confirmation will be emailed to you.

Comments About How to Decode Apple Version and Build Numbers

Notable Replies

  1. One interesting fact that’s worth mentioning:

    On macOS, the major build number matches the Darwin kernel major version. See Wikipedia. With the exception of Mac OS X 10.0 (kernel 1.3.1), and 10.1 (kernel 1.4.1, later renumbered to 5), the two increment in lock-step with each other.

    Surprisingly, Apple apparently chose to not do this for iOS/watchOS/tvOS.

    I wonder if they will start sync’ing with each other in the future after ARM-based Macs ship, since all devices will (most likely) be running different builds of the same kernel.

  2. Sounds like a reasonably good solution to a no-win situation.

Join the discussion in the TidBITS Discourse forum

Participants