Part of: Online IPA Installer
BetaDrop is a free TestFlight alternative for getting an iOS build onto a tester's phone. Upload a signed .ipa and share the over-the-air install link: it installs the moment the upload finishes, with no Beta App Review to clear and no TestFlight app for the tester. How long the link stays live is something you choose per build rather than a fixed 90 days, up to the free tier's ceiling.
Stop waiting on Beta App Review before an external tester can install build one. The install link works the moment the upload finishes, and the expiry is a setting on the build rather than a platform rule you have no say in.
Manage your active builds
Choose the platform that respects your time and your builds.
Testers don't need to install TestFlight or any other secondary app. Just tap and install.
A TestFlight build stops installing 90 days after upload and there is no dial to turn. Here the expiry is a property of the build that you pick at upload time, up to your plan's ceiling: short for a throwaway link, longer for a client pilot.
No Apple review delays. Upload your IPA and share it with external testers in seconds, not days.
Each upload keeps its own link, so an older build stays installable while the current one is being tested. Nothing caps how many you keep except the storage a free account gets: 1 GB across all of them.
TestFlight is Apple platforms only, no Android. BetaDrop handles both iOS and Android distribution in a single workflow.
Each build records how many installs it got and which platform they came from, so you know whether the tester actually took the build.
See how teams use BetaDrop to ship their builds faster, securely, and with less friction.
Anosh
SDE
"Love how easy it is to distribute the app for testing and the download and upload speeds are really fast."
volnex
BetaDrop user
"i think this the best platform for every starter like me !hmm so this why me given this app 5 stars"
Akol, Akol
Developer @ I.T Solution Aweil
"BetaDrop is a streamlined, hassle-free platform for beta app distribution, making the sharing of iOS (IPA) and Android (APK) builds effortless. Key Highlights for Developers - Instant Build Sharing - Developer Workflow Integration - Built-in Inspection Tools - Free Hosted Essentials"
The trade in both directions, not just the flattering half.
TestFlight figures were checked against Apple's own documentation in August 2026: developer.apple.com/testflight and the App Store Connect Help pages for TestFlight. Apple changes these; check the source before betting a release plan on a row. A four-way version of this table, including Firebase App Distribution and Diawi, is further down the page.
Moving from TestFlight to OTA distribution is straightforward. Here's what you need to do:
Instead of exporting for App Store / TestFlight, choose Release Testing in the Organizer. Xcode 15 renamed the old Ad Hoc option. If you export from the command line, the ExportOptions.plist method key is now release-testing; Xcode 26 rejects the old ad-hoc value outright. Before you export, check that each tester's UDID (the device's unique hardware identifier) is in the provisioning profile, the Apple-issued file that lists which devices may run the build.
Drag and drop the exported .ipa file onto BetaDrop. The upload takes seconds, and you'll get an install link immediately.
Send the install link via Slack, email, or any channel. Testers tap the link on their iOS device and the app installs directly. No TestFlight app needed.
For new testers, collect their device UDID, add it to your Apple Developer Portal, and regenerate the provisioning profile. BetaDrop's UDID checker can help with this.
Last updated 6 September 2026
The best TestFlight alternatives are over-the-air ad hoc hosts: BetaDrop, Diawi, InstallOnAir and Firebase App Distribution. They serve a build signed for specific devices from a link, so the tester installs from Safari with no review step in between. TestFlight itself is the other category, and it stays the answer when the tester list is longer than ad hoc provisioning can cover, because it registers no devices at all. Which category fits comes down to how many devices you have to reach.
BetaDrop sits at the free end of the first category. Upload a signed .ipa, get an install link and a QR code, and choose how long that link lives instead of inheriting a fixed 90 days. Be clear about which way that trade runs: it buys you control, not longevity. A free account's ceiling is shorter than TestFlight's 90 days, and the comparison table above gives both figures. Android .apk files go through the same page, which matters if TestFlight is only half of your distribution problem.
Which profile you sign with decides who the link can reach, and it is the question most people arrive with. An ad hoc profile comes with the ordinary Apple Developer Program and names devices: every tester's UDID has to be in the profile before you export, and one profile covers up to 100 devices per product family per membership year. An enterprise profile comes from the Apple Developer Enterprise Program, registers no devices at all, and is bounded instead by eligibility. Apple limits that programme to distributing in-house apps within your own organisation, so it is not a way around the ad hoc device count for outside testers. Both install through the same itms-services flow, so the hosting side is identical either way.
Every competitor figure below was read off that vendor's own documentation and re-checked in August 2026. None of it is quoted from memory, and where a vendor does not publish a number the cell says so instead of guessing. The sources are listed under the table, so any cell here takes about a minute to verify yourself.
| Limit | TestFlight | Firebase App Distribution | Diawi | BetaDrop |
|---|---|---|---|---|
| Tester cap | 100 internal testers, 10,000 external testers | 500 testers per Firebase project, 200 per group | Not a tester count at all: 2 installations per app on the free plan, 100 on Enterprise | No tester list to fill. An ad hoc build reaches the devices named in its provisioning profile |
| Review before a tester can install | External groups: the first build is sent to App Review. Internal testing: none | No review stage appears in the documented flow | No review stage appears in the documented flow | None. The link works the moment the upload finishes |
| Build expiry | 90 days from upload, fixed | Releases stay in the console for 150 days; a tester invitation lapses after 30 days | 1 day on the free plan; 3, 7 and 15 days on the paid tiers | Yours per build: 24 hours signed out, up to 7 days on free, a year on Pro |
| Per-file size | 4 GB uncompressed app on iOS 9 and later | 2048 MiB per binary, a little over 2 GB | 20 MB free, 50 MB Starter, 250 MB Premium, 1.2 GB Enterprise | 500 MB on free and Pro, 1 GB on Studio |
| What the tester needs | The TestFlight app, plus an Apple Account to accept the invitation | A Google sign-in; on iOS the tester also installs a Firebase device profile so their UDID can be collected | Nothing. Open the link in the device browser and tap install | Nothing. Open the link in the device browser and tap install |
| Platforms | iOS, macOS, tvOS, watchOS and visionOS. No Android | Android .apk and .aab, plus iOS .ipa | iOS .ipa and zipped .app, plus Android .apk | iOS .ipa and Android .apk. No .aab |
| Price | No fee of its own; rides on the $99-a-year Apple Developer Program | Listed as No-cost on Firebase's pricing page | Free tier, then 2,99€, 29,99€ or 299,99€ a month | Perpetual free tier; paid plans are listed on the pricing page |
Only TestFlight's figures are a count of people in the ordinary sense: 100 testers on your App Store Connect team, and up to 10,000 outside it. Firebase counts testers per Firebase project, not per app, so a studio with eight apps in one project shares a single pool of 500, and a group tops out at 200. Diawi's number is not testers at all. It counts installations of a given upload, and the free plan allows two, which a five-person standup exhausts before lunch. Anything built on ad hoc signing, BetaDrop included, is bounded by Apple's device registration instead of by the host: 100 devices per product family per membership year, with each UDID in the profile before you export. Registering nothing is the single thing TestFlight does that no over-the-air tool can copy.
TestFlight's 90 days is a hard platform rule with no dial attached. Firebase's 150 days is how long the release stays in the console, and its invitation window is a separate, shorter countdown that catches teams who invite a tester before the tester is ready to start. Diawi's free plan gives a single day. BetaDrop's is a number you set at upload, up to your plan's ceiling, which on a free account is shorter than TestFlight's 90 days, not longer. That is worth saying plainly rather than burying: if a build has to stay installable for a full quarter and nobody will re-upload it, TestFlight's fixed window is the longest free number in this table.
TestFlight asks for two installs and a sign-in. Firebase is heavier than most people expect on iOS: the tester signs in with Google, then installs a Firebase device profile through Settings so the UDID can be collected, and Firebase mails that UDID to the project's owners and editors, who add it to the provisioning profile and upload a new build before the original tester can run anything. Diawi and BetaDrop are a link and a tap. The ad hoc UDID work still has to happen, but it happens on your side of the fence, in advance, with tools like the UDID checker, instead of turning the tester into step one of a round trip.
TestFlight charges nothing of its own, but it rides on the $99-a-year Apple Developer Program, and you need that same membership to sign an ad hoc build, so it cancels out of the comparison entirely. Firebase App Distribution is listed as No-cost. BetaDrop's free tier is perpetual rather than a trial, with paid plans that buy retention and file size rather than unlocking distribution itself.
Checked August 2026 against developer.apple.com/testflight, Apple's App Store Connect Help pages for TestFlight and maximum build file sizes, Apple's device registration overview, Firebase App Distribution's documented quotas, its tester setup guide, Firebase pricing and Diawi's plan comparison. Vendors change these; if you are making a decision that depends on one, open the link. Longer write-ups of two of the columns live on our Firebase App Distribution comparison and Diawi comparison.
Not money. TestFlight is included with the Apple Developer Program, and you need that membership to sign an ad hoc build anyway, so the $99 a year is a wash. What it costs is time and reach.
An over-the-air link removes the first three outright: the build is installable the moment the upload finishes, there is no internal-versus-external split to fall the wrong side of, and the tester needs nothing but a browser. The fourth it changes rather than removes: the expiry stops being a fixed platform rule and becomes a number you pick per build, but the ceiling you can pick up to on a free account is shorter than TestFlight's 90 days, not longer. What none of it removes is Apple's signing rules: the .ipa still has to carry an ad hoc or enterprise profile, and for ad hoc that means each tester's UDID was in the profile when you exported. The UDID checker collects those, and the provisioning profile decoder shows which devices a profile already covers.
These two get run together constantly, including in earlier versions of this page. They are different mechanisms. Beta App Review is a gate; the 90 days is a clock. They apply at different moments, to different testers, and only one of them can be avoided by testing internally.
Apple's documentation is specific: when you add the first build of an app to a group, that build is sent to App Review, and a review is required only for the first build. Subsequent builds may not require a full review (checked August 2026). Two things follow. Internal testing, the 100 App Store Connect users on your own team, has no review at all, so “TestFlight makes you wait for review” is only true of testers outside your team. And “may not require” is not a promise: a build that adds a permission prompt, changes what the app does, or rewrites the beta description can be pulled back into the queue on a Friday afternoon. Apple publishes no turnaround target for beta review, so the honest planning assumption is “usually quick, occasionally not, never something you can put in a client email as a time.”
Apple's wording is that your build becomes unavailable for testers after 90 days (checked August 2026). The countdown begins when the build is uploaded. It does not care whether the build went through review, whether anybody installed it, or whether your test cycle has finished. It applies to internal testing as well, which is the part people are most often surprised by: skipping the review gate does not stop the clock. When a build expires, the fix is not a setting. It is a new build, a new upload, and for external groups the possibility of another trip through review if the change is large enough.
Because the clock starts at upload and review happens inside it, the days a build spends in the queue are days off the 90. A build that clears review on day four has 86 days of testing left, not 90. For a two-week sprint that is invisible. For a pilot that has to survive a full quarter, it is the difference between one upload and two. The second one lands in the middle of the pilot, when the tester group is already busy and nobody wants to think about distribution.
The first is the link expiry, which is a number you choose per build: 24 hours for an upload made without signing in, up to 7 days on a free account, and further on a paid one. The second is easy to forget and breaks installs in a way that looks like a hosting problem: the provisioning profile the build was signed with has its own expiration date, and once it passes, that .ipa stops installing no matter how long its link stays live. A long link paired with a short-lived profile is the classic failure here. The provisioning profile decoder reads the expiry date and the provisioned device list straight out of a .mobileprovision file, which is the thirty-second check worth doing before you promise a client that a link will still work at the end of the pilot.
There are eight situations where we would tell you to use TestFlight, and knowing them up front saves you discovering the ceiling halfway through a test cycle. The first four are about reach and the tooling Apple gives you; the last four are the ones people hit unexpectedly, usually a week into a project when a limit turns out to have been set by hardware, geography or the calendar rather than by software.
Most teams that end up happy are not choosing one tool. They are giving each one the job it is good at. TestFlight carries the wide external beta: the build that has been through review, the public link on the pilot page, the group of several hundred people you will never meet, the crash reports. The over-the-air link carries the build that exists this afternoon: the branch a designer needs to poke at before standup, the fix a client asked about an hour ago, the release-candidate a QA contractor has to smoke-test before you spend a review cycle on it. The two do not interfere: the same archive can produce an App Store export for TestFlight and an ad hoc export for the link, and nothing about hosting an .ipa yourself changes what App Store Connect will accept later.
The practical rule we would give a team splitting this way is to make the choice on the tester rather than on the build. Anyone whose device UDID you already hold (your own team, the agency, the two people at the client who do the actual testing) gets the link, because for them it is instant and there is nothing to install. Anyone whose device you do not control goes through TestFlight, because collecting a UDID from a stranger is a worse experience than asking them to install one app. When the split is drawn there, neither tool ever becomes the bottleneck, and neither one ends up being blamed for the other's limit.
If the public link is the part you are weighing, our note on what a TestFlight public link is and what it costs you goes through it, and the guide to distributing iOS apps without TestFlight covers the export and signing steps end to end.
The realistic options are over-the-air ad hoc distribution and TestFlight itself. Ad hoc means you sign the build for specific devices and serve it from a link, which is what BetaDrop, Diawi, InstallOnAir and Firebase App Distribution each do; the tester installs from Safari with no App Review step, so the build is usable the moment it finishes uploading. TestFlight remains the right answer when you need to reach far more testers than ad hoc provisioning allows. BetaDrop is the free end of that list: upload a signed .ipa, get an install link and QR code, and choose how long that link stays live per build rather than inheriting Apple's fixed 90 days. That is control over the window rather than a longer one, since a free account's ceiling is shorter than 90 days.
Yes. Export the app with an ad hoc or enterprise provisioning profile, upload the signed .ipa, and share the install link you get back. iOS installs it through an itms-services manifest, the same over-the-air mechanism Apple documents for enterprise deployment, so there is no Beta App Review and no invitation for the tester to accept.
Yes, for iOS. Any .ipa that installs on a device has to be signed, and the certificates and provisioning profiles come from the Apple Developer Program. That cost is identical whether you ship through TestFlight or over the air, so it is not a reason to prefer one. Android differs in degree rather than in kind: an .apk must be signed too, but the key is one you generate yourself, with no paid membership to hold and no per-device provisioning to update, so nothing has to be registered before a tester can install.
Ad hoc provisioning covers up to 100 devices per product family per membership year, and each device UDID must already be in the profile when you export the .ipa. That ceiling is the honest trade against TestFlight, which registers no devices at all and scales to 10,000 external testers once the first build clears Beta App Review.
Apple documents two ceilings and they behave very differently. Internal testing covers up to 100 people, and every one of them has to be a user on your App Store Connect team holding an Account Holder, Admin, App Manager, Developer or Marketing role. External testing covers up to 10,000 people, and the first build you add to an external group goes to Beta App Review before any of them can install it. A tester can use the builds you share on up to 30 devices (checked August 2026). If the group you actually need to reach is a couple of dozen people whose device UDIDs you can collect, an over-the-air ad hoc link sidesteps both tiers, at the cost of Apple's own ceiling of 100 registered devices per product family per membership year.
No. Apple sends a build to App Review when it is the first build added to a group, and that requirement exists for external testers. Internal testers (up to 100 App Store Connect users on your own team) can install as soon as the build finishes processing, with no review step at all. Two things trip teams up anyway. First, internal means a seat on your App Store Connect team, so a client, a contractor or a designer at an agency is an external tester no matter how closely you work with them. Second, the 90-day build expiry applies to internal builds exactly as it does to external ones: skipping the review gate does not stop the clock.
Not with BetaDrop. The tester opens the link on their iPhone and iOS installs the build from the browser. TestFlight requires every tester to install the TestFlight app and sign in with an Apple Account first, which is a real obstacle for client demos and for testers outside your own organisation.
90 days. Apple's own wording is that your build becomes unavailable for testers after 90 days, and the countdown starts when the build is uploaded, not when review approves it, not when the first tester installs it (checked August 2026). It applies to internal and external testing alike. There is no extension setting anywhere in App Store Connect, so the only way past it is a fresh build with a new build number, which starts its own 90 days and, for an external group, can go back through review if the change is significant. That is the difference between a fixed platform rule and an expiry you set: one is a maintenance task on somebody's calendar, the other is a field at upload time.
It becomes unavailable to testers, whatever state your testing is in. An expired build is no longer something a tester can install from TestFlight, and no setting on your side reverses that. The replacement is a new upload with a new build number, which restarts the 90-day clock and, for external groups, may need another trip through Beta App Review if the app changed materially. The frustrating version of this is when the app has not changed at all and the only thing you needed was for the link to keep working. That case is exactly what over-the-air distribution handles better, because the expiry is a property of the link you chose rather than a platform rule you inherited.
They expire, but not on a fixed 90-day clock, and on the free tier, sooner rather than later. A TestFlight build stops being installable exactly 90 days after upload regardless of where your testing has got to, and nothing you do changes that. On BetaDrop the expiry is a property of the build that you choose when you upload it: an upload made without signing in lasts 24 hours, and signing in lets you pick anything up to a free account's ceiling of 7 days. So the honest comparison is control rather than duration. A link for a client demo can outlive one used for a quick internal check, and either can be revoked immediately.
Apple publishes no target turnaround for Beta App Review, so every figure you see quoted for it is somebody's average rather than a commitment, and planning a client demo around one is how demos get missed. What Apple does document is the shape of the process: the first build added to a group is sent to App Review, and subsequent builds may not require a full review (checked August 2026). The way to work with that uncertainty is to submit build one early, keep the day-to-day iteration on internal testers where no review applies, and keep an over-the-air install link for the moment somebody outside the team needs a build today rather than eventually.
Yes. BetaDrop accepts Android .apk files alongside iOS .ipa files, up to 500 MB each, and returns the same install link and QR code for both. Android App Bundles are not accepted, so generate an APK from the bundle first. TestFlight is Apple platforms only, no Android, so a team shipping both platforms needs a second tool anyway.
For Android it is a strong one: it takes .apk and .aab files and Firebase lists App Distribution as No-cost. For iOS it is less of an escape from setup than it first looks. The tester signs in with Google and installs a Firebase device profile through Settings so their UDID can be collected; Firebase then emails that UDID to the project's owners and editors, who add the device to the provisioning profile and upload a new build before that tester can run anything. Its documented limits are 500 testers per Firebase project, 200 per group, a 2048 MiB ceiling per binary, and releases that stay available for 150 days (checked August 2026). Compared with an ad hoc link, you are trading a tester with nothing to install for a tester with a Google account and a configuration profile.
It depends which of TestFlight's constraints is actually hurting you, and the honest answer names tools we do not own. If the problem is Beta App Review and the TestFlight app, any over-the-air host removes both, and BetaDrop and Firebase App Distribution each have a genuine free tier. The difference is what the tester has to do, since a BetaDrop link needs no account and no profile while Firebase asks for a Google sign-in and, on iOS, a device profile. If the problem is how long the build has to stay installable, TestFlight's 90 days beats a free BetaDrop link, which tops out at 7 days signed in.
TestFlight itself carries no separate charge, but it is a benefit of the Apple Developer Program, and that membership is $99 a year (checked August 2026 on Apple's program page). So free here means included in something you are already paying for. It also means the fee is not a reason to prefer one distribution route over another: signing an ad hoc build for over-the-air installation requires the same paid membership, so the $99 cancels out of the comparison. What TestFlight actually costs you is measured in other units: the review gate before external testers see build one, the app and Apple Account each tester has to set up, and the fixed 90-day expiry on every build you upload.
When you need more testers than ad hoc provisioning allows, when you want a public link that people can join without you collecting their device UDIDs, or when you want Apple's crash reports and in-app feedback screenshots. TestFlight is also the closer rehearsal for App Review, because the build travels the same submission path your release will. Three less obvious cases belong on the same list: the build is for a Mac, an Apple Watch, an Apple TV or a Vision Pro, since the over-the-air itms-services route only serves .ipa files to iOS and iPadOS; you simply cannot get a tester's device UDID, which blocks an ad hoc build before signing starts; and the build has to stay installable for a full quarter with nobody around to re-upload it, where TestFlight's fixed 90 days is longer than a free over-the-air link can be set for.
The install link works the moment the upload finishes. No account, no Beta App Review, nothing to configure first. Android .apk files go through the same page.
Most teams weigh a few options before they settle. Here is how BetaDrop compares — on getting a build to a tester, and on hosting a static page.