Why Replace Google Contacts?
Google Contacts stores your entire social graph — names, phone numbers, email addresses, physical addresses, birthdays, employer information, and relationship metadata. Google uses this data for advertising targeting and cross-product personalization. Your contacts' information is being processed without their knowledge or consent.
More practically:
- Account dependency. If Google suspends your account, you lose access to your contacts. Google's automated enforcement systems have locked users out of their accounts for unclear policy violations.
- Cross-service data mining. Google correlates your contacts with Gmail, Calendar, Maps, and Search usage to build comprehensive profiles of your social network.
- Limited export options. While Google supports VCF export, the process is manual and does not include contact photos reliably.
- No offline-first sync. Google Contacts requires internet access to manage contacts. CardDAV syncs contacts to your device for offline access.
What you give up: Google's contact auto-completion in Gmail, automatic contact creation from email threads, and Google's contact merge/deduplication features.
Best Alternatives
Radicale — Simplest Option
Radicale handles both CalDAV (calendars) and CardDAV (contacts) in a single service running on ~20 MB of RAM. Your contacts are stored as VCF files on disk — human-readable, easily backed up, and version-controllable with git.
There is no web UI for managing contacts. You use your device's native contacts app (iOS Contacts, Android Contacts via DAVx5, Thunderbird, GNOME Contacts) to add, edit, and delete entries. Radicale just syncs them across devices.
Best for: Single users who want the simplest possible contact sync with minimal overhead.
[Read our full guide: How to Self-Host Radicale]
Baikal — Best Balance of Simplicity and Features
Baikal provides CalDAV and CardDAV with a web admin panel. You manage users and address books through a browser interface. The setup is a web wizard — no config files to edit.
Like Radicale, actual contact management happens through native apps on your devices. Baikal's web panel handles the server-side administration (creating users, address books, and checking sync status).
Best for: Households and small teams where you need to manage multiple users through a web interface.
[Read our full guide: How to Self-Host Baikal]
Nextcloud — Best for a Complete Google Replacement
Nextcloud's Contacts app provides a web-based contact manager alongside CardDAV sync. You can view, edit, create, and organize contacts directly in the browser — the closest experience to Google Contacts' web interface.
If you are replacing multiple Google services (Drive, Calendar, Contacts, Photos), Nextcloud handles all of them in one deployment. The trade-off is significantly higher resource usage compared to Radicale or Baikal.
Best for: Users replacing Google Workspace entirely, not just Contacts.
[Read our full guide: How to Self-Host Nextcloud]
Quick Comparison
| Feature | Google Contacts | Radicale | Baikal | Nextcloud |
|---|---|---|---|---|
| Web UI for contacts | Yes | No | Admin only | Yes |
| CardDAV sync | Yes | Yes | Yes | Yes |
| Contact groups | Yes | Yes (categories) | Yes | Yes |
| Contact photos | Yes | Yes (in VCF) | Yes (in VCF) | Yes |
| Merge duplicates | Yes (automatic) | No | No | Yes (manual) |
| Auto-create from email | Yes | No | No | No |
| Shared address books | Via Google Workspace | Via ACL | Via admin | Yes |
| Search | Full-text | Client-side | Client-side | Full-text |
| Offline access | Limited | Full | Full | Full |
| RAM usage | N/A | ~20 MB | ~40 MB | 512 MB+ |
| Privacy | Google processes data | Full control | Full control | Full control |
Migration Guide
Exporting from Google Contacts
- Go to Google Contacts
- Click Export (left sidebar or three-dot menu)
- Select All contacts (or a specific group)
- Choose vCard (for iOS Contacts) format — this produces a standard
.vcffile - Download the file
The Google Contacts CSV format is proprietary. Always export as vCard (VCF) for compatibility with any CardDAV server.
Importing into Your Self-Hosted Server
Radicale: Copy the .vcf file into the Radicale data directory at data/collections/collection-root/[username]/contacts/. Each contact can be a separate .vcf file, or you can import one large file through a CardDAV client like Thunderbird.
Baikal: Use a CardDAV client (Thunderbird or DAVx5) to import. Add your Baikal account, then import the VCF file into the address book.
Nextcloud: Go to Contacts → Import contacts in the web interface. Upload the VCF file directly.
What Transfers
| Data | Transfers | Notes |
|---|---|---|
| Names | Yes | First, last, middle, prefix, suffix |
| Phone numbers | Yes | With type labels (home, work, mobile) |
| Email addresses | Yes | With type labels |
| Physical addresses | Yes | Formatted addresses |
| Birthdays | Yes | Standard vCard field |
| Notes | Yes | Standard vCard field |
| Contact photos | Partial | May need re-download from Google |
| Custom fields | Partial | Non-standard Google fields may not transfer |
| Groups/labels | Partial | Imported as categories in VCF |
| Linked profiles | No | Google-specific feature |
Cost Comparison
| Google Contacts | Self-Hosted | |
|---|---|---|
| Personal use | $0 (data monetization) | $0 |
| Google Workspace (10 users) | $720/year | $0-60/year (VPS share) |
| Privacy | Google processes your data | Full control |
| Data portability | Manual VCF export | Standard VCF/CardDAV |
| Offline access | Limited | Full (synced to device) |
What You Give Up
- Auto-created contacts from Gmail — Google automatically adds people you email to your contacts. Self-hosted CardDAV does not do this.
- Automatic duplicate merging — Google detects and merges duplicate contacts. Nextcloud has manual merge; Radicale and Baikal do not.
- Google Search integration — Searching for a contact's name in Google Search shows their information inline. Not available with self-hosted contacts.
- Cross-service integration — Google Contacts integrates with Gmail, Calendar, Maps, and Hangouts/Meet. Self-hosted contacts integrate with CalDAV calendars but not with proprietary services.
- Contact enrichment — Google enhances contacts with profile photos, employer info, and social links from Google profiles. Self-hosted contacts store only what you add.
For most people, the trade-offs are minor. You export your contacts once, import them into your CardDAV server, set up DAVx5 on Android or native CardDAV on iOS, and daily usage feels identical.
FAQ
Will my contacts sync automatically to my iPhone after switching?
Yes. iOS natively supports CardDAV — add your server in Settings → Contacts → Accounts → Other → Add CardDAV Account. Enter your server URL, username, and password. Contacts sync automatically in the background, just like Google Contacts. New contacts created on your phone appear on the server and vice versa. The daily experience is identical to using Google Contacts.
Can I sync contacts to Android without Google Contacts?
Yes. Install DAVx5 (free on F-Droid, paid on Play Store). Add your CardDAV server URL and credentials. DAVx5 syncs your address book to Android's native contacts app. All apps that read contacts (phone dialer, messaging) see your CardDAV contacts. DAVx5 runs silently in the background and syncs on a configurable schedule.
Do contact photos transfer when migrating from Google Contacts?
Partially. Google's vCard export includes contact photos when they were manually added, but photos sourced from Google+ profiles or Gmail auto-discovery may not export. After importing, check your contacts and re-add missing photos. For large address books, this is the most tedious part of migration — but it's a one-time effort.
Can I share an address book with my partner or team?
Yes. Radicale supports shared address books through ACL (access control list) configuration. Baikal and Nextcloud have admin panels for sharing address books between users. Create a shared address book, grant access to specific users, and all changes sync to everyone. This is useful for family contacts, team directories, or shared customer lists.
How do I handle duplicate contacts after importing?
Nextcloud has a built-in duplicate detection tool in its Contacts app — it identifies potential duplicates by name and email and lets you merge them. Radicale and Baikal don't have duplicate detection; use a vCard editing tool (like the vdirsyncer utility or a desktop contact manager) to clean duplicates before importing. For large imports, run deduplication once and it's done.
Is there an equivalent to Google's auto-suggest for new contacts?
No. Self-hosted CardDAV servers store contacts you explicitly create — they don't auto-create contacts from email correspondence. If you want this behavior, configure your email client (Thunderbird, for example) to auto-add contacts from email senders. Alternatively, accept the trade-off: fewer contacts, but every contact is intentional and accurate.
Can I use both Google Contacts and self-hosted contacts simultaneously?
Yes. Most devices support multiple contact accounts. Keep your Google Contacts account active while adding your CardDAV server as an additional contact source. Contacts from both sources appear together in your phone's contact list. Use this approach during migration — run both for 30 days, verify everything syncs correctly, then remove the Google account.
Top comments (0)