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 16 apps in this directory
AionUi
AI Agents · Productivity
Free, open-source Cowork desktop app that unifies Claude Code, Codex, Gemini CLI, and 20+ AI agents into a single platform with multi-agent teams, 24/7 cron automation, and zero-config built-in agent.
Jitsi Meet
Team Chat · Collaboration · Video Conferencing
Open-source, end-to-end encrypted video conferencing you can self-host or embed into any web or mobile app.
Karakeep
Bookmarks Archiving
Self-hosted bookmark manager that captures links, notes, images, and PDFs with AI tagging, full-text search, and automatic archiving.
LibrePhotos
File Storage
Self-hosted photo library with AI-powered face recognition, semantic search, and automatic event albums — no cloud required.
Linkwarden
Bookmarks Archiving · Knowledge Management
Self-hosted collaborative bookmark manager that captures full-page archives, enables annotation, and keeps your knowledge accessible forever.
Omnivore
Knowledge Management · Bookmarks Archiving · Note Taking
Self-hosted read-it-later platform with highlights, newsletters, PDFs, and seamless Obsidian and Logseq integration.
OneUptime
Monitoring
The complete open-source observability platform that replaces PagerDuty, Datadog, Sentry, and StatusPage with a single self-hostable system.
Orca
AI Agents · AI Code Assistants
An open-source Agent Development Environment that orchestrates fleets of parallel AI coding agents — Claude Code, Codex, Gemini and more — each running in its own isolated git worktree.
Papra
Bookmarks Archiving
Self-hosted document archiving with email ingestion, OCR full-text search, and pluggable storage — store once, find anything.