A smart and lightweight Python utility that automatically organizes files into categorized folders.
Data Organizer scans one or multiple directories, detects file types, creates destination folders when needed, and moves files into their appropriate locations — helping keep your system clean and organized with minimal effort.
Tired of a cluttered Downloads or Desktop folder?
Data Organizer automatically:
- Detects file types based on extensions
- Creates category folders automatically
- Sorts files into the correct location
- Handles duplicates safely
- Supports multiple directories in one session
- Works on Linux, Windows, and macOS
No external dependencies required.
✅ Automatic file categorization
✅ Smart folder creation
✅ Multiple directory support
✅ Duplicate-safe file handling
✅ Cross-platform compatibility
✅ Lightweight and fast
✅ No third-party packages required
✅ Safe to run multiple times
Perfect for:
- Cleaning Downloads folders
- Organizing Desktop files
- Sorting project directories
- Managing media collections
- Keeping workspaces tidy
- Automating repetitive file organization
| Category (folder created) | Extensions |
|---|---|
| Images | .jpg, .jpeg, .png, .gif, .bmp, .tiff, .webp, .svg |
| Videos | .mp4, .avi, .mov, .mkv, .flv, .wmv |
| Audio | .mp3, .wav, .ogg, .flac, .aac |
| PDFs | |
| Documents | .docx, .doc |
| Text Files | .txt |
| Presentations | .pptx |
| Spreadsheets | .xlsx |
| CSVs | .csv |
| Archives | .zip, .rar, .tar, .gz |
| Executables | .exe |
| Installers | .msi |
| Disk Images | .iso |
| Other | Known extensions not listed above (files with no extension are skipped) |
Select Folder
│
▼
Scan Files
│
▼
Detect Extension
│
▼
Create Category Folder
│
▼
Move File
│
▼
Organization Complete
Downloads/
├── photo.jpg
├── resume.docx
├── video.mp4
├── archive.zip
├── song.mp3
Downloads/
├── Images/
│ └── photo.jpg
├── Documents/
│ └── resume.docx
├── Videos/
│ └── video.mp4
├── Archives/
│ └── archive.zip
├── Audio/
│ └── song.mp3
└── PDFs/
└── report.pdf
data_organizer/
├── data_organizer.py
├── README.md
└── screenshots/
├── desktop-dark.png
└── mobile-dark.png
Clone the repository:
git clone https://github.com/linuxcoding-ADAM/data_organizer.git
cd data_organizerRun the script:
python3 data_organizer.pyor
python data_organizer.pyFollow the prompts:
- Enter a directory path
- Add additional directories if desired
- Press Enter on an empty line
- Let Data Organizer sort everything automatically
Please enter a directory path to organize (or press Enter to finish):
/home/adam/Downloads
Do you want to add another directory? (y/n):
n
Starting organization for 1 directory...
Processing directory:
/home/adam/Downloads
Created directory:
/home/adam/Downloads/Images
Moved 'photo.jpg' to 'Images'
Moved 'resume.docx' to 'Documents'
Moved 'video.mp4' to 'Videos'
Moved 'archive.zip' to 'Archives'
Moved 'song.mp3' to 'Audio'
All tasks are complete.
- Built with pure Python
- Uses only standard library modules
- Efficient file operations with
shutil - Dynamic folder creation
- Extension-based classification
- Safe duplicate handling
- Cross-platform filesystem support
No installation required.
Uses only:
import os
import shutil- Files are moved, not copied
- Existing files are not overwritten
- Duplicate filenames are handled safely
- Folders are never moved
- Safe to run repeatedly
For extra caution, test on a small directory first.
- GUI version
- Drag & Drop support
- Scheduled organization
- Custom user-defined categories
- Configuration file support
- File size filtering
- Advanced duplicate detection
- Undo functionality
Licensed under the MIT License.
Adam Mila
- Linux User
- Python Developer
- Web Developer
- Electrical Engineering Background
- Open Source Enthusiast

