MMKV

Store key-value data in React Native apps with MMKV, a storage library for the framework.

github.com/mrousavy/react-native-mmkv
MMKV homepage screenshot

About MMKV

MMKV is an open source key-value storage library for React Native that connects JavaScript to the native MMKV C++ library. It supports iOS, Android and Web, stores strings, booleans, numbers and ArrayBuffers, and uses synchronous calls without Promises.

Version 4 is implemented as a Nitro Module and requires the react-native-nitro-modules package. By default values are stored in plain text relying on the OS sandbox, with optional encryption, custom paths, multiple instances and multi-process sharing for app groups.

Key features

  • Store and retrieve strings, booleans, numbers and ArrayBuffers
  • Synchronous get and set without async/await or Promises
  • Encrypt stored values with configurable key and AES type
  • Create multiple separate instances with custom IDs and paths
  • Share data with app extensions via app groups and multi-process mode
  • Use React Hooks API for storage access
Best for: Best for React Native developers who need synchronous on-device key-value storage with separate instances and optional encryption.
Good for
  • Synchronous reads and writes without async/await, Promises or Bridge
  • Supports iOS, Android and Web from the same library
  • Multiple instances with separate IDs, paths and encryption settings
Watch out for
  • Stores values in plain text by default unless encryption is configured
  • Version 4 requires react-native-nitro-modules and migration from Version 3

MMKV at a glance

Type
Open-source project
Pricing
Not confirmed. Check the site
Open source
Yes · Source code
Language
English
Last checked
Oct 5, 2026 · Online when checked
Listed
Oct 5, 2026

MMKV alternatives

Tools and sites you could use instead, ranked by how closely they match.

All 24 alternatives

Popular in APIs & Databases

Well-known listings from the same topic.

All 93

MMKV FAQ

How do I create separate storage for different users?
Call createMMKV with a custom id, such as user-specific storage, to separate it from the default mmkv.default instance.
How do I share data with app extensions?
Add an AppGroupIdentifier key to Info.plist for your app group; MMKV then stores data in the group location using multi-process mode.
How do I encrypt stored values?
Set an encryptionKey when creating the instance, with encryptionType AES-128 by default or AES-256.
Is something wrong or out of date?

Tell us and an editor will check it.

Own this website?

Claim the listing and suggest updates yourself. An editor checks every claim first.

Claim this listing