Bookmark Exporter
A universal tool for parsing, filtering, and exporting Chrome bookmarks into JSON, CSV, and Markdown formats. Supports archiving and configuration via YAML or JSON.
Parses Chrome bookmarks (bookmarks.json)
Filters by domain, folder, and keyword
Exports to:
JSON
CSV
Markdown
Archives exported files into a ZIP archive
Configurable via config.yaml or config.json
Logs activity and export process
project-root/ │ ├── main.py # Entry point for configuration-driven export │ ├── parser/ │ └── chrome.py # Parses Chrome bookmark structure │ ├── exporter/ │ ├── json_export.py # Exports bookmarks to JSON │ ├── csv_export.py # Exports bookmarks to CSV │ └── md_export.py # Exports bookmarks to Markdown │ ├── archive/ │ └── zipper.py # Archives exported files into ZIP │ ├── utils/ │ ├── filter.py # Applies domain/folder/keyword filters │ ├── config_loader.py # Loads YAML or JSON configuration │ └── logger.py # Sets up logging │ ├── config/ │ └── config.yaml # Configuration file (excluded from repo) │ ├── output/ # Directory for exported files │ └── [bookmarks.json|csv|md] │ └── logs/ └── activity.log # Runtime logs
⚠️ Set up yourconfig.yamlbased onconfig/config.example.yaml,
or useconfig/config.jsoncif you prefer JSON.
If using JSONC, remove all comments manually and save the file asconfig.json.
The actual configuration file is not stored in the repository — it is user-specific.
Examples: config.example.yaml, config.jsonc
git clone https://github.com/yourusername/bookmark-exporter.git
cd bookmark-exporter
pip install -r requirements.txt
python main.py- Python ≥ 3.8
PyYAML(if using YAML configuration)pandas(for CSV export)
pip install pyyaml pandasMIT — free to use, modify, and distribute.