Android

Where Does Android Store Contacts?

Android keeps contacts in a root-only contacts2.db plus synced account copies. Database path and sane backup routes.

Last updated

Android stores contacts in a SQLite database at /data/data/com.android.providers.contacts/databases/contacts2.db, holding local entries plus cached copies of synced accounts. The path needs root to even list, which surprises everyone coming from vCard files.

Almost nobody should touch that file. Google accounts sync to the cloud continuously, and the Contacts app exports clean VCF files for everything else. The database matters for forensics, custom ROM work and understanding why half your contacts vanished: local phone-account entries never leave the device. Dual-SIM, ringtone and organization fields ride in the same tables. Root readers get the path; everyone else gets export and sync.

Where Android contacts stores this, by platform

Android
/data/data/com.android.providers.contacts/databases/contacts2.db

SQLite database with local plus cached synced contacts; root required to read. Google accounts mirror to cloud; phone-account entries stay device-only. Back up via Contacts export to VCF or account sync, never raw file copies. Dual-SIM and ringtone fields live in the same tables.

Frequently asked questions

how do i back up android contacts

Export to VCF from the Contacts app: open Settings or Manage contacts and export to storage. The file imports anywhere including iPhones. Google accounts sync continuously in the background, which covers most people without any file handling. The database file itself is a root-only implementation detail.

why did half my contacts vanish on a new phone

The local phone account stores only in contacts2.db with no cloud copy, while Google accounts mirror to the cloud. Migrating phones via cable or cloud setup moves Google contacts automatically; phone-account contacts need the VCF export. Check which account each contact belongs to before switching devices.

should i merge duplicate contacts manually

Yes, and prefer it. Per-contact default SIM, ringtone and organization fields live in the same database the merge would corrupt by hand. The Contacts app's merge and clean-up tools handle duplicates safely. Root-editing contacts2.db risks breaking sync adapters that expect consistent IDs.

Notice an outdated path? Let us know.