A lightweight Chrome extension that silently organizes every downloaded file into type‐based folders the moment it arrives.
No more losing files in a chaotic Downloads folder.
Sage intercepts every browser download and reroutes it to a subfolder matching its file type: Images, Documents, Videos, Music, Archives, and more.
It’s like a wise little librarian that lives inside your browser.
- Automatic – works instantly after installation, no configuration needed.
- Toggle on/off – one click to pause sorting when you need a file to stay in the root.
- Clean, dark UI – a calm, botanical design that doesn’t distract.
- Bonus Python script – clean up years of old downloads with the same folder rules.
| Feature | Description |
|---|---|
| Smart Sorting | Moves downloads into folders (Images, Documents, Videos, Music, etc.) |
| Instant Action | Files are organized the moment the download finishes |
| Toggle On/Off | Popup switch to temporarily bypass sorting |
| Modern Dark Theme | Designed with a custom botanical colour palette |
| Privacy‐First | Zero data collection; everything runs locally |
| Consistent Rules | Same folder mapping as the companion Python script |
| One‐Click Bulk Cleanup | Run the included Python script to sort all existing downloads |
| Manifest V3 | Up‐to‐date, fast, and fully compliant with Chrome Web Store policies |
| Step | What Happens |
|---|---|
| Download initiated | Browser starts a new download |
| Extension intercepts | The downloads.onDeterminingFilename listener fires before the file is written |
| Subfolder chosen | The file extension is checked against a built‐in mapping (e.g., .pdf → Documents) |
| File placed | The download is saved directly into Downloads/Documents/filename.pdf |
| Toggle OFF? | If the extension is disabled via the popup, the file stays in the root Downloads |
| Layer | Technology |
|---|---|
| Platform | Chrome Extensions API (Manifest V3) |
| Background | Service Worker (background.js) |
| UI / Popup | HTML5, CSS3, Vanilla JavaScript |
| Storage | chrome.storage.local for toggle state |
| Permissions | downloads, storage |
| Icons | Custom 16/48/128 px PNGs |
| Companion Tool | Python 3 (standard library) |
- Download or clone this repository.
- Open Chrome and navigate to
chrome://extensions/. - Turn on Developer mode (top‐right corner).
- Click Load unpacked.
- Select the
sagefolder (the one containingmanifest.json). - The extension will appear in your toolbar. Click the 🌿 icon to toggle.
Works on any Chromium browser: Chrome, Brave, Edge, Opera.
The file organize_downloads.py sorts your existing Downloads folder using the same rules as the extension.
It’s perfect for tidying up years of accumulated chaos.
python organize_downloads.py --dry-run
python organize_downloads.py
By default, it targets your system’s Downloads folder. You can also pass a custom path: python organize_downloads.py "C:\Users\MyName\MyMessyFolder"
MIT