React Native Async Storage
An asynchronous, persistent, unencrypted key-value storage system for React Native apps
Repository Health
Technical Analysis
Async Storage is the community-maintained successor to React Native’s original built-in AsyncStorage module, providing a simple, Web-Storage-API-compatible key-value store for persisting small amounts of data across app restarts. It exposes createAsyncStorage(name) to create named storage instances, with getItem/setItem/removeItem plus batch operations (multiGet, multiSet, multiRemove) for working with several keys at once, and supports multiple independent databases within a single app.
Under the hood, each platform gets a purpose-built backend: SQLite on Android, iOS, and macOS; a legacy single-database fallback on Windows and visionOS; and IndexedDB on Web. This gives apps a consistent async API surface while letting each platform use its most natural persistent-storage primitive. Because the data is unencrypted, the library is intended for non-sensitive state (user preferences, cached API responses, draft form data) rather than credentials or tokens, which should go through a platform keychain/keystore-backed library instead.
What You Get
createAsyncStorage(name)to create one or more independent named storage databases within an app- Core
getItem/setItem/removeItemmethods matching the Web Storage API shape - Batch operations (
multiGet,multiSet,multiRemove) for working with several keys in one call - Platform-native backends: SQLite on Android/iOS/macOS, a legacy fallback on Windows/visionOS, IndexedDB on Web
- A Jest mock (
@react-native-async-storage/async-storage/jest) for testing code that reads/writes storage - An Expo config plugin package (
expo-with-async-storage) for easier Expo integration
Common Use Cases
- Persisting user preferences and app settings across sessions
- Caching API responses locally to reduce network calls and support offline-first UX
- Storing non-sensitive draft form state so users don’t lose input on app restart
- Maintaining onboarding/tutorial-seen flags and other lightweight app state
Under The Hood
Architecture - The repo is a Yarn/Turborepo monorepo (packages/async-storage, packages/expo-with-async-storage, packages/eslint-config). The core package’s src/index.tsx exposes createAsyncStorage, with platform-specific implementations selected via React Native’s file-extension resolution (createAsyncStorage.native.ts, createAsyncStorage.windows.ts, plus a web-module and native-module split), so the same call site resolves to SQLite-backed native code or an IndexedDB-backed web module depending on the build target. Tech Stack - TypeScript for the JS API surface, Kotlin for the Android native module, Objective-C++ (AsyncStorage.mm/.h) for the Apple native module, and the idb package to wrap IndexedDB on Web; builds go through react-native-builder-bob (bob build) to produce lib/module and lib/typescript outputs. Code Quality - The project ships platform-specific native test/build tooling (Gradle for Android, a Podspec-driven Apple build) alongside tsc --noEmit and ESLint scripts for the JS layer; with 150 contributors and continuous semantic-release automation, the project shows an established, actively reviewed contribution process. API Design - The API deliberately mirrors the familiar localStorage/Web Storage shape (getItem/setItem/removeItem) so React and web developers have near-zero ramp-up, while createAsyncStorage(name) for multi-database support and the bundled Jest mock reduce the boilerplate needed to both use and test the library in a React Native app.
Used by 17 apps in this directory
Papra
Bookmarks Archiving
Self-hosted document archiving with email ingestion, OCR full-text search, and pluggable storage — store once, find anything.
paseo
AI Agents · AI Code Assistants
One unified interface to orchestrate Claude Code, Codex, Copilot, OpenCode, and Pi agents in parallel from desktop, mobile, or the terminal.
Polar
Developer Tools · Ecommerce · Invoicing Finance
Open source payments infrastructure that turns software into a business — subscriptions, usage-based billing, digital products, and merchant-of-record compliance in one platform.
Spacedrive
Collaboration · File Storage
One file manager for all your devices and clouds — powered by a Virtual Distributed File System built in Rust.
Standard Notes
Note Taking
End-to-end encrypted notes and files — private by design, built to last, and fully self-hostable.
Suna
AI Agents
Turn your company into a git repo — one config, one command center, a workforce of AI agents that runs the real work around the clock.
Supabase
Authentication · Databases · Developer Tools
The open-source Postgres development platform that replaces Firebase with authentication, real-time APIs, edge functions, storage, and vector embeddings — all built on PostgreSQL.
superset
AI Code Assistants · AI Development
Orchestrate an army of AI coding agents—Claude Code, Codex, Gemini CLI, and more—running simultaneously in isolated git worktrees from a single Electron desktop app.