Expo pricing: EAS plans, build credits and real costs
Expo's framework is free and EAS has a $0 plan with 15 iOS and 15 Android builds a month. Starter is $19 and Production $199 a month, plus usage. November 2026.
Expo itself is free: its FAQ says “the Expo platform is free and open source,” and the cloud services (EAS) have a $0 plan with up to 15 iOS and 15 Android builds a month and over-the-air updates for 1,000 monthly active users. Paid plans are Starter at $19 a month ($45 of build credit, 3,000 update users) and Production at $199 a month ($225 of credit, 50,000 users), plus usage, as of November 8, 2026. A small launched app with 40 builds and 8,000 active users a month comes to about $69 a month on Starter.
We haven’t built apps with Expo ourselves. The figures come from Expo’s pricing page, its billing and usage-based pricing docs and its FAQ, plus the pricing pages of Codemagic and Apple’s Xcode Cloud, all read on November 8, 2026. The worked examples are our own arithmetic on those published rates.
Is Expo free?
Yes, for most of what people mean by “Expo.” Expo’s FAQ separates three things:
- The Expo framework, SDK and CLI are free and open source.
- Expo Go, the app you use to try a project on your phone, “is also free from the app stores.” The FAQ also calls it limited: it “cannot use third-party libraries that require custom native code” and “is limited and not useful for building production-grade projects.” For real projects Expo recommends development builds.
- Expo Services (EAS) is “an optional suite of cloud services for React Native apps”: cloud builds, store submission, over-the-air updates, CI/CD workflows, hosting and monitoring. The FAQ says you can use them “for free if the Free plan quotas are sufficient for your app.”
So a hobby app can be built, submitted and updated at $0 to Expo. You still pay Apple and Google to publish: Apple’s enrollment page says “the Apple Developer Program is 99 USD per membership year,” and Google Play charges “a US$25 one-time registration fee.” Those fees are the same whatever build service you use; our Apple Developer Program guide covers what the $99 includes.
A note on names. Expo’s pricing page now calls the services Expo Build, Expo Submit and Expo Update; Expo says Expo Update is the current name for what it used to call EAS Update, and the eas command-line tool and eas.json file keep their names. Most search results and older articles still say “EAS,” and this guide uses both.
How much does Expo cost per month?
Expo publishes four plans. Prices are per month and billed monthly; the pricing page lists no yearly prices. Expo’s billing docs say plans are “priced the same worldwide (pre-tax)” and that annual contracts are available “on an as-needed basis.”
| Free | Starter | Production | Enterprise | |
|---|---|---|---|---|
| Price | $0 | $19/mo plus usage | $199/mo plus usage | Custom |
| Yearly cost of the plan alone | $0 | $228 | $2,388 | Not published |
| Builds included | Up to 15 Android and 15 iOS | $45 of build credit | $225 of build credit | Credit starting at $1,000 |
| Build queue | Low priority | High priority | High priority | High priority |
| Build timeout | 45 minutes | 2 hours | 2 hours | 2 hours |
| Large build workers | No | Yes | Yes | Yes |
| Concurrent jobs | 5 (1 on macOS) | 5 (2 on macOS) | 15 (10 on macOS) | 20 (15 on macOS) |
| Extra concurrency | Not offered | $50 each, up to 5 | $50 each, up to 5 | $50 each |
| Projects | 25 | 50 | 100 | 300 |
| Team members | Unlimited | Unlimited | Unlimited | Unlimited |
| Update users (MAU) included | 1,000 | 3,000 | 50,000 | Preferred pricing |
| Update bandwidth included | 100 GiB | 100 GiB | 1 TiB | 40 TiB |
| Update storage included | 20 GiB | 20 GiB | 1 TiB | 10 TiB |
| SSO and SOC 2 Type 2 | No | No | Yes | Yes |
| Support | Community chat | Community chat | Priority support | Priority support, 99.9% uptime SLA |
Two things stand out. Expo doesn’t charge per seat: every plan, including Free, allows unlimited members. And Expo says “every plan includes Expo Build, Expo Submit, Expo Update, and CI/CD Workflows,” so the paid plans buy capacity, priority and limits, not access.
How much does an EAS build cost?
On paid plans, each build has a flat price set by platform and worker size, whatever it takes to run:
| Platform | Medium worker | Large worker |
|---|---|---|
| Android | $1 per build | $2 per build |
| iOS | $2 per build | $4 per build |
The plan’s monthly credit pays for builds first. Expo’s usage-based pricing docs say the credits “are reset at the start of the billing period and expire at the end of that billing period,” so unused credit doesn’t roll over. Builds “that are canceled before any work is done are not charged.” Build charges are totaled and “charged at the end of your billing period or sooner if you cancel your plan.” Expo emails you at 80% and 100% of your included build credit.
What $45 and $225 of credit buy:
| Builds of one kind | Starter ($45 credit) | Production ($225 credit) |
|---|---|---|
| iOS medium ($2) | 22 builds ($44), the 23rd costs $1 extra | 112 builds ($224) |
| iOS large ($4) | 11 builds ($44) | 56 builds ($224) |
| Android medium ($1) | 45 builds | 225 builds |
| Android large ($2) | 22 builds ($44) | 112 builds ($224) |
Expo’s own examples: on Production, 15 medium Android builds and 10 large iOS builds cost $55, inside the credit, so the bill is $0 beyond the plan; 100 builds costing $260 at list price leave $35 to pay after the $225 credit.
The Free plan works differently. It has a build count, not credit, and Expo’s billing docs say Free accounts “cannot incur overage charges”: when you use your 15 builds of a platform, you wait for the monthly reset or upgrade. Free builds also run in the low-priority queue, and Expo’s pricing page warns that “at peak times, you may experience wait times of 90+ minutes with the low-priority queue depending on demand.” Paid queues are high priority, and Expo says it strives “for zero wait time on the high-priority queue.”
Building on your own machine. eas build --local runs the same build process on your computer. Expo’s local builds page says it works on macOS and Linux, not Windows, still needs you to log in to Expo, and leaves you responsible for installing the tools (fastlane and CocoaPods for iOS, the Android SDK and NDK for Android). The page doesn’t say whether local builds count against plan limits. Without a Mac, an iOS build has to run in the cloud; our guide to building an iPhone app without a Mac compares those routes.
What do over-the-air updates cost?
Expo Update sends over-the-air updates to apps people have already installed. It is priced on two meters: monthly active users (MAU) and bandwidth.
Expo’s docs define a monthly active user as a “unique installation of your app on a device” that “counts only once per billing period, regardless of how many updates this user downloads.” Each user beyond your plan’s allowance also adds 40 MiB of bandwidth to your allowance. Bandwidth beyond the allowance costs $0.10 per GiB, and storage beyond the included amount $0.05 per GiB.
The MAU price falls in bands. Starter and Production use the same rates above their included users:
| Monthly active users | Price per extra user |
|---|---|
| Up to 3,000 (Starter) or 50,000 (Production) | Included |
| Up to 200,000 | $0.005 |
| 200,001 to 500,000 | $0.00375 |
| 500,001 to 1,000,000 | $0.0034 |
| 1,000,001 to 2,000,000 | $0.003 |
| 2,000,001 to 3,000,000 | $0.0024 |
| 3,000,001 to 6,000,000 | $0.0022 |
| 6,000,001 to 10,000,000 | $0.0016 |
Rates keep falling above 10 million users, to $0.00085 per user above 100 million. Each rate applies only to the users inside its band.
The Free plan has no overage at all. Expo’s pricing page says it “is limited to its included monthly active users,” so an app that outgrows 1,000 updating users needs a paid plan to keep shipping updates to everyone.
Expo’s docs give a Starter example: 10,000 users (7,000 above the included 3,000) and 20 updates of 5 MiB. The extra users cost $35 and the extra bandwidth $60.31, for $95.31 on top of the $19 plan. Bandwidth grows with every update you send, so a 21st update in the same month takes the bandwidth charge to $65.20.
What else is billed: hosting, workflows and monitoring
Expo also sells web hosting for Expo Router sites and API routes, CI/CD workflows, and app monitoring (Observe). Paid plans pay usage beyond small allowances.
| Service | Free | Starter and Production |
|---|---|---|
| Hosting requests | 100,000 a month | 100,000, then $2 per million |
| Hosting CPU time | 1,000,000 CPU-ms | 1,000,000 CPU-ms, then $0.04 per million |
| Hosting storage | 1 GB | 1 GB, then $0.04 per GB |
| CPU-ms per request | 10 | 30,000 |
| Custom domain | None | 1 per project |
| Log retention | 7 days | 3 months |
| Workflow minutes | Up to 60 | Usage-based |
| Maestro end-to-end test jobs | Not offered | $0.05 per job plus minutes |
| Observe events | 100,000 a month | 500,000 a month, then $5 per million |
Workflow minutes for jobs that aren’t builds are billed per minute: Linux medium $0.018, Linux large $0.035, macOS medium $0.075 and macOS large $0.150. Builds that run inside a workflow use your build credit first, then the flat build prices above. Simulator minutes are in beta at $0.10 a minute, with 60 minutes a month included on paid plans “until 2027”; Expo says rates may change when the feature leaves beta.
A worked hosting example: a site on Starter serving 3 million requests a month pays for 2.9 million beyond the allowance, 2.9 × $2 = $5.80, plus any CPU time over 1 million CPU-ms.
What a real app pays: three worked examples
These assume every active user downloads every update, as Expo’s own example does. Real apps usually download less, so treat the bandwidth line as an upper bound.
1. Hobby app: 10 iOS and 10 Android builds a month, 600 active users, a few updates. Everything fits the Free plan: 10 is under 15 builds per platform and 600 is under 1,000 users. Expo cost: $0. Year one with both stores: $99 + $25 = $124, then $99 a year. The trade-off is the low-priority queue and the 45-minute build timeout.
2. Launched app on Starter: 20 iOS and 20 Android medium builds, 8,000 active users, 10 updates of 5 MiB a month.
- Builds: 20 × $2 + 20 × $1 = $60, minus the $45 credit = $15
- Update users: 8,000 − 3,000 = 5,000 × $0.005 = $25
- Bandwidth used: 8,000 users × 10 updates × 5 MiB = 400,000 MiB = 390.6 GiB. Allowance: 100 GiB + 5,000 × 40 MiB (195.3 GiB) = 295.3 GiB. Extra: 95.3 GiB × $0.10 = $9.53
- Plan: $19
Total: $19 + $15 + $25 + $9.53 = $68.53 a month, or $822.36 a year, before Apple’s and Google’s fees. Ship 5 updates instead of 10 and the bandwidth (195.3 GiB) fits the allowance, so the month drops to $59.
3. Growing app: 50 iOS and 50 Android large builds, 60,000 active users, 4 updates of 10 MiB a month.
On Production:
- Builds: 50 × $4 + 50 × $2 = $300, minus $225 credit = $75
- Update users: 60,000 − 50,000 = 10,000 × $0.005 = $50
- Bandwidth used: 60,000 × 4 × 10 MiB = 2,400,000 MiB = 2,343.8 GiB. Allowance: 1,024 GiB + 10,000 × 40 MiB (390.6 GiB) = 1,414.6 GiB. Extra: 929.1 GiB × $0.10 = $92.91
- Plan: $199
Total: $416.91 a month.
The same usage on Starter: builds $300 − $45 = $255; users 57,000 × $0.005 = $285; bandwidth allowance 100 GiB + 57,000 × 40 MiB (2,226.6 GiB) = 2,326.6 GiB, so 17.2 GiB extra = $1.72; plus $19. Total $560.72 a month. Production saves $143.81 a month here.
Starter or Production: where the switch pays off
The arithmetic from Expo’s published rates gives two simple rules.
For builds alone, Production never costs less than Starter. Production costs $180 more a month and gives exactly $180 more build credit ($225 vs $45). Once your builds use $225 or more, both plans cost the same for builds: your list-price build spend minus $26. Below $225, Starter is cheaper. So don’t upgrade for builds alone; upgrade for the other limits (more macOS concurrency, 100 projects, SSO, priority support, code signing for updates).
Update users are what make Production cheaper. Take an app whose builds stay inside Starter’s $45 credit. Starter costs $19 plus $0.005 for each user above 3,000; Production costs $199 for up to 50,000 users. The two meet when (users − 3,000) × $0.005 = $180, which is 39,000 users. Above about 39,000 monthly active users, Production is cheaper even before counting bandwidth, and with heavier builds the crossover comes sooner.
How does Expo compare with Codemagic and Xcode Cloud?
Expo charges per build; Codemagic and Xcode Cloud charge for time. Neither Expo, Codemagic nor Apple publishes a typical build length, because it depends on the app, so the table uses a 15-minute iOS build as an example.
| Expo | Codemagic | Xcode Cloud | |
|---|---|---|---|
| Free allowance | 15 iOS + 15 Android builds a month | 500 Mac mini M2 minutes a month | 25 compute hours a month with the $99 Apple membership |
| Paid pricing | Starter $19/mo + $2 or $4 per iOS build | Pay as you go: $0.095/min (M2), $0.114/min (M4), $0.045/min Linux and Windows | $49.99/mo for 100 hours, $99.99 for 250, $399.99 for 1,000 |
| Team seats | Unlimited | Unlimited on pay as you go (free plan is one user) | Not stated on the page we read |
| Concurrency | 1 macOS job free, 2 on Starter | 1 included; $49 per extra a month, up to 3 | Not stated on the page we read |
| 40 iOS builds of 15 min | Starter: 40 × $2 = $80 − $45 = $35, + $19 = $54 | 600 min − 500 free = 100 × $0.095 = $9.50 | 10 hours, inside the 25 included = $0 extra |
Apple defines a compute hour as “an hour of time used to execute a specific task in the cloud,” noting that “running 5 tests of 12 minutes each equals one compute hour,” and says Xcode Cloud “requires Apple Developer Program membership.”
Time-based pricing is cheaper when builds are short and costs more when they run long; Expo’s flat price stays the same whether a build takes 10 minutes or an hour. Expo also bundles store submission, updates and hosting into one bill. For a Flutter-vs-React-Native view of the same services, see our Flutter vs React Native cost guide.
What to watch for
- Credits expire monthly. Unused Starter or Production build credit is gone at the end of the billing period, so a $199 plan in a quiet month still costs $199.
- The Free plan stops; it doesn’t bill. No overage is possible, so a release day can be blocked by a used-up build count or the 1,000-user update limit. The 45-minute build timeout and 90-minute-plus peak queues are also Free-only.
- Update bandwidth grows with update size and count. Bandwidth is metered on what users download, so frequent or large updates to a big user base add up quickly. Expo’s docs show one extra 5 MiB update adding $4.89 to a 10,000-user Starter bill.
- Usage is billed after the fact. Build charges are totaled monthly and charged at the end of the period, or when you cancel. Expo’s billing docs mention no hard spending cap; the build-credit emails at 80% and 100% are the warning it documents.
- Cancelling and downgrading. Expo’s billing page says cancellation of Starter, Production or Enterprise “takes effect after your current billing period ends,” and that if you leave Starter “you will be charged for any usage incurred during the current billing period.” Production and Enterprise can only downgrade to Starter, also at the end of the period. Expo’s billing docs don’t mention refunds or proration.
- Low lock-in on code. The framework is open source, and the docs say the
expopackage is “not required to use” Expo Services. Builds can run on your own machine witheas build --local, or on another CI service.
Which plan should you choose?
- Learning, prototyping or a side project: Free. 15 builds of each platform, store submission and updates for 1,000 users cost nothing. Expect queues.
- A solo developer about to launch: Starter at $19 a month. The high-priority queue and 2-hour timeout matter more than the credit, and $45 covers about 22 medium iOS builds. Budget roughly $35 to $70 a month once updates reach a few thousand users.
- An app with 40,000 or more updating users: Production at $199 a month. The 50,000 included users and 1 TiB of bandwidth outweigh the higher fee from about 39,000 users, and you get SSO, SOC 2 and priority support.
- Builds are your only cost and they’re short: compare Codemagic’s per-minute rates and the 25 Xcode Cloud hours that come with Apple’s membership before paying for Expo builds. See our Expo, Codemagic and Xcode pages.
- Still choosing how to build the app: start with our iOS app builders hub and the full cost of making an app.
Sources
- Expo: Expo Services pricing, read November 8, 2026
- Expo docs: Subscriptions, plans, and add-ons, read November 8, 2026
- Expo docs: Usage-based pricing, read November 8, 2026
- Expo docs: Manage plans and billing, read November 8, 2026
- Expo docs: FAQ, read November 8, 2026
- Expo docs: Run builds locally or on your own infrastructure, read November 8, 2026
- Codemagic: Pricing, read November 8, 2026
- Apple: Xcode Cloud, read November 8, 2026
- Apple: Enrolling in the Apple Developer Program, read November 8, 2026
- Google: Play Console registration, read November 8, 2026