Part of: Online IPA Installer
BetaDrop is a free Diawi alternative for sharing beta builds over the air. Upload an .ipa or .apk up to 500 MB, send the install link or QR code, and let as many testers install as you need. Your first upload needs no account, and your testers never need one.
Manage your active builds
Choose the platform that respects your time and your builds.
The parts of a distribution tool you only notice when they run out: upload size, how long a link lives, and how many people can install from it.
The upload cap applies to .ipa and .apk alike, which covers a debug build with its asset bundles rather than just a stripped release.
A signed-out upload runs on a fixed default. Sign in and the expiry becomes a per-build choice, up to the free tier's ceiling, so a client demo link can outlast a quick internal check.
However many testers open the link, they all get the build. There is no per-app installation count to run out of mid-review.
BetaDrop never re-signs or repackages a build, so what installs on the device is byte-for-byte the file you sent and its signature still verifies.
Every build gets a unique, high-resolution QR code for instant over-the-air installation.
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"
Practical guides from developers who switched.
Diawi's free plan against ours, in their published numbers.
| Feature | Diawi (Free) | BetaDrop (Free) |
|---|---|---|
| Max upload size (free) | 20 MB, with or without an account | 500 MB |
| App availability (free) | Links expire in 1 day; 3, 7 and 15 days on the paid tiers | 24 hours signed out, up to 7 days signed in |
| Installations per app (free) | 2, with or without an account | No cap |
| iOS .ipa over-the-air install | Yes | Yes |
| Android .apk | Yes | Yes |
| Zipped .app bundle | Yes | No |
| Android App Bundle (.aab) | No | No |
| QR code for install | Yes | Yes |
| Tester account required | No | No |
| Uploader account required | No | No — free account after your first upload |
| Programmatic upload | Upload API | CLI, GitHub Action and MCP — free |
| Largest plan upload size | 1.2 GB on Enterprise (299,99€/mo), more with paid add-ons | 1 GB |
Diawi figures are transcribed from their published plan comparison at diawi.com/features-services, checked August 2026. Their prices are in EUR. Vendors change these — check diawi.com for current limits before deciding on numbers alone.
Last updated 3 September 2026
Every competitor figure below was read off that company's own pricing or features page on 2026-09-03, and each row carries that date so you can see how old it is. Where a page does not state a fact, the cell says not published rather than no: the first is a statement about their page, the second would be a statement about their product that we are not in a position to make. Vendors change plan tables without notice, so check the source named in each row before you rely on a number.
BetaDrop's own row is generated from the live limits configuration rather than typed in, so it cannot fall behind the product.
| Platform | Free file cap | Link lifetime | Installs per link | Tester login required | Uploader account required | Per-link password | CI surface | Malware screening | Cheapest paid tier |
|---|---|---|---|---|---|---|---|---|---|
| Diawidiawi.com/features-serviceschecked 2026-09-03 | 20 MB | 1 day free, then 3, 7 and 15 days up the paid ladder | 2 per app on free, then 10, 50 and 100 up the paid ladder | No | No. Their free tier is offered without one | Yes, listed on every tier | APIs access, listed on every tier including Free. No CLI, Action or MCP server published | Not published | 2,99€ a month (Starter) |
| BetaDropThis page, from the live limits configfrom the live limits configuration | 500 MB | 24 hours signed out, up to 7 days signed in | No cap | No | Not for your first upload from a device, then a free account | Yes, on every plan including free | CLI, GitHub Action and MCP server, all on the free tier | Yes. Every upload is scanned, and Android permissions are screened | $69 a year (Pro) |
| TestApp.iotestapp.io/pricingchecked 2026-09-03 | 100 MB per file, inside 500 MB of storage | Release expiration 30 days on Free, Forever on Starter and Pro | Not published. Free is capped at 1 app and 2 team members | Not published | Not published | Not published | CI/CD integration listed from Free up. Their pricing page names no specific clients | Not published | $11 a month, billed $132 yearly (Starter) |
| AppsOnAirappsonair.com/pricingchecked 2026-09-03 | Up to 300 MB, inside 550 MB of build storage. Their pricing page labels the $0 card a 14 day free trial | Build link expiration up to 30 days on Free, and link renewal is not included there | Testers listed as Unlimited on every tier, including Free | Not published | Not published | Protected install links are not included on Free | CLI Support listed on every tier including Free. REST API and Android, iOS, Flutter and React Native SDKs from Pro up | Not published | $59.97 a month, or $53.97 a month billed annually (Pro) |
| InstallOnAirinstallonair.comchecked 2026-09-03 | Not published. Their page offers generous upload limits and gives no number | 8 days on signup, extendable | Not published | Not published | Yes. Their page reads signup and get access to build | Not published | Not published | Not published | $1 for a month of extended expiry, $4.99 for six months, $9.99 for a year |
| ShareIPAshareipa.comchecked 2026-09-03 | 250MB, in their wording | Their page: links remain active for 7 days | Not published | Not published. The tester opens the share link on the device | No. Their page reads no login or signup required | Yes, described as customizable passwords | None on the free tier. Their page states ShareIPA free does not offer API or CLI integrations | Not published | None for ShareIPA itself, which their page calls Absolutely Free. Teams are pointed at their own AppShare product, priced separately |
| Loadlyloadly.iochecked 2026-09-03 | 2GB, in their wording | Never Expires, in their wording | Unlimited, in their wording | Not published | Not published. Signing in is what puts an app in their dashboard | Yes, links protected by a password | An API for uploading and managing apps. No CLI, Action or MCP server published | Not published | None published. Their page reads $0 and Completely Free Forever |
| BuildSharebuildshare.in and buildshare.in/pricingchecked 2026-09-03 | Not published | Their homepage offers both no expiry on links and links set to expire on their own, and publishes no duration for either | Not published. Free is capped at 5 testers, 2 apps and the last 5 build versions | Their homepage says no Google account for testers | Not published. Their free tier is a plan, which implies one | Not on Free. Password-protected links are listed from Pro up | GitHub Actions, Fastlane, Bitrise, GitLab CI, CircleCI and Xcode Cloud named on the homepage. CLI and API access sits on the $29 Team plan | Not published | $9 a month (Pro) |
| Buildstashbuildstash.com/pricingchecked 2026-09-03 | No free plan is published. Starter carries a 10 GB max build size | Not published. Builds stored is listed as Unlimited on every tier | Not published | Not published | Not published. Plans are sold by workspace user, from 5 up | Not published | Not named on their pricing page, which lists share links, releases and custom targets | Not published | $49 a month, or $41 a month billed annually (Starter) |
The table scrolls sideways on a narrow screen. Diawi, TestApp.io, AppsOnAir, InstallOnAir, ShareIPA, Loadly, BuildShare and Buildstash are the products of their respective owners and are named here for comparison only.
A comparison page that concludes with itself nine times is not a comparison. Here is the constraint under which each of these products, and not this one, is the right answer. Each line is a claim about what that vendor publishes, checked on 2026-09-03 against the source named in the table above.
Three limits bite on the free plan, and the one that gets you is rarely the one you were watching. The upload cap is the visible one: you meet it before you have shared anything, and it is where most searches for a Diawi alternative start. The app expiry is the one you can plan around. The one that ends the evening is the installation count per app, because the link works for the first testers to reach it and then simply stops handing out the build, part way through the round of feedback you were waiting on. The figures for all three, and for every rung of the paid ladder that raises them, are in the matrix above, transcribed from Diawi's own published plan page rather than characterised.
The expiry is worth reading as a sequence rather than a deadline, because two separate things happen to the file. At expiry the app becomes unavailable: the link stops installing, but the build is still on Diawi's servers for a while and whoever uploaded it can re-enable it. Only after a second window does the file get deleted, and once that closes the link is unrecoverable, so the copy of the URL in your tester's chat history is worthless. How long each stage lasts depends on the plan; the current windows are published on diawi.com, so read theirs before promising a tester a date.
The numbers that matter, stated the same way so you can compare them without translating marketing copy. A build can be up to 500 MB, iOS .ipa or Android .apk. Android App Bundles are not accepted, so generate an APK from the bundle first. There is no cap on how many people install from a link, and no cap on how many builds you keep. What bounds that is storage, and a free account gets 1 GB in total across everything it has uploaded.
The account rule, stated plainly, because most pages in this category are vague about it and one of them is us in an older revision. Your first upload from a device needs no account: you drop the file, you get the link, nobody asks you for an email address. A second upload from that same device does ask you to sign in, and the free account is free. So the honest version of the claim is not “no signup ever”, it is “no signup to find out whether this works”. Signing in is also what buys you the longer expiry, the dashboard, revocation and the CLI token.
An upload made without signing in stays live for a fixed window, which is the case for a build you need in front of one person this afternoon. Sign in and the expiry becomes a property of the build that you pick at upload time, up to the free tier's ceiling, so the link for a client demo can outlive the one for a quick internal check, and either can be revoked straight away. Both figures are in the matrix above. It is a ceiling rather than an open field: a value past it is clamped down to it at upload, not honoured.
None of that changes iOS signing. An .ipa still needs an ad hoc or enterprise provisioning profile, and an ad hoc profile still has to name each tester's device before you export. That is Apple's rule rather than the host's, and it applies identically on Diawi and on every other row of the matrix. The UDID checker collects device identifiers, and the provisioning profile decoder shows which devices a profile already covers.
Three cases, and they are not rare. The first is format: Diawi accepts a zipped .app bundle alongside .ipa and .apk, which is occasionally exactly what you have to hand and which BetaDrop does not accept. The second is size at the top end: their Enterprise plan takes 1.2 GB uploads with paid add-ons past that, so an unusually large build is a genuine reason to stay. The third is inertia, and it is the strongest of the three: if your team is already on a paid Diawi plan with the install ceiling raised by add-ons, the tooling around it is settled and nothing on this page is worth the switching cost.
There is a fourth case that is about us rather than them. Every upload here is scanned and every Android build has its permission set screened, and a build whose Android permission set matches a covert-surveillance pattern is queued for a human to look at rather than refused. Malware and a hash already on the takedown list are refused outright. That is the right default for a public host, and it is an extra failure mode a paid Diawi account does not have.
The case for moving is narrower than a comparison page usually admits: you are on the free tier, the build is past its upload cap or needs more installs than that tier allows, and you do not want to pay to find out whether the build works. If that is you, the migration is not really a migration.
There is no import step, no project to create and no SDK to add, because the thing you are moving is a file you already build. The four steps below are the whole of it, and only the last one is worth doing more than once.
.ipa or .apk exactly as you do for Diawi. Nothing about the Xcode or Gradle side changes. In Xcode 26 the export method for an ad hoc distribution build is written release-testing, not ad-hoc, which is a rename Apple made rather than anything to do with where you host the result (checked on 2026-09-03).itms-services manifest that makes Safari install the app directly, which is the same mechanism Diawi uses, so nothing about the tester's experience changes.npm install -g @betadrop/cli, create a token under Settings, Developer, API tokens, and the whole upload becomes one command that prints the install link:betadrop publish ./build/MyApp.ipaThe same command is what the GitHub Action runs, so a build that lands on a branch can post its own install link without anyone opening a browser.
BetaDrop. Upload an iOS .ipa or an Android .apk and you get an over-the-air install link and a QR code straight away, at no cost, and your first upload from a device needs no account. It is the closest like-for-like replacement because the tester experience is the one Diawi popularised: open a link on the phone, install from the browser, no signup and no store review.
The over-the-air hosts that publish a comparable free or entry tier are BetaDrop, TestApp.io, AppsOnAir, InstallOnAir, ShareIPA, Loadly, BuildShare and Buildstash. They are not interchangeable: they differ on how large a free upload can be, how long a link survives, how many people can install from it, whether the uploader needs an account, whether a link can carry a password, and whether anything reaches them from CI. The comparison table on this page puts all of them against those columns, with the date each vendor page was read.
Yes. Diawi meters installations per app and the free tier's allowance is small enough that a single round of feedback can exhaust it, which is the limit most people hit first. BetaDrop imposes no install cap of its own on any tier: a link serves however many devices open it, and if you want one, you can set a download or device ceiling on the build yourself. What bounds a free account in practice is total storage rather than install count, and the comparison table on this page shows which of the other hosts publish an install cap and which do not state one.
Two separate things, and it is worth knowing they are separate. At expiry the app becomes unavailable: the install link stops working, but the build is still on Diawi's servers for a while and whoever uploaded it can re-enable it. Only after a second window does the file get deleted, and once that closes the link cannot be recovered, so the copy in your tester's chat history is worthless. How long each stage lasts depends on the plan, and the current windows are published on diawi.com, so read theirs before planning a test round around a date.
Yes, both from the same page. An iOS .ipa is served through an itms-services manifest so it installs directly from Safari, and an Android .apk downloads and installs the ordinary way. You do not need separate tools or separate accounts for the two platforms.
Up to 500 MB per file, for .ipa and .apk alike. Android App Bundles are not accepted, so generate an APK from the bundle before uploading. Builds larger than 500 MB are rejected by the upload endpoint rather than silently truncated.
An upload made without signing in stays live for 24 hours. Sign in and the expiry becomes a property of the build that you choose when you upload it, up to a free account's ceiling of 7 days. It is a ceiling rather than an open field, and a longer value is clamped down to it at upload rather than honoured. So a link for a client demo can outlive one used for a quick internal check, and either can be revoked immediately from the dashboard.
Not for your first upload from a device. You drop the file, you get the install link and the QR code, and nothing asks you for an email address. A second upload from that same device does ask you to sign in, and the free account costs nothing. So the honest version of the claim is not that there is never a signup, it is that there is no signup before you have found out whether this works for your build. Signing in is also what gives you the longer expiry, the dashboard, the ability to revoke a link and a token for the CLI.
No. Testers open the link on their device and install from there, with no signup and no invitation to accept. That is the part of the Diawi experience this page is trying to preserve, and it is where several of the alternatives in the comparison table quietly differ, so it is worth checking before you send a link to twenty people.
There is nothing to migrate. Export the signed .ipa or .apk exactly as you do today, upload it, and send the new link or QR code to the same testers. The signing, provisioning and UDID registration side of iOS distribution is unchanged, because that is Apple's requirement rather than the host's. Once it has worked by hand, install the CLI with npm install -g @betadrop/cli, create a token under Settings, Developer, API tokens, and the whole thing becomes one command: betadrop publish, pointed at the file.
Yes, and it is on the free tier here rather than behind a paid plan. BetaDrop publishes a CLI, a GitHub Action and an MCP server, so a build can be uploaded and its install link printed from a workflow, a shell script or an AI agent without anyone opening a browser. The comparison table on this page records what each of the other hosts publishes, which ranges from a documented upload API to nothing stated at all, and in two cases the CI surface sits on a paid tier.
Transfers run over HTTPS, share links are randomly generated identifiers rather than sequential ones, so a link cannot be found by counting up from someone else's, and every free build carries an expiry after which the file is deleted, while a paid plan can keep a link permanent while the subscription is active. Every upload is scanned and Android permission sets are screened before a link is issued. BetaDrop never modifies the binary, so testers install the exact file you uploaded and its signature still verifies.
Up to 500 MB per build, no install cap, and your first upload needs no account. Upload the same .ipa or .apk you exported for Diawi.
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.