A PDF stores photographs, logos, and scans as discrete image objects inside the document, and a browser-based extractor can pull those objects out as separate JPG or PNG downloads without rasterizing the page or uploading the file to a server. Photoshop is the first tool many people try because it opens a PDF natively, but it flattens every page into a single raster layer by default, which means the original JPG payload inside the PDF is lost the moment you click OK in the import dialog. The Extract Images from PDF tool does something different: it walks the PDF's internal object table, finds the bounded image streams, and hands you the ones it can decode safely as standalone files. For embedded JPEGs (the DCTDecode stream type defined in the PDF specification), the tool returns the original JPEG bytes unchanged, so quality stays intact and the file matches what the document's author originally placed inside the PDF.
The remainder of this guide explains why Photoshop's import dialog rarely gives you what you want, how the browser workflow works in three concrete steps, what the tool actually scans, where it draws the line on file size and complexity, and when a page-to-image converter is the better choice.

Why Photoshop Falls Short for Embedded Image Extraction
When you open a PDF in Photoshop, the application asks how to rasterize the document. The default behavior treats each page as a flat image at a chosen resolution, which is useful for editing page layouts but destructive to embedded assets. A photograph that was stored as a 2 MB JPG inside the PDF becomes a recompressed layer sized to the page box, not the original image dimensions. Vector text turns into pixels. Soft masks, color profiles, and metadata tied to the embedded object are stripped during import.
The second problem is that the Photoshop workflow assumes you have a paid license, several hundred megabytes of disk space, and time to wait for the importer to render high-resolution previews. A single multipage report can balloon into a multi-gigabyte PSD file before you copy anything out of it. The third problem is upload behavior: many Photoshop alternatives and online PDF converters send the document to a remote server for processing, which is a hard line for confidential drafts, medical or legal documents, and any file covered by a data-handling agreement.
Photoshop also cannot reach image objects that are reused across pages through indirect references without rendering every page that references them. The browser extractor inspects the object table once, deduplicates repeated assets, and only exposes the stored image bytes for download, so one shared logo does not appear three times in the results panel.
How to Pull Embedded Images From a PDF Locally
The Extract Images from PDF tool runs entirely in the current browser tab. No file leaves your device, no account is required, and the original PDF is never sent to a server. The steps below cover the full workflow from choosing a file to verifying each download.
- Choose one local PDF up to 25 MB using the file picker. Larger documents are rejected before the tool allocates any output buffer, so check the file size if your PDF includes high-resolution scans.
- Select Extract images to scan the PDF for bounded embedded image objects. The tool enumerates indirect image XObjects using pdf-lib and reads each candidate's raw stream bytes locally.
- Review the format and dimensions listed for each detected image. Supported entries appear with their original pixel size and either a JPG or PNG label.
- Download each supported JPG or PNG using its individual download link. Embedded JPEGs come out as the original stored bytes; FlateDecode RGB and grayscale images are exported as PNGs because the raw stream is not a standalone file format on its own.
- Inspect the downloaded files against the source PDF before you reuse them. Open each one and confirm it matches the asset you expected to recover.
Temporary download URLs are released as soon as you select another file or close the tab, so save anything you need before navigating away.
What the Tool Actually Scans
PDF image storage has many legitimate variations, and the extractor is explicit about the cases it can handle. Two formats are supported, and understanding the difference matters if you are debugging a missing download.
The first supported case is DCTDecode, the PDF specification's name for an embedded JPEG stream. The tool keeps those bytes as JPEG data rather than rendering and recompressing them, which preserves the document's stored image payload bit for bit. If the original asset was a high-quality photograph, the downloaded JPG is identical to what the PDF author placed inside the document, including any EXIF metadata carried in the JPEG stream.
The second supported case is a simple FlateDecode image using 8-bit DeviceRGB or DeviceGray color. The browser inflates the bounded raw pixel stream using a local DecompressionStream, places the pixels on a canvas, and encodes a PNG for download. PNG is used here because a raw Flate image stream is not a file format that normal applications can open directly. Predictors, masks, indexed palettes, CMYK color, and chained filters are deliberately skipped. For more on the underlying object model, the pdf-lib project's PDFRawStream source documents how raw stream bytes are exposed before any decoding step.
Unsupported Encodings and How They Are Handled
JPEG 2000 (JPX), JBIG2, LZW, indexed palettes, CMYK color spaces, soft masks, image masks, predictors, and multi-filter chains are all common in real-world PDFs. The extractor skips these objects and reports the skip instead of decoding them with the wrong colors or returning a damaged file. A repeated indirect image reference is only inspected once, so one stored asset does not become a confusing set of duplicate downloads in the result list.
Safety Limits Worth Knowing
Before the tool allocates any output buffer, it applies a set of bounds designed to keep a runaway PDF from exhausting browser memory. Knowing these limits helps you decide whether a given document is a fit or whether you need a different approach.
| Limit | Value |
|---|---|
| PDF file size | Up to 25 MB |
| Maximum image dimension | 12,000 pixels per side |
| Maximum pixels per image | 40 megapixels |
| Total pixel budget | 100 megapixels across all images |
| Decoded Flate data cap | 100 MB |
A password-protected, malformed, or unusually complex PDF can still fail even when it fits inside these limits. The tool does not bypass encryption, repair a broken file, validate a digital signature, or make any claim about whether the source document is trustworthy.
Embedded Image Extraction vs. Full Page Conversion
It helps to separate two tasks that look similar but produce very different output.
| Task | What you get | Best fit |
|---|---|---|
| Extract embedded images | The original JPG or PNG bytes stored inside the PDF, deduplicated | Recovering a photo, logo, scan, or graphic placed in the document by its author |
| Convert a page to PNG or JPG | A raster snapshot of everything visible on the page, including text and vector artwork | Sharing the page as a picture, embedding a page in a slide, printing a visual record |
If you need the page itself, including text and vector elements rendered into pixels, use PDF to PNG or PDF to JPG Converter. If you need a specific asset that was placed inside the PDF and you want it without the surrounding page, the embedded extractor is the right tool. Readers who want a deeper walkthrough of the same workflow can also read the guide on how to extract images from a PDF document locally.
Verifying the Extracted Files
Downloads are not the end of the workflow. Open each file and compare it against the source PDF at the same zoom level. Check the pixel dimensions against what the tool reported, scan for color drift on photographs, and confirm that logos are sharp rather than blurred. If a download looks wrong, the asset is probably in a skipped encoding rather than a broken file, which is a useful signal that you should try a different approach for that specific image.
Keep the original PDF alongside the extracted files until you have confirmed the downloads are usable. Temporary download links expire as soon as you choose another file or close the tab, so do not rely on the browser session to keep copies for you.