Loading
Loading tool
The tool is loaded only when you open it.
All processing for this tool happens in your browser. Your input is not sent to a server.
About this tool
List unique indirect image XObjects in a local PDF, review supported image previews and dimensions, and export original JPEG bytes or decoded PNG images with a manifest in ZIP. Masks and unsupported objects are listed separately.
Common uses
- Extract source raster resources without rendering whole pages.
- Inspect duplicate resources, masks and unsupported profiles.
How to use it
- 1.Choose one PDF, or load the local example, then extract images.
- 2.Review each unique object, dimensions, decoded preview or explicit skip reason. Masks and unsupported objects are not exported.
- 3.Download the ZIP after all eligible images decode. It contains original JPEG or decoded PNG files plus manifest.json.
Executed local examples
Unique resources with explicit exclusions
Load the one-page example: an 8×6 RGB image used twice, an 8×6 grayscale resource, a stencil mask and CMYK resource.
Four unique objects; two decoded PNG files (8×6), one mask and one unsupported CMYK. ZIP contains both PNG files and manifest.json.
Corrupt supported samples reject
An 8-bit DeviceGray raw image declares 2×2 pixels but supplies three sample bytes.
Decode error; no previews or ZIP are published. Expected exact sample count is four.
Limits and notes
- One PDF: 10 MiB, 1–20 pages, 100 image objects. Each supported image: edge 4096px and 1048576 pixels; combined 8388608 pixels. Each export 4 MiB, all exports 24 MiB; ZIP 32 MiB, manifest 64 KiB. Previews: edge 512px, each PNG 2 MiB, total 24 MiB. Reading, extraction and preview each have a cancellable 30-second deadline. Reused PDF graph limits: 10000 objects, 50000 visits, 32 direct levels; parser and native decoder memory are not fully bounded.
- Supports 8-bit DeviceRGB/DeviceGray with default or identity Decode: unfiltered samples, single FlateDecode with predictor 1, 2 or 10–15, and structurally supported baseline/progressive JPEG with 1 or 3 components and no DecodeParms. PNG keeps the supported sample values; JPEG keeps original bytes and metadata. All eligible images must actually decode before preview/ZIP publication. Previews ignore JPEG EXIF orientation and may be reduced to 512px; exported JPEG metadata may affect other viewers. Color management and PDF DecodeParms, masks, page transforms or compositing can change appearance. Stencil/soft/explicit masks, masked images, CMYK/ICC/indexed color, other depths/filters/parameters and nonidentity Decode are not exported. Unique indirect objects include unused resources; repeated references appear once. Inline images, page renders, object placement and page-use association are outside coverage. This is not a guarantee that every visible page picture is extracted or that an extracted image looks identical to a PDF page.
- Encrypted PDFs, all AcroForm/XFA forms, signatures/permissions, unsafe actions/JavaScript and unsupported page geometry/UserUnit reject. Ordinary URI/GoTo links are never followed. External image streams are not fetched. ZIP uses generated numeric image names plus manifest.json, never original filenames or paths. Decoder errors and limit failures publish no ZIP. Changing file, language, clearing, cancelling or leaving revokes prior previews and archive. No upload or input persistence; the original PDF is unchanged. Extracted JPEG metadata and unused image resources can still contain information; extraction is not anonymization.
- Raw or Flate RGB/gray PNG exports preserve supported samples. The smaller preview is not the exported image, and native JPEG preview/color handling may differ from PDF appearance.
- Corrupt supported streams, excess decoded data, failed native decode or archive limits reject the whole batch. Unsupported profiles are explicitly skipped before decoding.
Frequently asked questions
Does this extract every visible picture?
No. It lists unique indirect image XObjects, including unused resources. Inline images, transforms, page-use association and composite page appearance are outside coverage.
Are masks or CMYK exported?
No. These and other unsupported profiles have explicit reasons; their image data is not represented as an ordinary supported image.
Is original JPEG metadata removed?
No. Supported JPEG bytes are copied unchanged, including metadata. PNG exports keep supported decoded samples. This does not anonymize a PDF.