A PDF stores each placed photograph or scan as its own image object that the page drawing command references by name. To make an image disappear visually you can either remove the reference (which often breaks the page) or replace the underlying image stream with something harmless while keeping the reference intact. The Remove Images from PDF tool takes the second route: it locates every eligible embedded image object, swaps its stream for a 1×1 white JPEG, and leaves the page geometry, text layer, links, and vector content untouched. Because the reference still points at a valid image object, the result opens normally in any PDF viewer. The catch is that the tool is strict about what counts as "eligible": if your PDF contains even one image that uses a mask, an indexed color palette, CMYK, JPXDecode, JBIG2, or LZW compression, the whole job is refused rather than silently leaving that image behind.

What "deleting an image from a PDF" actually changes in the file
A PDF page is essentially a list of drawing commands plus a resource dictionary that names the image objects those commands refer to. If you delete a name from the resource dictionary but leave the drawing command in place, many viewers either refuse to open the file or render the page as damaged. The safer approach, used by the Remove Images from PDF tool, is to keep the name in the resource dictionary and the drawing command on the page, but replace the actual image stream, the bytes that describe the pixels, with a tiny white JPEG. The page still draws something (a single white pixel stretched to the original image's box) and the document opens cleanly. The original image payload is no longer used for the visible page, which is what most readers actually want when they ask how to delete images from a PDF file.
The implementation follows the image XObject model described in the Adobe PDF Reference and rewrites each stream as a PDFRawStream in pdf-lib before saving the file locally. The result is a regular PDF that any reader can open, with the original eligible images gone from the visible page and the rest of the document structure untouched.
Which embedded images the tool will remove
The eligibility rules are deliberately narrow so the result is always safe to open. An image qualifies only when all of the following are true at the same time:
- The image is stored as a DCTDecode stream, which is the standard JPEG encoding used by cameras, phones, and most scanners.
- The color space is DeviceRGB or DeviceGray, with no indexed palette, no CMYK, and no ICCBased profile.
- The stream has no DecodeParms, no explicit mask, no soft mask, and no alternate image.
- It is referenced as an indirect image XObject, not as an inline image placed directly inside the page content stream.
If every image in your PDF satisfies all four conditions, the tool will produce an output. The page count, the text layer, the bookmarks, and any external or internal links stay where they were, because the tool only rewrites the image stream itself. The table below summarizes how each common image type is handled:
| Image type | Removed by the tool? | Reason |
|---|---|---|
| Plain DeviceRGB JPEG photograph | Yes | Matches all four eligibility rules |
| DeviceGray JPEG scan | Yes | Matches all four eligibility rules |
| CMYK JPEG from a press workflow | No | Color space is not DeviceRGB or DeviceGray |
| Indexed-palette logo | No | Uses an indexed color space |
| Masked or soft-masked image | No | Has DecodeParms or a mask reference |
| JPXDecode (JPEG 2000) image | No | Filter is not DCTDecode |
| JBIG2 image, often fax-derived | No | Filter is not DCTDecode |
| Inline image inside the content stream | No | Not an indirect XObject |
How to delete images from a PDF file using the tool
This is the practical workflow that produces a cleaned local copy without uploading anything:
- Open the Remove Images from PDF page in your browser and confirm the file you want to edit is saved on your device and is no larger than 25 MB.
- Use the file picker to choose one local PDF. The file is read in your browser; nothing is uploaded to a server.
- Click Remove eligible images. The tool enumerates every indirect image object in the document and runs the strict compatibility check described above.
- Wait for the on-screen confirmation. If every image passes, the tool generates the 1×1 white JPEG replacement, rewrites each image stream, and verifies the page count and image-object count by reopening the document with pdf-lib and the PDF.js viewer library.
- Open the preview in your browser's PDF viewer and visually inspect every page. Confirm that the photographs, scans, logos, or backgrounds you wanted gone are now white, and that the text layer and links still work as expected.
- Click the download button to save the new PDF. Only download after the visual check has passed, because the tool exposes the download only once its own structural verification has succeeded.
Why the tool sometimes refuses a perfectly normal-looking PDF
The most common reason for a refusal is a single image that uses a feature outside the supported list. Logos exported as transparent PNGs and re-saved into a PDF often carry a soft mask; CMYK press PDFs always have at least one CMYK image; scanned archives saved as PDF/A frequently use JPEG 2000; fax-derived documents often store their content as JBIG2. None of these are unusual for a real-world document, but they fall outside the supported scope. The refusal is communicated through a clear on-screen message rather than as a silent partial download, because a partial file would be worse than no file at all: the download button would suggest a clean result while a complex image was still drawn on the page. When the refusal happens, your realistic options are to simplify the source PDF in a desktop tool and try again, render the affected pages to images with the PDF to JPG tool and rebuild the document from those, or accept that the specific image you care about cannot be removed safely by this version.
Inspecting the output before you rely on it
The tool performs two structural checks before it offers the download: it confirms that the output PDF has the same number of pages as the input, and it confirms that the expected number of image objects still exist as valid 1×1 white JPEGs. These safeguards catch the most common breakage cases but they are not a substitute for reading the result. Before you trust the new file for any serious use, open it in your usual PDF reader and do all of the following:
- Scroll through every page, not just the first one. An image you care about can sit deep in the document, and the all-or-nothing rule only confirms that every image was processed, not that every image was the one you wanted gone.
- Try selecting text. Text selection should still work, because the tool does not rasterize whole pages and does not touch the text drawing commands.
- Click any links you depend on. Internal GoTo links and external URL annotations are preserved because the page resources are not deleted, only the underlying image stream is rewritten.
- Compare the file size. A document with many large photographs will shrink noticeably once those streams are replaced, which is a quick sanity check that the cleanup actually happened.
If the result looks wrong, do not overwrite the original. Keep the source PDF and the cleaned copy side by side until you have finished reviewing.
When this tool is the wrong choice
A white replacement is not the same as a true redaction. The tool's purpose is to clean up a document where a placeholder image is acceptable, not to hide information from a forensic reader. In a sensitive workflow, retained document metadata, the original image history stored elsewhere in the file, and any page content layered over the white box can still leak details. The output is not certified as redacted, the tool does not remove a digital signature, and it does not bypass a password. For legal, security, or privacy-grade removal, use a dedicated redaction workflow and keep a full audit trail.
For the opposite task, exporting the images rather than removing them, the Extract Images from PDF tool produces a local archive of the embedded JPEGs and is a natural companion when you want to decide per image whether to keep or drop each picture. The two tools read the same kind of input but produce opposite outputs, so you can run them in either order depending on your goal.
Putting it together
For a typical scanned report, brochure, or slide deck that mixes text with a few large photographs, the workflow above produces a useful cleaned copy in one pass, with no upload, no account, and no watermark. For documents that mix simple JPEGs with logos, masks, or CMYK press assets, the strict eligibility check will refuse the job, which is the correct behavior: it tells you, before you download anything, that a partial cleanup would have been misleading. In both cases the source PDF stays on your device, the choice of what to do with each image stays with you, and the result is a normal PDF that opens in any reader.