Skip to content

How to Compress Images on Mac

Compress images on Mac with Preview and Photos. Resize JPG and PNG, convert HEIC, and batch compress with GetCompress.

By Petr Samokhin

Retina PNG exports and iPhone HEIC photos add up fast. Upload forms fail, Slack previews lag, and shared folders swell with assets nobody views at full resolution. You usually need smaller dimensions, a different format, or both. Built-in Mac apps handle a few files; folders of mockups need a repeatable workflow. The same settings come back every sprint, which is why saved presets beat one-off exports.

Pick the right format

Choosing the wrong format wastes effort. Compression works best when the format matches how the image will be viewed.

FormatGood forWatch out for
JPEGPhotos, email, uploadsNo transparency; artifacts on sharp UI
PNGScreenshots, sharp UI, alphaLarge at full Retina size
HEICiPhone storageNot every client app opens it
WebPWebsites (with a fallback)Export from design tools is often PNG first

When a CMS or client portal asks for JPEG but you only have PNG mockups, convert before you resize. See PNG to JPG on Mac for transparency tradeoffs. For web delivery, PNG to WebP on Mac covers the next step after you resize.

The display-size rule

Export at the pixel width the image will actually appear on screen, not at the size your monitor captured it.

Where it showsRule of thumb
Blog hero at 960 px CSS widthExport near 1920 px wide (2x for Retina)
Email inline image600 to 800 px wide is usually enough
Thumbnail in a deck or docMatch slide width, often 1280 to 1920 px
Full-screen photo reviewKeep higher resolution; compress with care

A 4000 px wide PNG displayed in a 800 px column still downloads like a poster. Resize first, then tune quality. That single step often cuts file size more than sliding a quality knob on an oversized original.

Check the layout in your CMS, Figma frame, or email template before you batch export. One saved width per project beats guessing each time.

When you are unsure, export slightly larger than the display size, then spot-check on a phone. It is easier to shrink once than to upsample a file that was exported too small.

Resize in Preview or Photos

Preview is the fastest built-in path for one or a few files:

  1. Open the image in Preview.
  2. Choose Tools → Adjust Size… and set width in pixels.
  3. Choose File → Export as JPEG with the quality slider.

Photos works well for camera rolls: select images, then File → Export → Export N Photos and pick JPEG with a quality setting.

Both apps are slow for thirty mockups in a row. They also lack saved presets, so you repeat the same width and quality manually each sprint.

For HEIC from an iPhone, Photos export is the friendly option. Preview opens many HEIC files directly when you need a single conversion. See HEIC to JPG on Mac when a client cannot open Apple formats at all.

Batch resize in Terminal

Open Terminal (Applications → Utilities → Terminal), cd to your folder, and resize every JPEG to a max edge of 1920 px:

for f in *.jpg; do sips -Z 1920 "$f"; done

Convert HEIC to JPEG with explicit quality:

sips -s format jpeg -s formatOptions 85 photo.heic --out photo.jpg

Batch PNG to a output folder without touching originals:

mkdir out
for f in *.png; do sips -Z 1920 "$f" --out "out/$f"; done

sips is built in and fast. It does not remember presets, and mixed folders of PNG, JPEG, and HEIC still need separate commands or a dedicated app.

Write the max width in your project README so the next person on the team does not reintroduce 4000 px exports by accident.

Smaller PNG with oxipng

For PNG screenshots, resizing helps most. Lossless recompression shaves extra bytes when the image must stay PNG for transparency.

Open Terminal, install oxipng through Homebrew (install Homebrew first if brew is not found):

brew install oxipng
oxipng -o 4 --strip safe screenshot.png

Run oxipng after you resize. Feeding a 4000 px PNG into oxipng alone rarely fixes a bloated export from a design tool.

For UI with flat colors, test lossless PNG first before you convert to JPEG and lose transparency.

Using GetCompress

GetCompress handles mixed image folders on your Mac without upload. Useful when a handoff folder contains PNG, JPEG, HEIC, and WebP from different sources.

  • Drop a folder of images into GetCompress and set max width, output format, and quality in one panel.
  • Apply the display-size rule with a saved preset (for example “web JPEG 1920px”) instead of retyping sips commands.
  • Preview before export when UI screenshots must stay sharp.
  • Batch compress images on Mac for upload or email without opening each file in Preview.
  • Convert HEIC or PNG to JPEG or WebP in the same pass when the destination format is fixed.

GetCompress does not replace Preview for a quick one-off resize. It pays off when the same settings return every week. For disk space across photos, video, and PDF, pair this guide with reduce file size on Mac .

Folder monitoring in GetCompress can watch an export directory and compress new PNG or JPEG files automatically when your design tool drops fresh mockups into a shared handoff folder.

Compare byte size before and after on one representative screenshot so you know the preset works for your typical Figma export settings.

Buy GetCompress now for local media compression with reusable presets and no media upload.