AndroidiOS

Where Does MMKV Store Its Files?

MMKV memory maps its files in an app private mmkv directory. Each map ID gets its own file, with CRC sidecars keeping them honest.

Last updated

MMKV trades SQLite for memory mapped files, so there is no single database to find. Each map ID the app opens becomes its own file inside an mmkv directory under app private storage, with CRC sidecar files beside them. Small prefs, big speed, scattered files.

The directory name is a convention, not a law. Apps pass their own root at init, so treat the paths below as the defaults to check first. Search the app's files directory for the telltale CRC sidecars when the defaults miss.

Where MMKV stores this, by platform

Android
/data/data/[package]/files/mmkv

Default root under the app files directory. Each map ID becomes a file here with CRC sidecars. Apps can override the root at init, so search the files tree when defaults miss.

iOS
App Container/Library/Application Support/mmkv

Library folder of the app container. Same per map ID layout as Android. Pull it from a simulator build or a paired device backup, since production phones hide it.

Frequently asked questions

Can I read an encrypted MMKV file outside the app?

Yes if you have the crypt key the app used. Without it the bytes are unreadable by design. With it, the desktop tools and backup utilities the project documents can decode a pulled copy.

Two processes share one map. What breaks?

Open the same map ID with multi process mode on every side that touches it. Mixed modes corrupt. This is the single most common MMKV production bug.

Notice an outdated path? Let us know.