Extract Images
Pull embedded images out of a PDF as lossless PNG files, locally in your browser. Your files never leave your device.
Extract Images scans every page for embedded image objects and re-encodes each decoded bitmap as a lossless PNG. PDF.js exposes decoded pixels rather than the original JPEG or PNG byte stream, so the output is visually identical to the embedded image but not byte-identical to its source. One image downloads directly; multiple images are packaged into a ZIP — all locally in your browser.
How it works
How to use Extract Images
- 1Drop your PDF. Drag and drop a PDF, or choose one from your device.
- 2Choose a page range. Scan all pages or limit extraction to a range such as 1,3,5-7.
- 3Run Extract Images. PDF.js walks each page's image objects locally and re-encodes the decoded bitmap as PNG.
- 4Download the images. A single image downloads on its own; multiple images arrive as a ZIP archive.
Features
What this tool does
- Finds embedded images across all pages or a selected range
- Lossless PNG output from the decoded bitmap
- Single-image download or multi-image ZIP
- No upload — images never leave your device
Limitations
Things to know
- Output PNGs are re-encoded from decoded pixels, not the original JPEG/PNG bytes
- Images drawn as vector art or page backgrounds may not be detected as image objects
- Very image-heavy PDFs need more memory and take longer to scan
- Encrypted PDFs must be unlocked before extraction
FAQ
Frequently asked questions
Will I get the original JPEG files back?
No. PDF.js exposes the decoded bitmap, not the original encoded stream, so the tool re-encodes it as a PNG. The image looks the same but is not byte-identical to the embedded source.
Why are some images missing?
The tool extracts embedded image objects. Vector shapes, gradients, and images composited into the page background are not separate image objects and are not extracted.
Can I extract from only some pages?
Yes. Enter a page range such as 2-10 or 1,4,7; leave the field empty to scan every page.
Are my images uploaded?
No. Extraction and PNG encoding happen in your browser. No image, page or file name is sent to a server.