Where Is the Android Contacts Database?
Android stores contacts in a SQLite database named contacts2.db under the contacts provider package. The folder is protected and needs root to open.
Last updated
The provider package is com.android.providers.contacts. Current paths use /data/user/0/com.android.providers.contacts/databases/contacts2.db, with /data/data/com.android.providers.contacts/databases/contacts2.db kept as a legacy path.
Direct file access requires root or a rooted ADB session. Standard apps should use the Contacts Provider API instead of copying the database.
Where Android stores this, by platform
/data/user/0/com.android.providers.contacts/databases/contacts2.db
Primary location on multi user Android. Also reachable as /data/data/com.android.providers.contacts/databases/contacts2.db on many builds. Includes WAL companions. Requires root.
Frequently asked questions
Do I need root to copy contacts2.db?
Yes for direct file copy. Android guards /data/user and /data/data with system permissions. Without root, export contacts through the Contacts app or use account sync.
Is contacts2.db plain SQLite?
Yes. It is SQLite with tables for contacts, raw contacts, data and accounts. Copy both contacts2.db and its WAL files for a consistent snapshot, then open the copy with a SQLite browser.
Notice an outdated path? Let us know.