Backup & Import
Export, import, and sync with your calendar
Cakeday supports three data flows: full backup, portable export, and share-package import. Each format is designed for a different job.
Full Backup (.cakeday)
.cakeday is the official full-backup format and the best choice for device migration or long-term archiving. It preserves:
- Friend records
- Custom groups
- High-resolution avatars
- Per-friend notification offsets, Birthday Alarm choices, alarm sounds, friend-timezone reminders, and calendar-sync settings
- App-level reminder defaults, Birthday Alarm timing, default alarm sound, theme, display preferences, detail-page extras, and date format settings
This is the closest option to a full restore.
General Export (JSON / CSV)
General Export (JSON) and General Export (CSV) are designed for portability and manual processing. They keep core fields such as:
- Name
- Group name
- Solar or lunar calendar type
- Birth year, month, and day
- Zodiac sign
- Notes
These formats do not include avatars, custom group styling, per-friend reminder and Birthday Alarm configuration, or app-level preferences.
Share Package Import (.cakeshare)
.cakeshare is optimized for person-to-person sharing. A share package can include friends, avatars, and group information, and it supports encryption with an optional additional password.
When you import a .cakeshare file, Cakeday opens a per-person selection flow. You can choose exactly which people to add and review duplicate warnings before import. For protocol details, see the CakeShare guide.
Import Modes
When importing .cakeday, JSON, or CSV, Cakeday offers two import modes:
- Overwrite Import: Replaces the current local database with the imported data.
- Incremental Import: Adds new data while keeping the current local records in place.
Overwrite import is appropriate for migration and recovery. Incremental import is better for merging in new people.
iCloud and Overwrite Import
If iCloud Sync is currently enabled, overwrite import completes the local restore first and then pauses iCloud Sync. This gives you time to review the imported state before you decide when to re-enable sync and merge behavior.
Duplicate Detection and Post-Import Handling
Cakeday uses these fields for exact import merge matching:
- Name
- Birth year
- Calendar type (solar or lunar)
- Month and day
- Leap-month flag
If only the birth year differs, Cakeday treats the incoming row as a separate entry and can flag it as a possible duplicate for review.
During longer imports, the app shows visible progress. After import, Cakeday refreshes search indexes, widgets, and related extension data so the new state can appear across entry points.
System Calendar Sync
Cakeday can write birthdays into the system Calendar through EventKit. When Sync to System Calendar is enabled for a person, Cakeday creates an individual all-day Calendar event for each upcoming year, rather than a single recurring event, and keeps those events updated when the person changes or is deleted. Using a separate event per year keeps lunar birthdays accurate, since they do not land on the same solar date every year.