Share mobile builds with QA, Product, stakeholders, or clients
Upload an IPA or APK and share an install link or QR code. Keep builds organised by branch and environment, with tester feedback attached to each build.
Free forever for 1 project. No credit card.
$ buildtree upload ./app.ipa --env dev --branch feature/payments↳ Uploading app.ipa (28.4 MB)…↳ Confirming upload…✓ Uploaded (com.trailatlas.mobile v1.5.0 build 142)https://buildtree.sh/install/folder/trail-atlas/dev/feature/payments
Get builds onto your testers’ phones
Register iOS test devices, share install links and collect feedback on each build. Upload from your computer or CI, then send testers the link for the build or branch they need.
For iOS and Android
Upload builds from React Native, Expo, Flutter, Xcode or Android Studio. Use your existing build tools to produce an .ipa or .apk.
A folder for every branch
Each branch has a stable install link. Share it with QA once; later uploads appear at the same address.
QR + CLI workflow
Upload from your terminal or CI in one command. Pin an install URL to a build, point at the latest in a folder, or freeze it to a release tag.
Works from your AI coding agent too. Add the buildtree MCP server to Claude Code, Codex or Cursor and ask for a QR code.
Build, upload, share.
Use the CLI to share the build you already have.
Build your app
Build on your computer or in CI using your existing tools.
$ eas build --local↳ build/App.ipa
Upload via CLI
Upload the .ipa or .apk from your terminal. The CLI returns an install link and QR code.
$ buildtree upload App.ipa✓ build id 7f3e…
Share QR or install link
Share a specific build for review, or a branch link that updates with each upload.
/install/folder/trail-atlas/uat/install/release/trail-atlas/v1.5.0
Test each branch before merging
Add an upload step to CI so each feature branch gets an install link. QA can test changes before they merge into develop, then use the environment link to check the merged build.
PR opens for feature/payments
CI runs buildtree upload --env dev --branch feature/payments
01QA gets a branch URL that auto-updates
/install/folder/<project>/dev/feature/payments stays the same every commit
02Tester signs off, PR merges to develop
Testers can reopen the same link to check fixes before approving the PR.
03Merge produces the new develop checkpoint
buildtree upload --env dev (no --branch) updates the shared link for the merged build.
04
Guides for your stack
From the first build to an install link on every pull request.
- Share an app with testersGet an Android or iPhone build onto someone's phone with a link.
- ExpoBuild locally with EAS and share the .apk or .ipa.
- React NativeGradle and Xcode builds from a bare React Native app.
- Flutterflutter build apk and ipa, uploaded in one command.
- iOS without TestFlightAd hoc installs and tester device registration.
- GitHub ActionsAn install link and QR code on every pull request.
- Compare alternativesTestFlight, Firebase App Distribution, Diawi and EAS.
- Leave Firebase App DistributionSwap the CI step and onboard testers without Google accounts.
Choose a plan for your projects
Monthly plans with fixed storage and project limits. No overage charges.
Free
Share builds from one app.
- 1 project
- 5 GB storage
- 30-day retention
- Public QR links
- Tester feedback with screenshots
Solo
For developers managing a few apps.
- 3 projects
- 25 GB storage
- 90-day retention
- A folder for every branch
- Private install links
Team
For teams testing several apps.
- 10 projects
- 100 GB storage
- Unlimited retention
- Team members + roles
- Install analytics
- Slack notifications
Business
For organisations managing many apps.
- Unlimited projects
- 500 GB storage
- SSO / SAML
- Audit logs
- Custom domain
- Priority support
Hard limits per tier. No usage-based overage billing. Customers approaching limits get warned at 80% and 100%.
Ready to share your first build?
Start with one free project. Sign in with your email, upload a build and share the install link. No credit card required.