Tired of a messy desktop? Here’s a fast, free way to clean it using Terminal. Copy-paste the two commands below and your files will be sorted into folders in seconds.
Why this works
- No apps, no cost — uses built-in macOS Terminal.
- Fast: runs in seconds.
- Safe: only moves files (doesn’t delete).
1) Create the folders (paste in Terminal)
mkdir -p ~/Desktop/{Images,Audio,Videos,Documents,Archives,Others}
2) Move everything into those folders (paste in Terminal)
for f in ~/Desktop/*; do [ -f "$f" ] || continue; filename="$(basename "$f")"; ext="${filename##*.}"; ext="$(printf '%s' "$ext" | tr '[:upper:]' '[:lower:]')"; case "$ext" in jpg|jpeg|png|gif|bmp|tiff|heic|webp|svg) dest=~/Desktop/Images ;; mp3|wav|aiff|m4a|flac|ogg|aac) dest=~/Desktop/Audio ;; mp4|mov|mkv|avi|m4v|webm) dest=~/Desktop/Videos ;; pdf|doc|docx|txt|xls|xlsx|ppt|pptx|rtf|odt) dest=~/Desktop/Documents ;; zip|rar|7z|tar|gz|bz2|dmg|iso) dest=~/Desktop/Archives ;; *) dest=~/Desktop/Others ;; esac; mkdir -p "$dest"; dst="$dest/$filename"; if [ -e "$dst" ]; then base="${filename%.*}"; if [ "$ext" = "$filename" ]; then dot=""; else dot=".$ext"; fi; i=1; while [ -e "$dest/${base}_$i$dot" ]; do i=$((i+1)); done; dst="$dest/${base}_$i$dot"; fi; mv "$f" "$dst"; done; echo "Desktop cleaned!"
