Storage · On-device storage

Expo + AsyncStorage

AsyncStorage in an Expo SDK 57 app for iOS and Android, wired by one command and checked by doctor.

AsyncStorage is the community-standard async key/value store (@react-native-async-storage/async-storage), behind the same src/lib/storage.ts. I'd pick it for one reason: a library you depend on hard-requires AsyncStorage - some auth and analytics SDKs take it as a storage option, and this way you keep a single store. Otherwise prefer kv-store (Expo Go and sync reads on native) or mmkv (fastest, dev build). Callers don't change: they import storage from @/lib/storage.

When to pick AsyncStorage

AsyncStorage: Pick it when a library hard-requires AsyncStorage. Async only.

At a glance

Runs in Expo Go
Yes
Files added
3
npm packages
1
Keys to paste
None
Included in
Starter and Pro
Tests included
1

Set it up

bun run setup --storage async-storage

Setup copies the module in, installs SDK-matched versions and removes the options you did not pick. Then bun run doctor lists every key still missing, with a link to where you get it. The step-by-step guide is in the AsyncStorage docs.

Wiring it by hand instead? Read the guide: AsyncStorage vs MMKV vs expo-sqlite/kv-store.

AsyncStorage vs other storage options

OptionExpo Gonpm packagesKeys to pasteIncluded in
AsyncStorageYes10Starter and Pro
expo-sqlite/kv-storeYes10Free, Starter and Pro
MMKVDev build20Starter and Pro

Questions

Can I use AsyncStorage in Expo Go?

Yes. This module runs in Expo Go, so you can try it before you make a development build.

What do I need to set up AsyncStorage in an Expo app?

Only bun run setup --storage async-storage. There are no API keys to paste; bun run doctor checks the result.

Does the ReadyNative free tier include AsyncStorage?

No. It ships in Starter and Pro (one payment, lifetime updates); the free tier uses expo-sqlite/kv-store for storage.

AsyncStorage or expo-sqlite/kv-store for Expo?

AsyncStorage: Pick it when a library hard-requires AsyncStorage. Async only. expo-sqlite/kv-store: The default (expo-sqlite/kv-store). Expo Go and sync reads on native, so stores hydrate before first paint.

AsyncStorage or MMKV for Expo?

AsyncStorage: Pick it when a library hard-requires AsyncStorage. Async only. MMKV: The fastest, memory-mapped and fully synchronous. Needs a dev build.

Which AsyncStorage version does it install?

For Expo SDK 57: @react-native-async-storage/async-storage 2.2.0. Setup installs Expo packages with expo install, so they match the SDK.

Get it

AsyncStorage ships in Starter and Pro: one payment, lifetime updates. See pricing or browse every module.