Skip to main content

iOS version distribution

iOS version distribution chart for deployment target decisions

Use this iOS usage chart to choose a deployment target by the users you still need to cover. Cumulative usage answers: if this iOS version is your floor, what percent of iPhone and iPad devices can run your Capacitor, React Native, Flutter, or native app.

As of June 5, 2026 , targeting iOS 15 covers about 96% of devices . A 99% goal lands near iOS 11 . The newest tracked release with data is iOS 26 at 67.8%.

Last updated
Updated June 5, 2026
Source
Source: iOS Ref

Compare with Android min SDK coverage on the Android version distribution chart .

Choose your minimum

What iOS version covers your users?

Pick a minimum iOS version, or set the user coverage you need. The chart answers: if this is your floor, what share of devices can install your app.

Finds the newest iOS version that still reaches at least this many users. Use tenths for targets like 99.5% or 99.9%.

Loading target…

How to use the chart

How to pick an iOS deployment target from version usage data

1. Set a coverage goal

Decide how much of the iOS install base you must keep. Teams often start at 95% and only climb to 99% or 99.9% when older iPhones still matter.

2. Use cumulative usage

A deployment target means that iOS version or newer. Cumulative usage matches that definition and is the number to trust for App Store reach estimates.

3. Take the newest safe floor

Prefer the newest iOS version that still hits your goal. That unlocks newer APIs and Xcode defaults while protecting the users behind your coverage target.

Device coverage

Last iOS version by device and cumulative usage

See which devices stop at each major iOS release, sorted by cumulative coverage from highest to lowest.

Version Released Cumulative usage Last iOS for
iOS 10 2016 99.3% iPhone 5c , iPhone 5
iOS 9 2015 99.3% iPhone 4s
iOS 8 2014 99.3%
iOS 7 2013 99.3% iPhone 4
iOS 6 2012 99.3% iPhone 3GS
iOS 5 2011 99.3%
iOS 4 2010 99.3% iPhone 3G
iOS 11 2017 99.2%
iOS 12 2018 96.8% iPhone 6 / 6 Plus , iPhone 5s
iOS 13 2019 96.4%
iOS 14 2020 96.3%
iOS 15 2021 96% iPhone 7 / 7 Plus ,iPhone SE (gen 1) , iPhone 6s / 6s Plus
iOS 16 2022 94% iPhone X , iPhone 8 / 8 Plus
iOS 17 2023 90.6%
iOS 18 2024 87.2% iPhone XS / XS Max , iPhone XR
iOS 26 2025 67.8%
iOS 27 2026
iOS 3 2009 iPhone (gen 1)
iOS 2 2008

FAQ

iOS distribution FAQ

Answers for teams setting IPHONEOS_DEPLOYMENT_TARGET, planning Xcode upgrades, or reviewing Capacitor iOS support.

What is an iOS version distribution chart?

It shows cumulative iOS usage: the share of devices running at least a given major iOS version. That is the figure to use when you choose IPHONEOS_DEPLOYMENT_TARGET or a minimum supported iOS release.

How do I choose an iOS deployment target from this data?

Pick the coverage you need, then take the newest iOS version that still meets it. On this dataset, iOS 15 covers about 96%. Move toward 99% or 99.9% if you must keep older iPhones, or accept a lower floor to use newer APIs sooner.

Why is cumulative usage more useful than raw version share?

A deployment target means “this iOS version or newer.” Cumulative usage matches that rule. Raw share for one release understates how many devices can run the build.

How often is this iOS usage data updated?

Capgo refreshes the chart from iOS Ref daily. When the published numbers change, the JSON in the repo updates automatically. This page currently reflects data updated June 5, 2026.

Does this help Capacitor and Ionic iOS apps?

Yes. Capacitor apps ship as native iOS binaries, so the deployment target controls App Store eligibility and device reach. Check this chart before raising the floor for plugins, Xcode upgrades, or cloud builds.

Related developer resources

Keep going with Android coverage data, Apple signing tools, and Capgo release workflows.

How this data is kept current

A daily job fetches the latest numbers from the sources above. If the figures changed, the JSON files are committed automatically; if not, the repo stays untouched. The pages read these files at build time, so the charts stay in sync with the latest published data.