Can anyone recommend a reliable Android (KitKat-compatible) contacts backup/restore tool that is able to successfully backup and restore the following offline contact:

First Name: Nikola
Last Name: Tesla
Group: Scientists
Company: Nikola's Laboratories
Title: Owner
Phone: (Laboratory) 111-111-1111
Phone: (Basement Office) *99 111-111-1111 x1111
Location: (Laboratory) 123 Electric Slide Row #1, Energy Village, BL 12345
Location: (Basement Office) 456 Light Lane, Volt Village, PA 12345-1234
Website: nikolatesla-ftw.org
Website: tesla-candy-store.com
Birthday: July 10, 1856
    Electric conversation while drinking tea together  
    Dog's Name:
    Favorite Color:

I have tried over a dozen backup/restore apps, import/export apps, web-apps, and other tools, and they all fail a "roundtrip" backup-restore process in one way or another.

Here are the common snags:

  1. Unable to backup/restore the Group
  2. Unable to handle custom multi-word types such as 'Basement Office' for phone numbers and locations
  3. Unable to properly handle multi-line notes, notes that have lines that begin with spaces, or notes with blank lines
  4. Unable to backup/restore all fields
  5. Unable to handle multiple websites
  6. Unable to handle all legal characters in phone numbers: 0-9 + * , ; ( )
  7. Unable to handle basic special characters in all fields, including: # & $ : ' , + - _
  8. Unable to maintain order of multiple phone numbers or addresses
  9. Unable to backup birthdate

The default Android contact export/import process supplied by Google (via their Contacts app) fails on multiple issues, including #1 and #2.

The following features would be nice, but are not required (in order of importance):

  1. Backup/export to a human readable/editable format such as CSV, XML, or HTML
  2. Gratis (free-of-charge)
  3. Open-source

Note that all the contacts that need to be backed up are offline contacts, not Google contacts. When they are restored, they should remain that way.

  • Is the device rooted?
    – Firelord
    Commented Aug 3, 2015 at 18:42
  • 1
    @Firelord Recommendations that require root as well as recommendations that do not require root are both welcome. Commented Aug 3, 2015 at 19:29
  • 1
    You mention having tried a bunch of apps, and the "contact backup/restore process supplied by Google". Have you tried the most simple variant as well: Open the contacts app, hit menu, select "Import/Export", and then "Export to SD card" / "Import from SD card"? This process uses the standard VCard format, so you can check with all kinds of applications (including plain-text viewers) what has been backed up.
    – Izzy
    Commented Aug 4, 2015 at 18:08
  • /data/data/com.android.providers.contacts/databases/contacts2.db holds all the contacts and their details. Simply back it up, and when the time comes, restore that file, reboot, and all good. Backup profile.db because it also contains some related info, loose-ends. Everything related to Contacts is under those two files.
    – Firelord
    Commented Aug 4, 2015 at 19:44
  • 1
    @Izzy Thanks for the details and request. I've updated the question per your recommendation. Commented Aug 4, 2015 at 23:53

1 Answer 1


I don't understand the term "offline" contact. If you don't want to cook something up yourself and if you are able to do communication over the network, you can give synchronization via CardDAV a try.

I have good experiences with DAVDroid. It's a Free Software application that syncs contacts as well as calendars and tasks. It's very easy to set up and use.

enter image description here

For the server side, you can use, e.g. Baïkal or radicale. You can self-host these on your local network if you don't want to set up anything on the Internet. Both servers allow you to extract your contacts as vCards.

Restoring is then, at least in theory, as easy as importing the vCard to your phone.

  • 2
    By offline, I mean not synced to any server. Commented Sep 18, 2015 at 6:36
  • I took a look at radicale, and it is python & designed for linux & Windows. On what platform(s) does Baikal run? Are there any DAVDroid-compatible servers that will run on an Android device? Commented Sep 18, 2015 at 6:38
  • Any thoughts on the above questions? Commented Dec 8, 2015 at 8:17
  • Baikal runs on PHP. I'm not aware of any implementation of a DAV server running on Android, but when I'm searching for "dav server android" I get a few results. Commented Dec 8, 2015 at 9:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.