An App Clip runs without installing the app, and the number that shapes it is the uncompressed binary size.
An App Clip is a small part of your iOS app that a person can use without installing the app. Apple caps it by size, and the cap is on the uncompressed App Clip binary: 10 MB if you still support iOS 15 or earlier, 15 MB if you still support iOS 16, and 100 MB only if the App Clip requires iOS 17 or later and is launched from links rather than from a code or a tag. Those three figures come from Apple's own documentation, read on 10 October 2026. Most people meet App Clips a long way into building an app that is already on the store, because an App Clip cannot exist without one.
What follows is what that limit actually measures, the eight ways a person can land in an App Clip, where the clip lives inside your project, and what happened to Android's version of the same idea. The Android answer is short. It is gone.
Start hereThe short version
Size is the design brief, and the limit is measured raw.
Every other decision about an App Clip falls out of the ceiling. One task, a handful of screens, no onboarding, nothing to log into unless you have to. Apple does not set a target you can creep up on. It tells you to stay well below the applicable limit, because a clip that takes a while to arrive has already failed at the job it exists for.
The second thing to understand is that an App Clip is not a separate product. It lives in the same Xcode project as the app, gets embedded in the app bundle you upload, and is reviewed and released with the app. There is no App Clip listing, no App Clip price and no App Clip without a full app behind it. People do not manage clips the way they manage apps either. Nothing appears on the Home screen, and the system removes an App Clip from the device after a period of inactivity.
What is the App Clip size limit, and what does it measure?
It measures the uncompressed App Clip binary. Not the download, not the full app, and not the compressed archive you upload. Apple lists three ceilings against the oldest iOS version the clip supports. If iOS 15 or earlier is in scope, the limit is 10 MB. If iOS 16 is the oldest, it is 15 MB. On iOS 17 and later the clip can go to 100 MB, which is the number most older write ups on the subject predate.
The 100 MB tier is conditional, and the conditions are strict enough to disqualify most of the uses people reach for App Clips for. The clip has to support digital invocations only, which means a link from your website or from Spotlight search. It must not support physical invocations such as App Clip Codes, QR codes or NFC tags. And it must not support iOS 16 or earlier. Scan a code on a table in a cafe and you are back on the smaller ceiling. The documented way out is the App Clip demo link that App Store Connect generates, which gives you 100 MB and keeps App Clip Codes, NFC tags and QR codes working. That is why the larger tier shows up mostly as a demo of a paid app rather than as a real world task: a game offering its first level, a fitness app offering one workout, with a prompt to install the full app when the person finishes.
Because the limit is on the clip's own binary, what you pay for is what you link into that target. Fonts, asset catalogues, embedded frameworks and the bits of shared code you drag along all land on the bill. If the clip genuinely needs more than it can carry, Apple points at the Background Assets framework to fetch the rest after launch, which is how a demo version of a game gets its content without blowing the ceiling.
Apple, choosing the right functionality for your App Clip, read 10 October 2026
Check yours
Which size ceiling applies to your App Clip
Pick the oldest iOS version your App Clip has to run on, then tell it how people will launch the thing. The number it gives back is the uncompressed binary limit for that case.
Oldest iOS version you support
How it gets launched
Pick an iOS version to see the ceiling. Most App Clips that have to work on an older phone are building to 15 MB.
How does someone actually get into an App Clip?
Through one of eight routes, and all of them land on the same card first. The list on Apple's page about configuring App Clip experiences: scanning an App Clip Code, an NFC tag or a QR code at a physical place; a location based suggestion from Siri Suggestions; a link in the Maps app; a Smart App Banner on a website in Safari; the action button of an App Clip card in Safari, which needs iOS 15 or later; a link shared in Messages, as a text message only; an App Clip preview or link inside another app, which needs iOS 17 or later; and a plain link in an email or on a web page.
The App Clip card is the first thing a person sees: a header image, a short subtitle and a call to action verb. You cannot change any of it from code. To show different wording in different places you configure a separate advanced App Clip experience for each context, and you localise the text in App Store Connect rather than in the app.
Every App Clip needs a default experience, which you set up in App Store Connect after uploading the full app. Apple generates a default App Clip link for it. Advanced experiences are optional and keyed to URLs, which is how one clip serves several locations or several businesses, and the system picks the most specific match by URL prefix. If the invocation URL sits on your own domain, you have to prove the domain belongs to you with an apple-app-site-association file in the well-known directory, the same association mechanism universal links use.
Notifications are worth knowing about because they are the one piece of persistence a clip gets. Apple's page on enabling notifications in App Clips sets the window: a clip may schedule or receive notifications for up to 8 hours after each launch. You turn it on by adding the NSAppClip dictionary to the clip's Info.plist and setting NSAppClipRequestEphemeralUserNotification to true. The card then shows a note saying the clip can send notifications, on by default, which the person can switch off by tapping it. Check for an authorization status of ephemeral before you schedule anything, or you will be scheduling into a void.
Does the App Clip ship inside my app or on its own?
Inside. You use the same Xcode project for the app and the clip, and when you add the App Clip target Xcode creates a build phase on the app target that embeds the clip in the app. The clip gets its own app identifier, built from the full app's identifier plus a suffix, so com.example.MyApp gains a com.example.MyApp.Clip beside it. Three entitlements hold the pair together: on-demand install capable on the clip, parent application identifiers on the clip, and an associated App Clip app identifiers entitlement that Xcode adds to the app when you archive it.
Distribution follows from that. You never submit an App Clip by itself. You export and submit the app bundle of the full app that contains the clip, and the clip reaches testers through TestFlight and customers through the App Store as part of that app. There is no separate listing of its own. Ad hoc and development builds are the one exception, where you export the clip and the app separately, and enterprise distribution is not available for App Clips at all. In the same way that iOS widgets and the Dynamic Island are extra targets hanging off one app, an App Clip is another surface you ship with the app rather than a product of its own.
The constraint behind the constraint is that Apple requires a corresponding full app offering at least the same functionality as the clip. You cannot ship an App Clip as your whole product and skip the app. And a long list of things simply does not work inside a clip. No background networking with URLSession, no Background Modes, no keeping a Bluetooth connection alive while the clip is idle. App Tracking Transparency and SKAdNetwork are unavailable, and the device name and the vendor identifier both come back as empty strings. Location is When In Use only, and that grant resets daily at 4:00 a.m. Face ID is out, Touch ID through LocalAuthentication is in. Whole frameworks provide no functionality at runtime, among them BackgroundTasks, HealthKit, HomeKit, CallKit, Contacts, CoreMotion, EventKit, MediaPlayer, PhotoKit, SensorKit, Speech and AppIntents. CloudKit does nothing on iOS 14 and 15, and from iOS 16 the clip can read the public database only.
What does survive is data you deliberately hand over. Give both targets the same app group and anything the clip writes to a shared container or to shared user defaults is waiting when the full app arrives. Keychain items written by the clip are readable by the app from iOS 15.4, so watch for duplicates if somebody installs and removes the app a few times. Sign in with Apple is the usual way to carry an identity over. When you want to nudge somebody toward the app itself, that is an SKOverlay with an App Clip configuration, or the App Store overlay modifier in SwiftUI. Apple is blunt about the line: do not require people to install the app to finish the task they came for.
Apple, technology available to App Clips and constraints, read 10 October 2026
Does Android still have an instant app experience?
No, and this is the fact most comparisons of the two platforms have not caught up with. Google Play Instant was Android's version of the idea, and Google has retired it. Its own developer page states that Google Play Instant will no longer be available, that from December 2025 instant apps cannot be published through Google Play, that the Google Play services instant APIs stop working, and that Play will no longer serve instant apps to users by any mechanism.
Google's replacement advice is not a replacement feature. It tells developers to refer people to the regular app or game and use deep links to drop them into the relevant screen once they are in. So the shape of an Android journey is now an install, then a deep link, and the try before you install step in the middle is gone.
That matters for planning more than for code. If a scan to pay or scan to order flow was going to be the same on both platforms, it is not. On iOS you can get somebody into a task in seconds. On Android the same QR code points at a Play Store page and an install. Worth deciding which of those two experiences the campaign is really built around before anybody prints the codes.
Android Developers, Google Play Instant, read 10 October 2026
What an App Clip can and cannot do
| Capability | In an App Clip | The detail that bites |
|---|---|---|
| Runs without installing the full app | Yes | That is the feature. Nothing lands on the Home screen. |
| Needs a full app on the App Store | Yes | The full app has to offer at least the same functionality. |
| Its own App Store listing | No | There is none. It ships inside the full app you submit. |
| Background networking and Background Modes | No | Neither works. Bluetooth connections do not survive either. |
| Location | When In Use | When In Use only, and the grant resets daily at 4:00 a.m. |
| Notifications | Up to 8 hours | Up to 8 hours after each launch, if you opt in on the card. |
| CloudKit | Read only | Read the public database on iOS 16 and later. No writes. |
| App Tracking Transparency and SKAdNetwork | No | Unavailable. The vendor identifier comes back empty. |
Where this lands if a builder generated your app
Start with the honest limit, because it saves a wasted afternoon. An App Clip is a second native iOS target, with its own entry point, its own entitlements and its own slice of the binary budget. It is work you do in Xcode on the project, and Newly does not generate one. If another tool claims it does, check what it actually produces before you plan a campaign around it.
What a builder is good for here is the prerequisite. Apple will not let an App Clip exist without a full app that does at least as much, so the app comes first either way. Newly takes a description in plain English and writes a real React Native and Expo project you own, with two way GitHub sync, so the Xcode project you would add a clip to is yours to open. It uploads iOS builds to TestFlight, publishes to Google Play internal testing and can build a standalone Android APK. It costs $25 a month and there is no free tier.
It also does not submit to the App Store for you, because Apple requires the owner of the content to be the one who submits. That puts the store work in your hands, which is the same place the App Clip experience configuration ends up: both live in App Store Connect, and the default App Clip experience can only be set up after the full app has been uploaded. If that is the part you have not done yet, start with publishing to the App Store and come back to the clip once there is an app record to attach it to.
Questions people ask about App Clips
It depends on the oldest iOS version you support. Apple's documentation, read on 10 October 2026, lists three ceilings for the uncompressed App Clip binary: 10 MB for iOS 15 and earlier, 15 MB for iOS 16 and earlier, and 100 MB on iOS 17 and later. The 100 MB tier has conditions. The App Clip must support digital invocations only, must not support physical invocations such as App Clip Codes, QR codes or NFC tags, and must not support iOS 16 or earlier. The one exception is the App Clip demo link that App Store Connect generates, which gives you 100 MB and keeps the physical invocations.
Build the app first, then decide if a clip earns its place
An App Clip is one task, done in seconds, for somebody standing in front of something. If you cannot name that task yet, the app is the work. Describe it and see what comes out.
Start building