React Native Async Storage

An asynchronous, persistent, unencrypted key-value storage system for React Native apps

Library
npm
v3.1.1
5,073 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
71 /100 Good
Development Activity 60
Maintenance 60
Community 64
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
78 /100 Good
Architecture 80
Code Quality 78
Innovation 65
Learning Curve 88

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/removeItem methods 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

TypeScript
94%
AGPL 3.0

Papra

Bookmarks Archiving

5,587

Self-hosted document archiving with email ingestion, OCR full-text search, and pluggable storage — store once, find anything.

View details
86
Repo Health
82
Technical
69
Dependency
Built with
TypeScript 94%
Updated 6 days ago
TypeScript
98%
AGPL 3.0

paseo

AI Agents · AI Code Assistants

21,830

One unified interface to orchestrate Claude Code, Codex, Copilot, OpenCode, and Pi agents in parallel from desktop, mobile, or the terminal.

View details
88
Repo Health
83
Technical
66
Dependency
Built with
TypeScript 98%
Updated 5 days ago
Python
62%
Apache 2.0

Polar

Developer Tools · Ecommerce · Invoicing Finance

10,410

Open source payments infrastructure that turns software into a business — subscriptions, usage-based billing, digital products, and merchant-of-record compliance in one platform.

View details
90
Repo Health
82
Technical
66
Dependency
Built with
Python 62%
TypeScript 31%
Updated 6 days ago
Rust
79%
AGPL 3.0

Spacedrive

Collaboration · File Storage

39,292

One file manager for all your devices and clouds — powered by a Virtual Distributed File System built in Rust.

View details
84
Repo Health
84
Technical
63
Dependency
Built with
Rust 79%
TypeScript 18%
Updated 2 weeks ago
TypeScript
83%
AGPL 3.0

Standard Notes

Note Taking

6,681

End-to-end encrypted notes and files — private by design, built to last, and fully self-hostable.

View details
89
Repo Health
83
Technical
68
Dependency
Built with
TypeScript 83%
JavaScript 14%
Updated 6 days ago
TypeScript
92%
Other

Suna

AI Agents

20,306

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.

View details
90
Repo Health
79
Technical
65
Dependency
Built with
TypeScript 92%
Updated 5 days ago
TypeScript
72%
Apache 2.0

Supabase

Authentication · Databases · Developer Tools

113,827

The open-source Postgres development platform that replaces Firebase with authentication, real-time APIs, edge functions, storage, and vector embeddings — all built on PostgreSQL.

View details
90
Repo Health
91
Technical
62
Dependency
Built with
TypeScript 72%
MDX 26%
Updated 5 days ago
TypeScript
85%
Apache 2.0

superset

AI Code Assistants · AI Development

15,503

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.

View details
86
Repo Health
80
Technical
64
Dependency
Built with
TypeScript 85%
Updated 5 days ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers