Extract Images From a PDF
Extracting images from a PDF pulls out the actual picture files embedded in the document — at the resolution they were stored at, not the size they appear on the page. This tool scans the PDF's image XObjects in your browser and saves each one, without uploading the file or re-shooting pages as screenshots. It only finds raster images: artwork drawn as vector paths is not an embedded picture, so a vector-only PDF can legitimately yield no results.
How it works
Pictures in a PDF live in the file as image XObjects: self-contained streams of compressed pixel data listed in each page's resource dictionary and painted onto the page by a Do operator in the content stream. Crucially, the stored image and its displayed size are independent — the content stream scales the XObject to fit a layout box, but the stream itself keeps every pixel it was embedded with. Extraction reads those streams directly, which is why it can recover a 4000-pixel-wide photo from a figure that occupies five centimeters on the page.
The tool walks every page, collects the image XObjects it references, and inspects each stream's compression filter. Streams compressed with DCTDecode are already complete JPEG files inside the PDF, so their bytes are saved out as .jpg with zero recompression. Streams using other filters — FlateDecode for lossless data, CCITTFaxDecode for bilevel scans, JBIG2Decode for compact black-and-white document images — are decoded to raw pixels and written as PNG so the decode is the last lossless step. Duplicate references are de-duplicated: a logo painted on all 30 pages is stored once in the file and extracted once.
The important limitation is what counts as an image. Vector graphics — charts drawn with path operators, logos made of Bézier curves, tables built from ruled lines, and all ordinary text — are drawing instructions, not pixel data. They have no XObject to extract, so this tool will correctly report that a vector-only PDF (a typical text report with native charts, for example) contains no images. If you need those graphics as pictures, the right operation is rasterization: render the page with the PDF to Images tool and crop what you need.
Worked example: a 24-page brochure
Input: a 24-page property brochure, 18.2 MB. The tool found 41 image XObjects: 38 photos stored as JPEG (recovered as .jpg files between 180 KB and 2.4 MB, most at 2500×1667 pixels despite appearing as small thumbnails in the layout) and 3 Flate-compressed images saved as PNG, including the 900×280-pixel agency logo, which appeared on every page but was extracted exactly once. Total output: 41 files, 16.9 MB, in roughly six seconds — about 93% of the PDF's bulk turned out to be its pictures.
A contrasting run shows the limitation honestly: a 14-page financial report, 640 KB, containing eleven charts — all drawn as vector paths by the reporting software. The tool found 0 embedded images, which is the correct answer for that file, not a failure. Rendering those pages at 2× scale with the PDF-to-images tool and cropping the charts was the working alternative.
Frequently asked questions
Why does the tool say no images were found in my PDF?
The tool only finds raster images stored as image XObjects. Charts, logos, and diagrams drawn as vector paths are not images in the file, so a vector-only PDF genuinely contains zero extractable pictures. To capture vector artwork, render the page with a PDF-to-images tool instead.
What resolution are the extracted images?
You get each image at the pixel dimensions it was embedded with, which is often larger than it appears on the page. A photo placed into a small figure box may still be stored at its full 4000-pixel camera width.
Is extracting images better than taking screenshots of the PDF?
Yes, when the picture exists as an embedded image: extraction recovers the stored pixels directly, while a screenshot is limited to your screen resolution and re-encodes the result. Screenshots only win for vector graphics, which have no stored pixels to extract.
What image formats do I get out of the extraction?
JPEG-compressed streams are saved as standard JPG files. Images stored with other PDF filters, such as Flate or CCITT fax compression, are decoded and saved as PNG so nothing further is lost.
Can I extract images from a scanned PDF?
Yes — a scanned PDF is usually the ideal case, because each page is one big embedded image. Extraction gives you the original scan files back at their full scanned resolution, one image per page.
Does image extraction upload my PDF to a server?
No. The document is parsed by JavaScript in your browser and each image is decoded and downloaded on your own device. The PDF never leaves your computer.