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.
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.
| Format | Good for | Watch out for |
|---|---|---|
| JPEG | Photos, email, uploads | No transparency; artifacts on sharp UI |
| PNG | Screenshots, sharp UI, alpha | Large at full Retina size |
| HEIC | iPhone storage | Not every client app opens it |
| WebP | Websites (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 shows | Rule of thumb |
|---|---|
| Blog hero at 960 px CSS width | Export near 1920 px wide (2x for Retina) |
| Email inline image | 600 to 800 px wide is usually enough |
| Thumbnail in a deck or doc | Match slide width, often 1280 to 1920 px |
| Full-screen photo review | Keep 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:
- Open the image in Preview.
- Choose Tools → Adjust Size… and set width in pixels.
- 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.
- Convert PNG to JPG on MacConvert PNG to JPG on Mac with Preview or Terminal. When to keep PNG for transparency.
- Convert HEIC to JPG on MacConvert HEIC to JPG on Mac with Photos or Preview. Batch HEIC to JPEG for MLS, email, and uploads.
- For photographersCreate JPEG, PNG, HEIC, TIFF, and WebP delivery files for galleries, proofs, downloads, and social posts while protecting color and useful detail.
- Batch Convert HEIC on MacBatch convert HEIC to JPG on Mac with Terminal sips or GetCompress. Real estate and event photo workflows.
Buy GetCompress now for local media compression with reusable presets and no media upload.