A simple Python tool to organize files by extension, moving them into categorized subfolders.
Perfect for keeping folders like Downloads clean and tidy automatically.
Hereβs how the Tkinter GUI looks:
- Fixed mapping of extensions β categories (Documents, Images, Audio, etc.)
- Dry-run (
--dry-run): simulates the process without moving any files - Safe move: prevents overwriting existing files (
-1,-2β¦) - Automatically creates destination folders
- Python 3.10+
- No external dependencies (uses only Python's standard library)
π Usage Simulation mode (dry-run) python -m organizer.cli --src ~/Downloads --dst ~/Downloads/Organized --dry-run
Real execution python -m organizer.cli --src ~/Downloads --dst ~/Downloads/Organized
Options
| Flag | Description | Default |
|---|---|---|
--src |
Source folder | ~/Downloads |
--dst |
Destination folder | ~/Downloads/Organized |
--dry-run |
Simulate the process without moving any files | False |
π Categories and Extensions
| Category | Extensions |
|---|---|
| Documents | .pdf, .docx, .xlsx, .pptx, .txt, .md |
| Images | .jpg, .jpeg, .png, .gif, .bmp, .webp, .svg |
| Audio | .mp3, .wav, .flac, .m4a |
| Videos | .mp4, .mov, .mkv, .avi |
| Archives | .zip, .rar, .7z, .tar, .gz |
| Installers | .exe, .msi, .dmg, .pkg |
| Code | .py, .js, .ts, .html, .css, .json, .yaml, .yml, .xml |
| Others | Any extension not mapped above |
π License Distributed under the MIT License. See LICENSE for more information.
Developed by Marcos Vinicius Thibes Kemer
