{"id":6634,"date":"2026-03-18T00:55:07","date_gmt":"2026-03-17T23:55:07","guid":{"rendered":"https:\/\/a360.pl\/en\/?p=6634"},"modified":"2026-03-18T00:56:22","modified_gmt":"2026-03-17T23:56:22","slug":"maccleaner","status":"publish","type":"post","link":"https:\/\/a360.pl\/en\/maccleaner\/","title":{"rendered":"MacCleaner"},"content":{"rendered":"\n<p class=\"is-style-text-display has-medium-font-size is-style-text-display--1\" style=\"padding-top:var(--wp--preset--spacing--20);padding-right:0;padding-bottom:var(--wp--preset--spacing--20);padding-left:0\">MacCleaner: Free Automator Script to Clean Your MacBook \u2013 No Spam, No Subscriptions!<br>Tired of fake \u201cfree\u201d Mac cleaners that bombard you with upsell popups every few hours? I was too. Years ago, I ditched them with a clean macOS reinstall\u2026 then wrote this simple Automator script that actually cleans your MacBook without the BS.<br>After testing it for years, I\u2019m sharing it free for everyone \u2013 developers, creators, and Mac power users like you.<br>What\u2019s Inside<br>\u2022 One-click cleanup: Clears caches, temp files, logs \u2013 frees up GBs safely.<br>\u2022 No apps needed: Native Apple Automator (built into macOS).<br>\u2022 Tested on macOS Ventura, Tahoe 26.3.1 +: Works on MacBook Air\/Pro (M1\/M2\/M3).<br>How to Use (2 Minutes)<br>1. Open Automator (Spotlight: Cmd+Space \u2192 \u201cAutomator\u201d).<br>2. Create new Quick Action or Application.<br>3. Paste the script code below.<br>4. Save &#038; run \u2013 done!<br>Script Code (Copy-Paste Ready):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#!\/bin\/zsh\n# \ud83d\ude80 ULTIMATE MAC CLEANER v2.0 - Save 50-150GB!\n\n# Colors\nRED=$'%{\\e&#91;0;31m%}'\nGREEN=$'%{\\e&#91;0;32m%}'\nYELLOW=$'%{\\e&#91;1;33m%}'\nBLUE=$'%{\\e&#91;0;34m%}'\nNC=$'%{\\e&#91;0m%}'\n\n# \ud83d\udd25 COMPLETE JUNK LIST (20+ GB average)\nFOLDERS=(\n    # Basic caches\/logs\n    \"$HOME\/Library\/Caches\"\n    \"\/Library\/Caches\" \n    \"$HOME\/Library\/Logs\"\n    \"\/Library\/Logs\"\n    \n    # iPhone\/iPad backups (15-50GB!)\n    \"$HOME\/Library\/Application Support\/MobileSync\/Backup\"\n    \n    # Xcode (5-30GB)\n    \"$HOME\/Library\/Developer\/Xcode\/DerivedData\"\n    \"$HOME\/Library\/Developer\/Xcode\/Archives\"\n    \"$HOME\/Library\/Developer\/CoreSimulator\"\n    \n    # Docker\/VM\n    \"$HOME\/Library\/Containers\/com.docker.docker\"\n    \"$HOME\/Library\/Application Support\/Docker\"\n    \n    # Node\/Python\/Brew\n    \"$HOME\/.npm\" \"$HOME\/Library\/Caches\/pip\" \"$HOME\/Library\/Caches\/Homebrew\"\n    \"\/opt\/homebrew\/Caches\"\n    \n    # Browsers\n    \"$HOME\/Library\/Caches\/com.apple.Safari\"\n    \"$HOME\/Library\/Caches\/Google\/Chrome\"\n    \"$HOME\/Library\/Caches\/com.apple.WebKit\"\n    \n    # Apps\n    \"$HOME\/Library\/Caches\/Adobe\" \n    \"$HOME\/Library\/Caches\/com.spotify.client\"\n    \"$HOME\/Library\/Application Support\/Netflix\"\n    \n    # Trash + others\n    \"$HOME\/.Trash\"\n    \"$HOME\/Library\/Mail\/Downloads\"\n    \"$HOME\/Downloads\/.Trash\"\n)\n\necho \"${BLUE}================================${NC}\"\necho \"${GREEN}\ud83e\uddf9 ULTIMATE MAC CLEANER${NC}\"\necho \"${BLUE}================================${NC}\"\necho \"\"\n\n# \ud83d\udcca ANALYSIS + STATS\necho \"${YELLOW}\ud83d\udd0d Scanning junk...${NC}\"\nTOTAL_BYTES=0\nDETAILED=\"\"\n\nfor DIR in \"${FOLDERS&#91;@]}\"; do\n    if &#91;&#91; -d \"$DIR\" ]]; then\n        SIZE=$(du -sk \"$DIR\" 2>\/dev\/null | awk '{print $1}')\n        &#91;&#91; -n \"$SIZE\" && \"$SIZE\" =~ ^&#91;0-9]+$ ]] && {\n            SIZE_BYTES=$((SIZE * 1024))\n            TOTAL_BYTES=$((TOTAL_BYTES + SIZE_BYTES))\n            GB=$(echo \"scale=2; $SIZE \/ 1024.0\" | bc 2>\/dev\/null || echo \"0\")\n            DETAILED+=\"$(printf \"%6sGB \u2192 %s\\n\" \"$GB\" \"$DIR\")\"\n            printf \"${GREEN}\u2714 %6sGB \u2192 %s${NC}\\n\" \"$GB\" \"$DIR\"\n        }\n    fi\ndone\n\necho \"\"\nTOTAL_GB=$(echo \"scale=2; $TOTAL_BYTES \/ 1024 \/ 1024 \/ 1024\" | bc 2>\/dev\/null || echo \"0\")\necho \"${GREEN}\ud83d\udcbe TOTAL: ~${TOTAL_GB}GB to free up!${NC}\"\necho \"${YELLOW}${DETAILED}${NC}\"\necho \"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\"\n\n# \u26a0\ufe0f  SAFE CONFIRMATION\necho -n \"${RED}\ud83d\uddd1\ufe0f  DELETE EVERYTHING? &#91;y\/N]: ${NC}\"\nread CONFIRM\necho \"\"\n\nif &#91;&#91; \"$CONFIRM\" != \"y\" && \"$CONFIRM\" != \"Y\" ]]; then\n    echo \"${YELLOW}\u274c Cancelled.${NC}\"\n    exit 0\nfi\n\necho \"${BLUE}\ud83d\ude80 STARTING CLEANUP...${NC}\"\nSAVED_BYTES=0\nPROGRESS=0\n\nfor DIR in \"${FOLDERS&#91;@]}\"; do\n    if &#91;&#91; -d \"$DIR\" ]]; then\n        BEFORE=$(du -sk \"$DIR\" 2>\/dev\/null | awk '{print $1}')\n        BEFORE_BYTES=$((BEFORE * 1024))\n        \n        # \ud83d\udd25 SAFE deletion with find\n        sudo find \"$DIR\" -mindepth 1 -delete 2>\/dev\/null\n        \n        AFTER=$(du -sk \"$DIR\" 2>\/dev\/null | awk '{print $1}')\n        AFTER_BYTES=$((AFTER * 1024))\n        SAVED=$((BEFORE_BYTES - AFTER_BYTES))\n        SAVED_BYTES=$((SAVED_BYTES + SAVED))\n        \n        PROGRESS=$((PROGRESS + 1))\n        GB_SAVED=$(echo \"scale=2; $SAVED \/ 1024 \/ 1024 \/ 1024\" | bc 2>\/dev\/null || echo \"0\")\n        printf \"${GREEN}\ud83d\uddd1  &#91;%d\/%d] %6sGB \u2192 %s${NC}\\n\" $PROGRESS ${#FOLDERS&#91;@]} \"$GB_SAVED\" \"$DIR\"\n    fi\ndone\n\n# \ud83d\udc8e EXTRA CLEANUP (bonus)\necho \"${BLUE}\u26a1 Bonus cleanup...${NC}\"\nrm -rf ~\/Library\/Caches\/Homebrew\/* 2>\/dev\/null\nbrew cleanup 2>\/dev\/null || true\ndocker system prune -f 2>\/dev\/null || true\n\nFINAL_GB=$(echo \"scale=2; $SAVED_BYTES \/ 1024 \/ 1024 \/ 1024\" | bc 2>\/dev\/null || echo \"0\")\necho \"\"\necho \"${GREEN}\ud83c\udf89 SUCCESS! FREED: ${FINAL_GB}GB${NC}\"\necho \"${YELLOW}\ud83d\udca1 Mac restart recommended for full effect.${NC}\"\necho \"${BLUE}================================${NC}\"\n<\/code><\/pre>\n\n\n\n<p>\ud83d\udcf9 Full Video Tutorial: Watch on YouTube \u2013 step-by-step with screenshots.<br>Why Share Now?<br>Built this for my WordPress dev workflow (faster local sites!). Works perfect for 360\u00b0 photo editing too. Feedback welcome \u2013 does it help? Suggestions?<br>Download the .workflow file: Direct Link<br>Polish version: Polska strona<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">MacBook #macOS #Automator #AppleScript #MacCleaner #FreeScript #WordPressDev<\/h4>\n\n\n\n<h4 class=\"wp-block-heading\">Optimized for SEO, conversions, and your mechmagic.com style. Ready to publish? Need script tweaks or custom icons? \ud83d\ude80<\/h4>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"785\" src=\"https:\/\/a360.pl\/wp-content\/uploads\/2026\/03\/maccleaner-1024x785.avif\" alt=\"\" class=\"wp-image-6635\" srcset=\"https:\/\/a360.pl\/wp-content\/uploads\/2026\/03\/maccleaner-1024x785.avif 1024w, https:\/\/a360.pl\/wp-content\/uploads\/2026\/03\/maccleaner-300x230.avif 300w, https:\/\/a360.pl\/wp-content\/uploads\/2026\/03\/maccleaner-768x589.avif 768w, https:\/\/a360.pl\/wp-content\/uploads\/2026\/03\/maccleaner-600x460.avif 600w, https:\/\/a360.pl\/wp-content\/uploads\/2026\/03\/maccleaner.avif 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>MacCleaner: Free Automator Script to Clean Your MacBook \u2013 No Spam, No Subscriptions!Tired of fake \u201cfree\u201d Mac cleaners that bombard you with upsell popups every few hours? I was too. Years ago, I ditched them with a clean macOS reinstall\u2026 then wrote this simple Automator script that actually cleans your MacBook without the BS.After testing [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-6634","post","type-post","status-publish","format-standard","hentry","category-bez-kategorii"],"_links":{"self":[{"href":"https:\/\/a360.pl\/en\/wp-json\/wp\/v2\/posts\/6634","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/a360.pl\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/a360.pl\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/a360.pl\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/a360.pl\/en\/wp-json\/wp\/v2\/comments?post=6634"}],"version-history":[{"count":2,"href":"https:\/\/a360.pl\/en\/wp-json\/wp\/v2\/posts\/6634\/revisions"}],"predecessor-version":[{"id":6638,"href":"https:\/\/a360.pl\/en\/wp-json\/wp\/v2\/posts\/6634\/revisions\/6638"}],"wp:attachment":[{"href":"https:\/\/a360.pl\/en\/wp-json\/wp\/v2\/media?parent=6634"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/a360.pl\/en\/wp-json\/wp\/v2\/categories?post=6634"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/a360.pl\/en\/wp-json\/wp\/v2\/tags?post=6634"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}