A simple and safe tool to migrate your Firefox profile data to LibreWolf on macOS, preserving all your bookmarks, passwords, extensions, and settings.
- 🔒 Safe Migration: Your Firefox data remains untouched
- 📦 Complete Transfer: Migrates bookmarks, passwords, cookies, extensions, history, and more
- 🔄 Automatic Backup: Creates backups of existing LibreWolf profiles before migration
- 🎯 Profile Selection: Choose which Firefox profile to migrate if you have multiple
- ✅ Verification Tool: Verify your migration was successful
- 📝 Detailed Reports: Get a complete migration report with all transferred items
- ✅ Bookmarks and browsing history
- ✅ Saved passwords and logins
- ✅ Cookies and active sessions
- ✅ Installed extensions and their settings
- ✅ Form autofill data
- ✅ Download history
- ✅ Custom search engines
- ✅ Site permissions and preferences
- ✅ Security certificates
- ✅ User preferences and customizations
- macOS (tested on macOS 11+)
- Firefox installed with at least one profile
- LibreWolf installed (see installation instructions below)
- Bash shell (included with macOS)
If you haven't installed LibreWolf yet:
# Using Homebrew
brew install --cask librewolf
# Or download from
# https://librewolf.net/# Clone this repository
git clone https://github.com/jamubc/firefox-to-librewolf-migration.git
cd firefox-to-librewolf-migration
# Or download the scripts directly
curl -O https://raw.githubusercontent.com/jamubc/firefox-to-librewolf-migration/main/migrate.sh
curl -O https://raw.githubusercontent.com/jamubc/firefox-to-librewolf-migration/main/verify.sh
# Make them executable
chmod +x migrate.sh verify.shBefore running the migration, make sure both browsers are completely closed:
# Check if they're running
ps aux | grep -E "(Firefox|LibreWolf)" | grep -v grep
# If they are, close them through the UI or:
killall Firefox
killall LibreWolf./migrate.shThe script will:
- Detect your Firefox profiles
- Let you choose which profile to migrate (if you have multiple)
- Create a backup of your current LibreWolf profiles
- Copy all data from Firefox to a new LibreWolf profile
- Update LibreWolf's configuration to recognize the new profile
./verify.shThis will check that all important files were copied successfully.
After migration:
- Open LibreWolf
- If prompted, select the "Firefox Migrated" profile
- Verify your bookmarks, passwords, and extensions are present
- Sign into Firefox Sync if you use it (note: LibreWolf may have Sync disabled by default)
After migration, you'll find:
~/Desktop/Firefox-to-LibreWolf-Migration-[timestamp]/
├── LibreWolf-Profiles-Backup/ # Backup of your original LibreWolf profiles
├── librewolf-profiles.ini.backup # Backup of LibreWolf's profile configuration
└── migration-report.txt # Detailed report of what was migrated
~/Library/Application Support/librewolf/Profiles/
└── firefox-migrated-[timestamp]/ # Your migrated Firefox profile
Make sure to completely quit both browsers before running the migration.
Some Firefox-specific extensions may need to be reinstalled from the LibreWolf add-ons store.
Ensure you migrate the profile that actually contains your saved passwords. You can check in Firefox under Settings → Privacy & Security → Saved Logins.
Try launching LibreWolf with the profile manager:
librewolf -ProfileManagerYour Firefox data is never modified, so you can always go back to using Firefox.
To restore LibreWolf to its pre-migration state:
- Close LibreWolf
- Copy back the backup from
~/Desktop/Firefox-to-LibreWolf-Migration-*/LibreWolf-Profiles-Backup/ - Restore the original
profiles.inifrom the backup
LibreWolf has enhanced privacy settings compared to Firefox:
- Resist fingerprinting is enabled by default
- Some features like Pocket and Sync may be disabled
- Telemetry is completely disabled
- DRM content may be disabled by default
These can be adjusted in LibreWolf's settings if needed.
Feel free to submit issues or pull requests if you encounter any problems or have suggestions for improvements.
MIT License - feel free to use and modify as needed.
This tool is provided as-is. Always ensure you have backups of your important data before running migration scripts. The authors are not responsible for any data loss.