react-native-async-storage/async-storage

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

5,072

stars

492

commits

Kotlin

primary language

Sep 5, 2026

updated

react-native-async-storage.github.io

README

React Native Async Storage

Async Storage is an asynchronous, unencrypted, persistent key-value storage solution for your React Native application. It provides a simple API compatible with the Web Storage API, with additional extensions for batch operations and multi-database support.

Supported platforms

  • Android (SQLite)
  • iOS (SQLite)
  • macOS (SQLite)
  • visionOS (legacy fallback, single database only)
  • Web (IndexedDB backend)
  • Windows (legacy fallback, single database only)

Compatibility

Compatibility table for React Native:

React NativeMinimum Version
ios/android0.76
macOS0.78
visionOS0.79
windows0.79

Other components:

ComponentVersion
kotlin2.1.0
android min sdk24
ios min target13
macOS min target12

Installation

# Using npm
npm install @react-native-async-storage/async-storage

# Using yarn
yarn add @react-native-async-storage/async-storage

iOS/macOS

Install cocoapods dependencies:

# inside macos/ios directory
pod install

Usage

import { createAsyncStorage } from "@react-native-async-storage/async-storage";

// create a storage instance
const storage = createAsyncStorage("appDB");

async function demo() {
  await storage.setItem("userToken", "abc123");

  const token = await storage.getItem("userToken");
  console.log("Stored token:", token); // abc123

  await storage.removeItem("userToken");
}

License

MIT

Contributors

(top 30 of 138)

tido64

94 commits

dependabot[bot]

93 commits

krizzu

48 commits

react-native-async-storage/async-storage

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

5,072

stars

492

commits

Kotlin

primary language

Sep 5, 2026

updated

react-native-async-storage.github.io

README

React Native Async Storage

Async Storage is an asynchronous, unencrypted, persistent key-value storage solution for your React Native application. It provides a simple API compatible with the Web Storage API, with additional extensions for batch operations and multi-database support.

Supported platforms

  • Android (SQLite)
  • iOS (SQLite)
  • macOS (SQLite)
  • visionOS (legacy fallback, single database only)
  • Web (IndexedDB backend)
  • Windows (legacy fallback, single database only)

Compatibility

Compatibility table for React Native:

React NativeMinimum Version
ios/android0.76
macOS0.78
visionOS0.79
windows0.79

Other components:

ComponentVersion
kotlin2.1.0
android min sdk24
ios min target13
macOS min target12

Installation

# Using npm
npm install @react-native-async-storage/async-storage

# Using yarn
yarn add @react-native-async-storage/async-storage

iOS/macOS

Install cocoapods dependencies:

# inside macos/ios directory
pod install

Usage

import { createAsyncStorage } from "@react-native-async-storage/async-storage";

// create a storage instance
const storage = createAsyncStorage("appDB");

async function demo() {
  await storage.setItem("userToken", "abc123");

  const token = await storage.getItem("userToken");
  console.log("Stored token:", token); // abc123

  await storage.removeItem("userToken");
}

License

MIT

Contributors

(top 30 of 138)

tido64

94 commits

dependabot[bot]

93 commits

krizzu

48 commits

Languages

Kotlin

27.4%

C++

25.6%

Objective-C++

21.0%

TypeScript

18.4%

Swift

3.3%

Shell

1.3%

Objective-C

1.2%