Backup & Restore ๐พ
February 11, 2026 ยท View on GitHub
๐ Languages: Deutsch ยท English
Secure your notes locally - independent from the server
๐ Overview
The backup system works completely offline and independent from the WebDAV server. Perfect for:
- ๐ฅ Regular backups
- ๐ค Migration to new server
- ๐ Recovery after data loss
- ๐พ Archiving old notes
๐ฅ Create Backup
Step-by-Step
- Open settings (โ๏ธ icon top right)
- Find "Backup & Restore" section
- Tap "๐ฅ Create backup"
- Choose location:
- ๐ Downloads
- ๐ณ SD card
- โ๏ธ Cloud folder (Nextcloud, Google Drive, etc.)
- ๐ง Email as attachment
- Done! Backup file is saved
File Format
Filename: simplenotes_backup_YYYY-MM-DD_HHmmss.json
Example: simplenotes_backup_2026-01-05_143022.json
Content:
{
"version": "1.2.1",
"exported_at": "2026-01-05T14:30:22Z",
"notes_count": 42,
"notes": [
{
"id": "abc-123-def",
"title": "Shopping List",
"content": "Milk\nBread\nCheese",
"createdAt": 1704467422000,
"updatedAt": 1704467422000
}
]
}
Format details:
- โ Human-readable (formatted JSON)
- โ All data included (title, content, IDs, timestamps)
- โ Version info for compatibility
- โ Note count for validation
๐ค Restore Backup
3 Restore Modes
1. Merge โญ Recommended
What happens:
- โ New notes from backup are added
- โ Existing notes remain unchanged
- โ No data loss
When to use:
- Import backup from another device
- Recover old notes
- Restore accidentally deleted notes
Example:
App: [Note A, Note B, Note C]
Backup: [Note A, Note D, Note E]
Result: [Note A, Note B, Note C, Note D, Note E]
2. Replace
What happens:
- โ ALL existing notes are deleted
- โ Backup notes are imported
- โ ๏ธ Irreversible (except through auto-backup)
When to use:
- Server migration (complete restart)
- Return to old backup state
- App reinstallation
Example:
App: [Note A, Note B, Note C]
Backup: [Note X, Note Y]
Result: [Note X, Note Y]
โ ๏ธ Warning: Automatic safety backup is created!
3. Overwrite Duplicates
What happens:
- โ New notes from backup are added
- ๐ On ID conflicts, backup wins
- โ Other notes remain unchanged
When to use:
- Backup is newer than app data
- Import desktop changes
- Conflict resolution
Example:
App: [Note A (v1), Note B, Note C]
Backup: [Note A (v2), Note D]
Result: [Note A (v2), Note B, Note C, Note D]
Restore Process
- Settings โ "๐ค Restore from file"
- Select backup file (
.json) - Choose mode:
- ๐ต Merge (Default)
- ๐ก Overwrite duplicates
- ๐ด Replace (Caution!)
- Confirm - Automatic safety backup is created
- Wait - Import runs
- Done! - Success message with number of imported notes
๐ก๏ธ Automatic Safety Backup
Before every restore:
- โ Automatic backup is created
- ๐ Saved in:
Android/data/dev.dettmer.simplenotes/files/ - ๐ท๏ธ Filename:
auto_backup_before_restore_YYYY-MM-DD_HHmmss.json - โฑ๏ธ Timestamp: Right before restore
Why?
- Protection against accidental "Replace"
- Ability to undo
- Double security
Access via file manager:
/Android/data/dev.dettmer.simplenotes/files/auto_backup_before_restore_*.json
๐ก Best Practices
Backup Strategy
Regular Backups
Daily: โ Too often (server sync is enough)
Weekly: โ
Recommended for important notes
Monthly: โ
Archiving
Before updates: โ
Safety
3-2-1 Rule
- 3 copies - Original + 2 backups
- 2 media - e.g., SD card + cloud
- 1 offsite - e.g., cloud storage
Backup Locations
Local (fast):
- ๐ฑ Internal storage / Downloads
- ๐ณ SD card
- ๐ฅ๏ธ PC (via USB)
Cloud (secure):
- โ๏ธ Nextcloud (self-hosted)
- ๐ง Email to yourself
- ๐๏ธ Syncthing (sync between devices)
โ ๏ธ Avoid:
- โ Google Drive / Dropbox (privacy)
- โ Only one copy
- โ Only on server (if server fails)
๐ง Advanced Usage
Edit Backup File
The .json file can be edited with any text editor:
- Open with: VS Code, Notepad++, nano
- Add/remove notes
- Change title/content
- Adjust IDs (for migration)
- Save and import to app
โ ๏ธ Important:
- Keep valid JSON format
- IDs must be unique (UUIDs)
- Timestamps in milliseconds (Unix Epoch)
Bulk Import
Merge multiple backups:
- Import backup 1 (Mode: Merge)
- Import backup 2 (Mode: Merge)
- Import backup 3 (Mode: Merge)
- Result: All notes combined
Server Migration
Step-by-step:
- Create backup on old server
- Set up new server (see QUICKSTART.en.md)
- Change server URL in app settings
- Restore backup (Mode: Replace)
- Test sync - All notes on new server
โ Troubleshooting
"Invalid backup file"
Causes:
- Corrupt JSON file
- Wrong file extension (must be
.json) - Incompatible app version
Solution:
- Check JSON file with validator (e.g., jsonlint.com)
- Verify file extension
- Create backup with current app version
"No permission to save"
Causes:
- Storage permission missing
- Write-protected folder
Solution:
- Android: Settings โ Apps โ Simple Notes โ Permissions
- Activate "Storage"
- Choose different location
"Import failed"
Causes:
- Not enough storage space
- Corrupt backup file
- App crash during import
Solution:
- Free up storage space
- Create new backup file
- Restart app and try again
๐ Security & Privacy
Data Protection
- โ Locally stored - No cloud upload without your action
- โ Optional encryption (v1.7.0+) - Password-protect backup files
- โ Human-readable - Plain JSON format when unencrypted
- โ ๏ธ Sensitive data? - Enable encryption or use external tools (e.g., 7-Zip)
Recommendations
- ๐ Store backup files in encrypted container
- ๐๏ธ Regularly delete old backups
- ๐ง Don't send via unencrypted email
- โ๏ธ Use self-hosted cloud (Nextcloud)
๐ Technical Details
Format Specification
JSON structure:
{
"version": "string", // App version at export
"exported_at": "ISO8601", // Export timestamp
"notes_count": number, // Number of notes
"notes": [
{
"id": "UUID", // Unique ID
"title": "string", // Note title
"content": "string", // Note content
"createdAt": number, // Unix timestamp (ms)
"updatedAt": number // Unix timestamp (ms)
}
]
}
Compatibility
- โ v1.2.0+ - Fully compatible
- โ ๏ธ v1.1.x - Basic functions (without auto-backup)
- โ v1.0.x - Not supported
๐ See also:
- QUICKSTART.md - App installation and setup
- FEATURES.md - Complete feature list
- DESKTOP.md - Desktop integration with Markdown
Last update: v1.8.1 (2026-02-11)