The question about the physical location of the subscriber base often arises not out of idle curiosity, but in moments of urgent need: accidental deletion, synchronization failure, or the desire to manually copy important numbers before resetting the settings. Understanding the internal structure of the Android file system gives the user real power over their data, allowing them to bypass the limitations of standard interfaces. However, finding these files is not always easy, since Google developers are constantly changing security policies and access to system directories.
Traditionally, users think that contacts are just a list in the Phone or Contacts application, but in fact it is complex relational databasehidden deep in the depths of the operating system. Depending on the version of Android, the presence of root access and the type of storage (internal memory or SIM card), the path to this data may differ radically. In this article, we will analyze in detail all the possible locations where your records can be hidden, from standard databases to cloud caches.
It is worth warning right away: direct intervention in system files without proper preparation can lead to the loss of the entire phone book. Modern shells from Samsung, Xiaomi or OnePlus use their own mechanisms for encrypting and linking data to an account, which complicates simple “copy-paste” of files. However, knowledge of the exact paths is necessary for professional information recovery or data transfer between devices using non-standard methods.
System contact database
The main storage of all numbers, names and associated metadata is located in a secure section of the device's internal memory. This is where the main database is located, which is accessed by all system applications. Access to this directory is by default closed to ordinary users and file managers without superuser rights.
The standard path to the database file is as follows: /data/data/com.android.providers.contacts/databases/. Inside this directory there is usually a file with the name contacts2.db or variations like contacts.db. It is this file that contains tables with information about numbers, names, email addresses and group assignments. If you try to copy it to a computer without root access, the system will display a permission error.
The size of this file can vary from a few kilobytes to tens of megabytes, depending on the number of saved recordings and whether they contain photos or audio recordings of calls. It is important to understand that simply copying this file to another device may not work if the firmware versions or database hashes do not match. Correct transfer often requires the use of specialized utilities like Titanium Backup or Swift Backup.
⚠️ Attention: Direct editing of the file
contacts2.dbthrough third-party SQL editors without creating a backup copy can irreversibly damage the database, making the phone book unreadable by the system.
In some custom firmware or on devices with heavily modified Android, the path may differ slightly. For example, on older versions of Android before 4.0, the directory structure was different, and files could be located in /data/data/com.android.providers.contacts/databases/contacts.db. Always check for files with extension .db or .db-journal in the specified directory.
Why might the contacts2.db file be empty?
Sometimes the database file exists, but is zero in size or cannot be opened. This could mean that the contacts are stored solely on the SIM card or are synced only to the Google cloud account, without creating a local copy in that particular file. This also happens when the file system fails.
Storing contacts on a SIM card
Despite the development of cloud technologies, many users still store numbers on a SIM card. This is an old but reliable method that allows you to transfer contacts simply by moving the chip to another phone. However, in the Android file system, contacts from a SIM card are not stored as a separate text file or database in the usual sense.
Data from the SIM card is read through a special radio interface and cached by the system. They are physically recorded in the non-volatile memory of the SIM chip itself. In the structure of the file system of a smartphone, information about which numbers are on the SIM card is often reflected in the same file contacts2.db, but with a special storage type label. A separate file sim_contacts.vcf usually does not exist in the phone's memory until export.
To access this data as a file, you must perform the export procedure through a standard application. This creates a temporary file that can be found in shared memory. The path to the exported file usually looks like this: /storage/emulated/0/Contacts/ or the root of the internal memory. The file format will .vcf (vCard).
- 📱 Contacts on SIM are limited in name length (often up to 10-15 characters) and number of fields.
- 💾 SIM card capacity varies from 50 to 500 numbers depending on the operator and chip type.
- 🔄 When If you replace a SIM card without first copying it, all data on it will be lost for the current device.
If you are using a dual-SIM smartphone, the system can aggregate contacts from both cards into a single database for display, but they remain physically separated on different chips. When exporting, it is important to select the “All contacts” option or specify a specific SIM card so as not to lose some of the records.
Before replacing the SIM card, always export your contacts to a .vcf file and save it not only in the phone’s memory, but also send it to yourself by email or messenger. This will save data if the new SIM card turns out to be defective.
Cloud synchronization and Google local cache
Modern Android is designed to work with the Google ecosystem. By default, all new contacts are saved to your Google account, and not to your phone memory or SIM card. This means that the physical data file may not be explicitly located on the device, but rather be part of the synchronized cache of the Google Contacts application.
The local sync cache is stored in hidden system folders that are extremely difficult to access. The path may look like /data/data/com.google.android.syncadapters.contacts/. This contains temporary files and databases that are updated whenever there is an Internet connection. Directly copying these files to transfer to another phone is useless, since they are tied to a specific instance of the application and account.
The main source of truth in this case is Google servers. To get a file with contacts, you need to go to the web interface contacts.google.com and export from there. However, if there is no internet, the phone uses the local copy. This copy may be damaged if synchronization fails, which leads to the disappearance of numbers from the list, although they are on the server.
| Storage type | File path (approximate) | Access without Root | Reliability |
|---|---|---|---|
| Phone (Local) | /data/data/.../contacts2.db |
No | Average (risk when resetting) |
| SIM card | SIM chip memory | Partially (via export) | Low (low volume) |
| Google Account | Cloud + Cache | Yes (via web) | High |
| File export | /storage/emulated/0/*.vcf |
Yes | Depends on the user |
It is important to note that when you remove your Google Account from your device, the local contacts cache is often cleared automatically. Therefore, if you plan to sell your phone or send it for repairs, make sure that all important numbers are synchronized with the cloud or exported to a file in advance.
Search for backups and VCF files
If you have previously backed up contacts manually or using third-party applications, files with the extension .vcf (vCard) can be located in a variety of places in the internal memory or microSD card. This is the most convenient format for transfer, since it is supported by almost any device and OS.
Most often, export files are created in the root of the internal memory or in a folder Downloads. You should look for files with names like 00001.vcf, contacts.vcf or backup_date.vcf. It is also worth checking the folder /Android/data/where some synchronizer applications can store their temporary copies, although access to this folder in new versions of Android (11 and higher) is limited.
When searching through the file manager, use the search function by extension. Enter *.vcfinto the search bar. The system will scan all available directories and display a list of found files. Pay attention to the modification date of the file - this will help you understand how current the information it contains.
⚠️ Attention: .vcf files found in the cache folder of instant messengers (WhatsApp, Telegram, Viber) may contain only those contacts that were sent to you as attachments, and not the full phone book of the device.
Some smartphone manufacturers, for example Xiaomi or Huawei, create their own folders for backups in hidden sections or in directories MIUI/backup and HWBackup respectively. Inside these folders there may be encrypted archives containing contacts, SMS and call logs. To restore them, you usually need to use a proprietary recovery utility built into the phone’s settings menu.
☑️ Checking for backups
Access to system folders without root access
Users often wonder: how to view the contents of a folder /data/data/ without obtaining superuser rights? The answer is clear: this cannot be done using standard file manager tools. Android isolates application data from each other for security purposes (sandbox).
However, there is a workaround through computer and USB debugging (ADB). If you have developer mode and USB debugging enabled on your phone, you can use ADB commands to back up your Contacts app data. The command adb backup -f contacts.ab -noapk com.android.providers.contacts will create a backup file on your computer.
adb backup -f mycontacts.ab -noapk com.android.providers.contacts
The resulting file .ab is not a regular database. This is a proprietary Android backup format. To extract a database from it contacts2.db, you will need to use special utilities on your PC, such as Android Backup Extractor. This method allows you to access the database without rooting the smartphone itself, but requires a computer and basic command line skills.
It is worth considering that on some modern smartphones (especially with processors Snapdragon latest generations and new versions of Android), the command adb backup may be blocked by the manufacturer or return an empty file. In such cases, the only way to access system files is to obtain root access through Magisk or unlocking the bootloader.
Using ADB is the “golden mean” between security and access: you get a full copy of the database without violating the device’s warranty by obtaining permanent root access, but the method requires connecting to a PC.
Recovering deleted contacts from files
If you accidentally deleted contacts, there is only hope for recovery if if you have a backup file or access to the database before it was overwritten. Deleting a contact in the phone interface often results in the entry being marked as “deleted” in the database, but physically the data can remain on the disk until the next evacuation operation of the database.
To restore from a file .vcf just open the file manager, find the file and click on it. The system will offer to import contacts to the selected storage (Phone, SIM or Google). If the file is in an inaccessible folder, first copy it to a visible directory, for example, to Downloads.
Restoring from a database contacts2.db —the process is more complex. You will need to replace the current database file with the saved copy. To do this you need to:
- Provide Root access.
- Copy the backup file
contacts2.dbto the path/data/data/com.android.providers.contacts/databases/. - Set the correct access rights (usually
rw-rw----or 660) and owner (u0_a...). - Reboot the device or clear the Contacts application data.
Incorrect access rights to the database file will lead to the Contacts application not being able to read it and showing an empty list or constantly crashing. This is a critical point that beginners often miss. Use a file manager with Root support (for example Root Explorer or Solid Explorer), which automatically sets the necessary rights when inserting files.
⚠️ Attention: Interfaces and file paths may vary slightly depending on the version of Android and the manufacturer's shell. Always check the exact names of application packages in the settings if the standard paths do not work.
Frequently asked questions (FAQ)
Is it possible to read the contacts2.db file on a computer without a phone?
Yes, the file is in SQLite format. You can open it on your computer using DB Browser for SQLite or similar apps. However, if the database is encrypted (which happens on new Androids), you will only see empty tables or unreadable data. Also, only picture IDs can be stored in the database, and not the photos themselves.
Where are contacts stored if I use the Truecaller application?
Truecaller uploads contacts to its servers to identify calls. Locally they are duplicated into the Android system database if you have given such permission. There is usually no separate folder only for Truecaller in the internal memory; all data is integrated into the general phone book.
Why did the contacts disappear after resetting the settings, although I did not delete the file?
Factory Reset completely clears the partition /data/where the database is stored contacts2.db. If contacts were not synchronized with a Google account or were not exported to an SD card/cloud, they are permanently deleted during this procedure.
How to transfer contacts to a new phone via a file?
On the old phone, open the Contacts application, select “Import/Export” -> “Export to file” .vcf". Transfer this file to your new phone (via Bluetooth, cable or messenger). On the new phone, open the file and select “Import to Google account” or “To device memory.”