Exporting images from a PDF to JPG means pulling the original JPEG bytes that are embedded inside the document, not taking a screenshot of the PDF page. Most PDFs that include photographs, logos, or scans store those pictures as DCTDecode image objects — the PDF specification name for an embedded JPEG stream — and those bytes can be exported directly without re-encoding. A browser-based tool that scans the PDF locally and identifies DCTDecode objects can hand you the original JPG payload for download, so the image you save is the same compressed data the PDF already contained. The catch is that not every image in a PDF is a JPEG. Many are stored as FlateDecode raw pixel streams, JPXDecode (JPEG 2000), JBIG2, LZW, indexed palettes, or CMYK color, and those cannot be turned into a valid JPG by simply renaming the bytes. Knowing which case your image falls into determines whether you get a JPG, a PNG, or a skip report, and that is the main thing to understand before you start.

What "Export to JPG" Actually Means Inside a PDF
A PDF is a structured container: it describes pages, fonts, vector paths, and image objects in a defined format laid out in the Adobe PDF Reference. When a designer drops a photograph into a layout, the file can either embed the image as a stored JPEG (DCTDecode) or rasterize it into a raw pixel stream and compress that with the Flate algorithm. These two storage paths look identical in the rendered page, but they are completely different on disk.
If you need the JPG output specifically, only the first case — DCTDecode — gives it to you directly. The PDF's stored image data is a JPEG file. The browser tool just lifts those bytes, wraps them in a download container, and the result opens in any image viewer. No re-render, no recompression, no quality loss compared to what the document contained.
For the second case — FlateDecode — the stored data is a deflate-compressed pixel buffer, not a JPEG. A JPG cannot be produced from it without re-encoding, and the Extract Images from PDF tool chooses instead to inflate the raw pixels and write a PNG, because PNG is a real lossless container for those pixels. That decision keeps the image honest instead of pretending the raw stream was something it never was.
When a Browser-Based Export Fits the Task
This kind of local export is a good match when the image you want already lives in the PDF as a recognizable picture object: a product photo in a brochure, a scanned signature on a contract, a logo at the top of a report, a chart exported from another tool. You want the asset, not a pixelated photograph of the page that surrounds it.
It is also a good fit when the PDF contains confidential material you do not want to send to a server. The scan, decode, PNG encode, and download link creation all stay inside the current browser tab. The document never leaves the device, which matters for invoices, medical forms, internal reports, or any file where upload is a non-starter.
It is not the right fit when you actually need the whole visible page — text, headings, vector lines and all — saved as one picture. That is a different task that requires a page renderer.
How to Export PDF Images to JPG in Your Browser
- Open Extract Images from PDF in your browser and choose the local PDF you want to scan. The file must be 25 MB or smaller; anything larger is rejected before the tool allocates an output buffer.
- Click Extract images. The tool enumerates the indirect image XObjects inside the document using pdf-lib, the same library that powers the local scan, and lists the ones it can identify safely.
- For each DCTDecode object found, the original JPEG bytes are exported unchanged. For each simple 8-bit FlateDecode DeviceRGB or DeviceGray stream, the pixels are inflated through the browser's built-in DecompressionStream API and encoded into a PNG on a local canvas.
- Read the format and pixel dimensions shown next to each entry. If you only want JPGs, download the rows tagged JPG and skip the PNG ones.
- Click each download link to save the file to your computer. Temporary download URLs are released as soon as you choose another PDF or leave the tool.
- Open the saved JPG in any image viewer to confirm it matches the asset you expected.
JPG, PNG, or Skipped: What Happens to Each Image Type
PDF image storage has many legitimate variations, and the tool does not pretend they are interchangeable. The following table shows exactly what happens for each storage type the tool encounters during the scan:
| PDF storage type | What the tool does | Output format |
|---|---|---|
| DCTDecode | Exports the stored bytes untouched | JPG |
| FlateDecode, 8-bit DeviceRGB, no mask, no DecodeParms | Inflates raw pixels and encodes locally | PNG |
| FlateDecode, 8-bit DeviceGray, no mask, no DecodeParms | Inflates raw pixels and encodes locally | PNG |
| JPXDecode (JPEG 2000) | Skipped and reported | — |
| JBIG2 | Skipped and reported | — |
| LZW or chained filters | Skipped and reported | — |
| Indexed palette, CMYK, soft mask, image mask, predictor | Skipped and reported | — |
| Repeated indirect reference to the same image | Inspected once | One download |
If a page only contains text and vector paths, the result list will simply be empty for that part of the scan. The tool is looking for image objects, not page content.
Limits the Tool Enforces Before It Starts
Safety budgets are checked before the tool allocates a large output buffer, so a malicious or oversized PDF cannot exhaust your machine's memory. The fixed limits are:
| Limit | Value |
|---|---|
| PDF file size | Up to 25 MB |
| Maximum dimension per image | 12,000 pixels |
| Maximum megapixels per image | 40 MP |
| Total megapixels across all images | 100 MP |
| Decoded Flate image data cap | 100 MB |
| Candidate count | Bounded (exact number not user-configurable) |
If any image exceeds the per-image dimension, per-image megapixel, or total megapixel budget, the limit is enforced before an output buffer is allocated, so no truncated file is produced. The 25 MB PDF cap and the 100 MB decoded Flate cap work the same way.
What the Tool Will Not Do
It will not bypass PDF encryption, repair a malformed file, validate a digital signature, or make any claim about whether the source document is trustworthy. A password-protected or corrupted PDF will fail and the failure will be reported, not papered over. There is also no server fallback: if the browser cannot complete the decode for a given image, that image is skipped instead of being shipped to a remote endpoint.
This is also not a redaction tool. The exported JPG or PNG is the asset that was embedded in the document; metadata, hidden layers, and any sensitive content in the surrounding page remain in the original PDF. If the goal is to remove an image from the document rather than save a copy of it, the workflow is different.
Verify the Image You Got Back
Before relying on a downloaded JPG, open it and check three things: the pixel dimensions match what the tool reported, the file opens in your usual image viewer without errors, and the picture looks the way you remember it from the PDF. A DCTDecode export is the document's original payload, so a clean match is what you should see. For a PNG that came out of a FlateDecode stream, the colors should match the page exactly because no re-rendering happened — only the pixel buffer was inflated and rewrapped.
Keep the original PDF alongside the exported file until you have confirmed the asset is what you wanted. If the dimensions are off, the picture is blank, or the colors look wrong, the storage type is probably one the tool skipped — and that is a useful signal, not a bug. The same workflow is described in more depth in our guide on copying an image from a PDF without losing quality.
When a Page Converter Is the Better Choice
If the asset you need is the full visible page — text, headings, footer, vector arrows, the whole composition — then the right tool is a page renderer, not an image-object extractor. The PDF to JPG converter renders each page as a JPG snapshot at your chosen scale and quality, and the PDF to PNG tool does the same with lossless pixels. For a single tall image that stacks every page into one vertical PNG, the PDF to long image tool exists.
The decision is simple: when you want the picture that was placed in the PDF, use Extract Images from PDF. When you want a picture of the PDF page, use a page converter. Both run locally, both produce JPG or PNG output, but the inputs and the meaning of the result are different.
Related reading: JPG to PDF for Large Files Without Uploading.