Documentation
On this page

CodePush alternatives in 2026#

Microsoft retired App Center, and CodePush with it, on 31 March 2025. If your React Native app still ships updates through CodePush, or you are choosing an over-the-air (OTA) update service for the first time, this page lists the options that exist today, grouped by the situation each one fits best.

Rollbird publishes this page and is one of the options. It is listed last, and the sections below say where another service is the better or cheaper choice. Every competitor price links to the vendor's public pricing page and was checked in October 2026. Prices in this category change often, so confirm them before you commit.

What happened to CodePush#

Facts checked in October 2026:

So "CodePush" today means one of three things: a hosted service that keeps the CodePush client API, a CodePush server you run yourself, or a different OTA system with its own SDK.

Which alternative fits#

Your situationLook at first
The app is built with Expo and you use EAS BuildEAS Update
You want to keep the CodePush client API and stay free under 100,000 monthly active usersBitrise CodePush
Bundles and update traffic must stay on your own infrastructureHot Updater, Codemagic Patch, or a self-hosted CodePush server
You want a hosted CodePush-compatible service with plans by MAURevopush, AppZung, Codemagic CodePush
You want a hosted service with its own SDK and a free tier to 10,000 MAUStallion
You want a flat monthly price that doesn't grow with users, for bare React Native or ExpoRollbird

What each costs at 10K, 100K and 1M users#

Monthly list price at three sizes of app, in the currency each vendor publishes, checked October 2026. MAU means monthly active users as each vendor defines it. Each figure is the cheapest combination of a published plan and its published per-user overage; bandwidth and storage overage are excluded. The last column says whether an app moving off CodePush has to adopt a different client SDK.

Service10K MAU100K MAU1M MAUSDK change from CodePush?
EAS Update$54$449$3,774Yes: expo-updates (and Expo modules in a bare app)
Bitrise CodePush$0$0$1,111 (Bitrise's comparison)No: the CodePush client API
Revopush$25$75$500Small: Revopush's CodePush-compatible SDK
AppZung€20€110€900Small: CodePush-compatible, per AppZung
Stallion$0$64CustomYes: Stallion's own SDK
Codemagic CodePush$1 per 2,500 installs$1 per 2,500 installs$990Small: the @code-push-next CodePush fork
Self-hosted (Hot Updater, Codemagic Patch, CodePush server)Your infrastructureYour infrastructureYour infrastructureDepends on the project
Rollbird$0 or $7$0 or $7$0 or $7Yes: @rollbird/react-native

How the figures are worked out:

Where Rollbird is not the cheapest: under 100,000 MAU Bitrise CodePush costs $0, and under 10,000 MAU Stallion's free plan costs $0 too. If you ship more than three production updates a month, Rollbird costs $7 there. Rollbird's price advantage starts around 100,000 MAU and grows from there.

EAS Update: for Expo-first teams#

EAS Update is Expo's hosted OTA service and the default choice for an app already on Expo and EAS Build. It uses the expo-updates library, publishes to branches that channels point at, and supports percentage rollouts and rollback to a previous or embedded update. Its pricing is base fee plus update MAU plus bandwidth, which is cheap for small apps (free to 1,000 MAU) and grows with your audience.

A bare React Native app can use it, but has to install Expo modules first (Expo docs). The Rollbird vs EAS Update page compares the setup step by step.

Bitrise CodePush: keep the CodePush API, free to 100K MAU#

Bitrise CodePush is a hosted CodePush server inside Bitrise Release Management. Your app keeps the react-native-code-push client API, which is the smallest code change for an existing CodePush app. Bitrise says it works with bare React Native and Expo, including the New Architecture, and that staged rollout and rollback are on every plan, including the free one. If your app has fewer than 100,000 monthly active users, it is hard to beat on price.

Self-hosted: Hot Updater, Codemagic Patch, CodePush servers#

Choose this path when bundles and update traffic have to stay inside your infrastructure, or your team already runs the CDN, secrets and on-call rotation an update service needs. The hosted vs self-hosted guide lists what that pipeline involves.

Hosted CodePush-compatible services: Revopush, AppZung, Codemagic CodePush#

These keep the CodePush client model, so migration is mostly a new server URL and keys, plus the vendor's SDK package.

Stallion: its own SDK, free to 10K MAU#

Stallion is a hosted OTA service with its own SDK rather than the CodePush API. Its free plan covers 10,000 MAU with no overage allowed, and Pro covers 100,000 MAU for $64 a month. An On-Premise plan exists for teams that need to self-host.

Rollbird: flat price, bare React Native and Expo#

Rollbird is a hosted OTA update service for bare React Native and Expo apps, with staged releases, free rollback, and no per-user pricing. Plans are priced on apps, storage and seats, so the bill doesn't change when your audience grows.

It is not a CodePush drop-in: you replace the CodePush SDK with @rollbird/react-native and rebuild the native app once. The migration guide maps every CodePush command and API call to its Rollbird equivalent.

Before you switch#