To extract images from a PDF on Mac, open the file in the Extract Images from PDF tool inside Safari, Chrome, or any modern browser, scan the embedded image objects, and download each supported JPG or PNG without uploading the document. The whole job happens inside the current browser tab, so the PDF never leaves your Mac and you do not need to install a Mac app or grant admin permissions. The tool separates two supported storage cases inside a PDF: a DCTDecode stream, which is the PDF specification name for an embedded JPEG, is exported as the document's original stored JPEG bytes rather than being rendered and re-saved; a simple 8-bit FlateDecode DeviceRGB or DeviceGray stream is inflated locally and re-encoded as a PNG that any Mac app can open. That distinction matters because a screenshot of the page would not give you the original photograph, scan, or logo at its stored quality, and a Mac user usually wants the actual asset, not a rasterized version of the page it sits on.

how to extract images from pdf on mac
How to Extract Images From a PDF on Mac in Your Browser

What "Extracting Images" Actually Means on a Mac

Most Mac users who want to pull a picture out of a PDF reach first for Preview, which is the right instinct for the page-as-image case but the wrong tool for the embedded-asset case. Preview can export a single page as a PNG or JPEG, and it can also handle a few simple selections, yet it does not surface the original image objects that a PDF author actually placed in the document. A PDF can hold a photograph at full resolution and Preview will happily give you a lower-resolution snapshot of the page that surrounds it. That snapshot includes text, vector artwork, headers, footers, page numbers, and the surrounding background. The picture you wanted is now flattened and recompressed inside that page snapshot, which is not what most readers mean by "extract the image from the PDF."

A browser-based extractor works differently. It walks the PDF's indirect object table, finds each image XObject the author embedded, and offers that specific asset for download. For a supported JPEG stream, the downloaded JPG is the same payload the author placed in the document. For a supported FlateDecode stream, the browser inflates the raw pixels and writes a clean PNG. Anything outside those two supported cases is skipped on purpose, which is a design choice rather than a limitation: the alternative would be to decode those streams with the wrong colors and return a damaged-looking file, which is worse than skipping them honestly.

This difference is what makes the Extract Images from PDF tool the right pick when you want the photograph, logo, scan, or graphic itself, and what makes a PDF-to-image page converter the right pick when you want the full visible page including text and vector artwork.

Why a Browser-Based Extractor Fits a Mac Workflow

A Mac user often does not want to install another app, sign in to a service, or hand a confidential document to a remote server. The Extract Images from PDF tool fits those expectations because the scanning, the JPEG byte export, the Flate decompression, and the PNG encoding all run in the current browser tab. The PDF is read locally by the browser, the candidates are evaluated against the safety budgets, and each supported image receives its own download link.

There is no Mac-specific binary to download, no command-line tool to learn, and no permission prompts from macOS Gatekeeper. The tool works the same way on Apple Silicon and Intel Macs, and the same way in Safari, Chrome, Firefox, Arc, or any other current browser that exposes the modern web APIs the implementation depends on. That portability is the practical reason many Mac users prefer a browser-based PDF tool over a paid desktop application for a one-off extraction job.

The privacy posture is also worth naming directly. The PDF never leaves the device. The temporary download URLs that the tool creates are released when you choose another file or leave the tool, and the browser does not retain a copy of the original document.

How to Extract Images From a PDF on Mac in Your Browser

The full workflow takes a few clicks and works the same way regardless of which browser you launch on macOS.

  1. Open Safari, Chrome, or your preferred browser on your Mac and go to the Extract Images from PDF tool.
  2. Click the file picker and choose one local PDF from your Mac. The tool accepts a single PDF up to 25 MB.
  3. Select the Extract images action. The browser enumerates the indirect image XObjects inside the PDF using pdf-lib and inspects each one against the supported encodings.
  4. Wait for the scan to finish. Supported DCTDecode streams are kept as their original JPG bytes; supported 8-bit FlateDecode DeviceRGB and DeviceGray streams are inflated and encoded as PNGs.
  5. Review the list of found images. Each entry shows the format and the pixel dimensions so you can confirm you have the right asset before downloading.
  6. Click the download link next to each image you want to keep. Each supported picture downloads as a separate JPG or PNG file into your normal Downloads folder.
  7. Inspect the downloaded file on your Mac. Open it in Preview or Quick Look, confirm the dimensions and appearance match the asset you expected, and only then use it.

The total time depends on the size of the PDF and the number of embedded image objects. A 5 MB document with a handful of JPGs finishes quickly; a 25 MB document with many small icons can take longer because each indirect object has to be evaluated against the safety budgets before any download is created. If you want to read a deeper walkthrough of the local processing model behind this tool, the guide on extracting PDF images locally covers the same approach from a slightly different angle.

What the Tool Supports and What It Skips

A PDF can store the same visible picture in many different ways, and the tool treats those ways honestly instead of pretending they are interchangeable. The table below summarizes the encodings the tool can handle and the encodings it deliberately skips.

EncodingPDF filterOutcome
Embedded JPEGDCTDecodeExported as the original stored JPG bytes
8-bit RGB uncompressedFlateDecode with DeviceRGBInflated locally, encoded as PNG
8-bit grayscale uncompressedFlateDecode with DeviceGrayInflated locally, encoded as PNG
JPEG 2000JPXDecodeSkipped — different codec, not re-encoded
JBIG2JBIG2DecodeSkipped — not supported in this browser pipeline
LZWLZWDecodeSkipped — not in the supported Flate case
Indexed color paletteFlateDecode with a palette lookupSkipped — would need color remapping to render correctly
CMYKFlateDecode with DeviceCMYKSkipped — would need color conversion to render correctly
Soft mask or image maskAny filter paired with an SMaskSkipped — transparency is not preserved
Filters chained or with predictorsFlateDecode with DecodeParmsSkipped — predictor data would distort raw pixels

The tool also enforces a deduplication rule. A repeated indirect image reference, where the same XObject appears on several pages, is only inspected once so that one stored asset does not become a confusing set of duplicate downloads. The PNG output for the Flate case is generated by piping the inflated raw pixel buffer through the browser's built-in DecompressionStream for the inflation step, then drawing the pixels onto a local canvas and exporting a PNG. The canvas is used only as an encoder; the original PDF bytes are not rerendered, so a supported picture stays at the resolution the author placed in the document.

Extract Images vs Save a Page as a Picture

A common point of confusion on Mac is whether you actually want the embedded image or a snapshot of the page. The two jobs look similar but produce very different files. The table below describes the relationship qualitatively; the exact output dimensions for any page converter depend on the tool you choose and the scale you set, so the precise figures come from the tool rather than from a fixed formula.

NeedRight toolWhat you get
The original photograph, logo, scan, or graphic stored in the PDFExtract Images from PDFOriginal JPG bytes or a PNG of the embedded pixel data
The whole visible page, including text and vector artworkPDF to PNG or PDF to JPGA rasterized snapshot of one or more pages at a chosen scale
The visible page as one tall stitched imagePDF to Long ImageA single vertical PNG containing every page
Every page as a JPG at adjustable qualityPDF to JPG ConverterOne JPG per page at the scale and quality you pick

If you only need the page itself because the PDF author drew the picture with vector paths rather than embedding an image, the Extract Images tool will not find anything because there is nothing to extract. In that case the page converters are the correct choice.

Limits to Keep in Mind Before You Start

The tool checks several limits before it allocates any large output buffer, and the budgets are visible in the implementation behavior rather than hidden in a backend. The PDF must be at most 25 MB. Each candidate image is checked against a maximum dimension of 12,000 pixels on its longest side, a maximum of 40 megapixels for one image, a combined 100 megapixel cap across every image the tool accepts, and a 100 MB ceiling on decoded Flate image data. These caps protect the browser tab from being asked to allocate an unexpectedly large canvas or image bitmap, which on macOS would manifest as a stalled tab or a memory warning rather than a clean error message.

The tool does not bypass encryption, repair a broken PDF, validate a signature, or make any claim that the source document is trustworthy. A password-protected, malformed, or unusually complex PDF can still fail, and a failure is reported rather than papered over with a partial result. If your PDF refuses to scan, the cause is usually one of three things: the file is over 25 MB, the file is encrypted, or the document's image objects use encodings outside the supported list. Trimming the file with Split PDF or removing the encryption with Remove PDF Password can resolve the first two cases when you have the password.

After You Download — Quick Verification

The downloaded file is yours to use, but a short verification step avoids surprises. Open the JPG or PNG in Preview, look at the dimensions shown in the Preview inspector, and confirm they roughly match the asset you expected to pull from the PDF. For an embedded photograph that was placed at full resolution, the JPG should match the dimensions the author used. For a FlateDecode export, the PNG should be a clean raster of the underlying pixels without text or vector decorations from the page around it.

If the downloaded file looks broken, cropped, or the wrong color, the cause is almost always an unsupported encoding the tool skipped and reported. The skipped object still belongs to the PDF; it just could not be safely decoded into a downloadable file in this browser pipeline. In that situation a page converter like PDF to PNG can give you a rasterized copy of the page at the cost of including the surrounding text and vector artwork.

Keep the original PDF on your Mac until you have confirmed the downloaded picture is the asset you wanted. Temporary download URLs are released when you choose another file or leave the tool, so saving the file to your Downloads folder as soon as it appears is the safest habit.

If you're weighing options, Extract Pages from PDF Explained: Order and Rules covers this in detail.