How do you compress screenshots automatically on a Mac?
With built-in tools, through a Folder Action or a shortcut that halves every new screenshot with sips and saves it as a JPG, or with an app like Levati that does it on its own. The Folder Action made screenshots 80.7% smaller at the median, Levati 84.6% at a SSIMULACRA 2 score of 89.7 instead of 84.8; switching the format to JPG alone saved 44.5%.
What does the JPG format do for screenshots?
It saves 44.5% at the median, but not on every image: pages with a lot of text on a light background got up to 37.4% larger as a JPG, pages with photos and gradients up to 82.1% smaller. The SSIMULACRA 2 score was 84.3 at the median.
You set the format in Terminal with defaults write com.apple.screencapture type jpg; from the next screenshot on, macOS saves a JPG instead of a PNG. Apple does not document the type key; man screencapture lists the same formats for the -t option. In the measurement, the JPG files from macOS had the same quantization tables as sips without a quality setting. defaults delete com.apple.screencapture type switches back to PNG.
How do you set up a Folder Action or a shortcut?
With a short shell script that scales every new PNG in the screenshot folder to half its width and saves it as a JPG; that made the screenshots 80.7% smaller at the median, from 1.09 MB to 201 KB. Kept as a PNG at half size, they got 52.7% smaller.
A Folder Action is made in Automator: a workflow attached to a folder runs when items are added to it and receives the files as input (Automator User Guide, checked October 30, 2026). In Shortcuts on macOS 26 and later, an automation with the Folder trigger runs when files are added (Apple Support, checked October 30, 2026). In both cases this script goes into the Run Shell Script action, with input passed as arguments:
for f in "$@"; do
[[ $f == *.png ]] || continue
b=$(sips -g pixelWidth "$f" | awk '/pixelWidth/{print $2}')
sips -s format jpeg --resampleWidth $((b / 2)) "$f" --out "${f%.png}.jpg" && mv "$f" ~/.Trash/
done
The original goes to the Trash. To halve and keep the PNG, leave out -s format jpeg and write back with --out "$f".
What does Levati do on its own?
Levati halves a new screenshot on the desktop and compresses it as a PNG with pngquant and oxipng; at the median it got 84.6% smaller, down to 156 KB, at a SSIMULACRA 2 score of 89.7. Without half size, it saved 63.5%.
The only thing to set up is the Automatic switch; it runs free for 30 days, then with Levati Pro for a one-time $19. The original goes to the Trash, and Undo brings it back. For a page full of photos, the Folder Action’s JPG stayed smaller at 255 KB than Levati’s PNG at 504 KB; for text and interface it was the other way round.
All methods compared
Half size saves more than the format alone with every method; the methods differ mainly in image quality and in what you have to set up.
| Method | Median size | Median saving | SSIMULACRA 2 median (lowest) | Setup |
|---|---|---|---|---|
| PNG, as macOS saves it | 1.09 MB | 0% | 100 | nothing |
| JPG format | 536 KB | 44.5% | 84.3 (83.0) | one command in Terminal |
| Folder Action, half size as PNG | 513 KB | 52.7% | 100 (100) | Folder Action or shortcut with a script |
| Folder Action, half size as JPG | 201 KB | 80.7% | 84.8 (83.0) | Folder Action or shortcut with a script |
| Levati, full size | 354 KB | 63.5% | 88.4 (80.0) | download the app, halving off |
| Levati, half size | 156 KB | 84.6% | 89.7 (83.8) | download the app, Automatic on, Pro after 30 days |
SSIMULACRA 2 compares an image with its original and returns a score up to 100; 100 means identical pixels, 90 visually lossless, 85 excellent, 80 very high quality (SSIMULACRA 2 on GitHub, checked October 28, 2026). A half-size result is compared with the original at the same size, so the 100 for half size as PNG only means that nothing else was lost when halving.
How much half size and compression save on their own is covered in How much smaller does a Mac screenshot get?; when JPG or HEIC beats PNG, in Is a Mac screenshot smaller as a JPG than as a PNG?. Which apps compress images how much is compared in Which app compresses images most on a Mac, and when is a free one enough?.
How was this measured?
The measurement covers 10 screenshots of public web pages taken on October 30, 2026 on a MacBook Pro with M5 Pro running macOS 27.2, without a window and without the Levati app; each method got its own copies of the same material.
- Screenshots: captured headless with Chromium via Playwright 1.64.1 at Retina resolution, 1440 × 900 points, so 2880 × 1800 pixels at 144 dpi, without a color profile (script
docs/messung/bildschirmfotos.mjsin the website’s repository). The English home page of levatiapp.com was dropped because it redirects to the German one from Switzerland and gave the same image. - JPG format: reproduced with
sips -s format jpegwithout a quality setting; a 32 × 32 pixel capture withscreencapture -t jpghad the same quantization tables for luminance and color. - Folder Action:
sipsat half width and height, once as PNG, once as JPG without a quality setting; the same commands the script above runs. - Levati 1.0.6: the function behind Levati’s command-line tool, with Trash and journal in a working folder, with the app’s default settings and once without half size.
- Quality: SSIMULACRA 2 from jpeg-xl 0.12.0 against the original at the same resolution; half-size results against the original scaled to the same size with
sips. - Analysis: file size in bytes, median and range from minimum to maximum; 1 KB is 1,000 bytes, 1 MB is 1,000,000 bytes. Script and raw data:
docs/messung/bildschirmfoto-wege.shandrohdaten-wege.csv.
Not measured: full-screen captures, HEIC and the Folder Action itself running in the Finder. The screenshots themselves are not published.