Skip to content

Convert HEIC to PNG on Mac: 3 Methods

Convert HEIC to PNG on Mac with GetCompress, Preview, or sips for retouch workflows. Send clients JPEG unless they asked for PNG.

By Petr Samokhin

You need PNG in Photoshop for masks and retouching, not another lossy JPEG save. iPhone HEIC files are efficient on device but wrong for editors that expect PNG. Expect large files: that is normal for phone resolution without another lossy step. Converting locally keeps client work on your Mac.

When PNG instead of JPEG

GoalFormat
Email, MLS, ShopifyJPEG (see HEIC to JPG on Mac )
Retouch, masks, compositingPNG
Archival edit masterRAW or DNG, not HEIC
PNGJPEG
LosslessYesNo
Typical phone export sizeLarge (often 15 to 30 MB)Smaller
Client deliveryUsually the wrong choiceDefault

Portrait workflows often convert ten HEIC selects to PNG while the rest of the shoot goes to JPEG for the client gallery. Split folders before batch so delivery presets do not mix formats.

Method 1: GetCompress

Best for: Batch selects with optional max width so sync tools do not choke on full phone resolution.

GetCompress main window with images queued and image settings open, including format, quality, and resize options
  1. Drop HEIC selects into GetCompress .
  2. Set output to PNG.
  3. Optionally cap max width (for example 4096 px) when the retouch team does not need full phone resolution.
  4. Export; keep originals untouched.

Save two presets: one for PNG retouch, another for client JPEG proofs so the same shoot moves cleanly after editing.

Method 2: Export from Photos or Preview

Best for: A handful of selects.

Preview:

  1. Open HEIC in Preview.
  2. File → Export… → PNG.

Photos: use File → Export when PNG appears as a format option. Prefer a direct HEIC to PNG path over a JPEG round-trip through Preview.

Limitation: One file at a time in Preview. For a full shoot folder, use Method 1 or 3. Open one PNG at 100% zoom before batching many files.

Method 3: Terminal conversion with sips

Best for: Scripts and folder loops.

sips -s format png IMG.heic --out IMG.png

Batch:

mkdir png-out
for f in *.heic *.HEIC; do
 [ -f "$f" ] || continue
 sips -s format png "$f" --out "png-out/${f%.*}.png"
done

Optional lossless squeeze with oxipng after you confirm the export looks correct:

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

FFmpeg path when sips fails on an odd HEIC:

ffmpeg -i IMG.heic IMG.png

Limitation: You maintain the loops yourself. PNG sync to Dropbox or Frame.io can choke on hundreds of large files; cap max width when possible.

Which method should you use

SituationStart here
Batch selects, dual PNG/JPEG presetsGetCompress
A few filesPreview or Photos
Scripts / CIsips or FFmpeg

When Preview alone is enough

Preview is enough for one or two selects when you do not need width caps or a reusable preset.

GetCompress also helps when Friday shoots move from retouch PNG to client JPEG with saved presets, when you need local batch conversion, or when sync tools force a max width. After compositing, export client proofs as JPEG rather than emailing PNG selects. See HEIC to JPG on Mac for the delivery path.