App Store

    TestFlight: 'Waiting for Review' vs 'Ready to Test'?

    A 2026 TestFlight status lifecycle showing a build moving from Processing to Ready to Test for internal testers instantly, while an external build sits in Waiting for Review for Beta App Review

    Seeing one build say Ready to Test and another say Waiting for Review is confusing until you know they are different stages, not different speeds of the same thing. One means testers can install the build now; the other means an external build is sitting in Beta App Review. The reason the two diverge comes down to internal versus external testing. Here is what each status means and why internal testers get a build instantly while external testers wait.

    Short answer

    In TestFlight, Ready to Test means a build has finished processing and is available to install, while Waiting for Review means an external build is queued for Beta App Review before testers can get it. The split is internal versus external: internal testing skips Beta App Review, so a build is available within minutes of processing, while the first build of a version for external testers goes through review, which can take around a day. Later builds of the same version usually skip the full review, and internal testing runs in parallel as the fast path.

    What you should know

    • Ready to Test means installable: the build has processed and testers can install it.
    • Waiting for Review means queued: an external build is in line for Beta App Review.
    • Internal testing skips review: builds reach internal testers within minutes of processing.
    • External first builds are reviewed: the first build of a version waits for Beta App Review.
    • Later builds are faster: subsequent builds of the same version usually skip the full review.

    What does "Ready to Test" mean?

    It means the build is past processing and available to install. Once a build finishes the automated processing step, it can be tested, and TestFlight shows it as ready. For internal testers, that happens immediately, because internal builds do not need Beta App Review. For external testers, Ready to Test means the build has cleared review and is now available to the group. So the status is about availability: when you or a tester sees it, the build can be installed, with no further waiting on Apple.

    What does "Waiting for Review" mean?

    It means an external build is queued for Beta App Review. When you add the first build of a version to an external testing group, TestFlight sends it to Beta App Review against the App Review Guidelines, and while it sits in that queue the status is Waiting for Review. Your external testers cannot install it yet. This status only appears for external testing, because internal testing does not go through review. So Waiting for Review is the external-only waiting room between processing and availability. It is worth noting that the status is per group and per version, so the same build can read Ready to Test for your internal group and Waiting for Review for an external group at the same moment, which is exactly the side-by-side that confuses people.

    Why is internal testing instant but external slower?

    Because only external testing requires Beta App Review. The table shows the lifecycle and where the wait is.

    StatusWhat it meansWho and when
    ProcessingAutomated preparation after uploadAll builds, minutes
    Ready to TestThe build is available to installInternal immediately; external after approval
    Waiting for ReviewAn external build is queued for Beta App ReviewFirst build of a version, external only
    In ReviewBeta App Review is actively checking the buildExternal, first build of a version

    Internal builds go straight from Processing to Ready to Test, which is why they feel instant. External builds add the Waiting for Review and In Review stages for the first build of a version, which is where the roughly one-day wait comes from. The difference is the review requirement, not the speed of processing. So if internal testers already have the build and external testers do not, nothing is broken; the external build is simply still in the review stage that internal builds never enter.

    How do you get from Waiting for Review to Ready to Test faster?

    By understanding that only the first build of a version waits. Beta App Review reviews the first build of each version, so once that build is approved and shows Ready to Test, later builds of the same version usually skip the full review and become available quickly. The practical levers are to submit the first build early, increment the build number rather than the version string for fixes so you stay on the approved version, and use internal testing in parallel to get eyes on the build while the external build clears review. You cannot rush Beta App Review itself, but you can avoid restarting it unnecessarily.

    What to watch out for

    The first trap is expecting external testers to install immediately, when the first build of a version must clear Beta App Review first, so plan for about a day. The second is bumping the version string for a small fix, which sends the new version's first build back to Waiting for Review when a build-number increment would have stayed on the fast path. The first build is also a full guideline check, so a problem that would fail App Store review can stall it; a pre-submission scan such as PTKD.com (https://ptkd.com) reads the compiled IPA against OWASP MASVS so the build entering Beta App Review is already clean, which is a separate concern from the status itself.

    What to take away

    • Ready to Test means a build is available to install; Waiting for Review means an external build is queued for Beta App Review.
    • Internal testing skips review and is available within minutes, while external testing's first build of a version goes through review.
    • Later builds of the same version usually skip the full review, so increment the build number for fixes and use internal testing in parallel.
    • The first build is a full guideline check, so confirm the binary with a pre-submission scan such as PTKD.com before it enters Beta App Review.
    • #testflight
    • #waiting-for-review
    • #ready-to-test
    • #beta-app-review
    • #internal-testing
    • #external-testing
    • #ios

    Frequently asked questions

    What is the difference between Ready to Test and Waiting for Review?
    Ready to Test means a build has finished processing and is available to install. Waiting for Review means an external build is queued for Beta App Review and testers cannot install it yet. One is about availability, the other about being in the review queue. Waiting for Review appears only for external testing, because internal testing does not go through Beta App Review.
    Why is my build Waiting for Review?
    Because it is the first build of a version added to an external testing group, and TestFlight sends that to Beta App Review before external testers can install it. While it sits in the queue, the status is Waiting for Review. Internal builds never show this status, so if you see it, you are looking at an external build awaiting review, which typically clears in about a day.
    Why is internal testing instant but external takes 24 hours?
    Because only external testing requires Beta App Review. Internal builds go straight from processing to Ready to Test, so they are available within minutes. The first build of a version for external testers adds the Waiting for Review and In Review stages, which is where the roughly one-day wait comes from. The difference is the review requirement, not the speed of processing.
    Both are TestFlight, so why the difference?
    Because TestFlight treats internal and external testers differently. Internal testers, up to 100 App Store Connect users on your team, get builds without Beta App Review. External testers, up to 10,000, can only install a build after the first build of its version clears Beta App Review. So the same TestFlight build can be instantly available internally while still Waiting for Review externally.
    How do I move from Waiting for Review to Ready to Test?
    Wait for Beta App Review to approve the first build of the version, after which it shows Ready to Test. You cannot rush the review itself, but you can avoid restarting it: increment the build number rather than the version string for fixes, so later builds of an approved version skip the full review. Use internal testing in parallel to test while the external build clears.

    Keep reading

    Scan your app in minutes

    Upload an APK, AAB, or IPA. PTKD returns an OWASP-aligned report with copy-paste fixes.

    Try PTKD free