https://github.com/olegfour3/arc2zen
Migrate Arc Browser bookmarks to Zen Browser, or export to HTML
https://github.com/olegfour3/arc2zen
arcbrowser export import migration python script zenbrowser
Last synced: about 2 months ago
JSON representation
Migrate Arc Browser bookmarks to Zen Browser, or export to HTML
- Host: GitHub
- URL: https://github.com/olegfour3/arc2zen
- Owner: olegfour3
- License: mit
- Created: 2026-02-05T13:57:35.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-02-05T14:17:43.000Z (5 months ago)
- Last Synced: 2026-02-06T00:56:28.443Z (5 months ago)
- Topics: arcbrowser, export, import, migration, python, script, zenbrowser
- Language: Python
- Homepage:
- Size: 22.5 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Arc2Zen
[](https://opensource.org/licenses/MIT)
A tool for exporting bookmarks from Arc Browser and Zen Browser to HTML format, and migrating bookmarks directly from Arc to Zen Browser.
**[RU](README_RU.md)**
## Features
- **Export Arc bookmarks** to HTML (preserves order, compatible with all browsers)
- **Export Zen bookmarks** to HTML (preserves order, compatible with all browsers)
- **Direct migration** from Arc to Zen (preserves folder structure and tab order)
- **Multi-profile support** for Arc and Zen
- **macOS only**
## Quick Start
### With uv (recommended)
```bash
git clone https://github.com/yourusername/arc2zen.git
cd arc2zen
uv run main.py
```
`uv` will automatically create a virtual environment and install dependencies.
### With pip
```bash
git clone https://github.com/yourusername/arc2zen.git
cd arc2zen
pip install lz4
python main.py
```
## Requirements
- Python 3.10+
- `lz4` package (for Zen Browser operations)
When using `uv`, dependencies are installed automatically.
## Usage
Run the script and select an option from the menu:
```
============================================================
Arc Bookmarks Tool
============================================================
Choose an option:
1. Export Arc bookmarks to HTML file
2. Export Zen bookmarks to HTML file
3. Migrate Arc bookmarks to Zen Browser
0. Exit
```
### Option 1: Export Arc Bookmarks
Exports all pinned bookmarks from Arc Browser to a standard HTML file.
- Auto-generated filename with date or custom name
### Option 2: Export Zen Bookmarks
Exports all pinned tabs from Zen Browser to HTML format.
- Preserves workspace structure as folders
- Preserves folder hierarchy
### Option 3: Migrate Arc to Zen
Directly imports Arc bookmarks into Zen Browser.
**Important:**
- Zen Browser must be **closed** before migration
- The script automatically checks if Zen is running
- Creates backups before making changes
- Requires matching workspaces in Zen (will prompt to create missing ones)
## File Locations
### Arc Browser Data
`~/Library/Application Support/Arc/StorableSidebar.json`
### Zen Browser Data
`~/Library/Application Support/zen/Profiles/`
## Migrating Passwords (Manual)
This tool does not migrate passwords (different security systems). Follow these steps manually:
### Export from macOS (Arc uses iCloud Keychain)
1. Open **Passwords** app (macOS Sequoia+) or **Keychain Access**
2. **Passwords app:** File → Export All Passwords → Save as CSV
3. **Keychain Access:** File → Export Items
### Import to Zen
1. Open Zen Browser
2. Go to `about:logins`
3. Click **⋯** (menu) → **Import from a File...**
4. Select the CSV file
> **Security:** Delete the CSV file after import — it contains plain text passwords.
## Importing HTML to Browsers
### Chrome / Chromium
1. Go to `chrome://bookmarks/`
2. Click ⋮ → "Import bookmarks"
3. Select the HTML file
### Firefox
1. Press `Ctrl+Shift+B` (Bookmarks Manager)
2. "Import and Backup" → "Import Bookmarks from HTML"
### Safari
1. File → "Import From" → "Bookmarks HTML File"
### Edge
1. Click ⋯ → "Favorites" → "Manage favorites"
2. Click ⋯ → "Import favorites" → "Bookmarks HTML file"
## Project Structure
```
arc2zen/
├── main.py # Main entry point
├── pyproject.toml # Project config and dependencies
├── core/
│ ├── __init__.py
│ ├── models.py # Data classes
│ ├── arc_exporter.py # Arc Browser operations
│ ├── zen_exporter.py # Zen export to HTML
│ └── zen_importer.py # Arc to Zen migration
├── README.md
├── README_RU.md
└── LICENSE
```
## Troubleshooting
### "File not found" for Arc
- Ensure Arc Browser is installed and has been run at least once
### "Zen Browser profile not found"
- Ensure Zen Browser is installed and has been run at least once
### "lz4 module required"
```bash
uv run main.py # installs automatically
# or
pip install lz4
```
### Missing bookmarks after migration
- Only **pinned** tabs are migrated
- Unpinned tabs are not included
## Contributing
Contributions are welcome! Please feel free to submit issues or pull requests.
## Support
If you find this project helpful, please give it a ⭐ star!
## License
This project is licensed under the [MIT License](LICENSE).