Removing a picture from a PDF in your browser means swapping each eligible embedded JPG image object for a 1×1 white JPEG while keeping every page drawing command and resource reference intact, so the rest of the document — text, links, page geometry, and non-image vector content — survives untouched.

A picture embedded in a PDF is not a flat layer you can grab and discard with a crop tool. Each photograph or scan is an indirect object called an image XObject, addressed by name in the page's resource dictionary and drawn onto the page by a short command inside the content stream. Delete the object without fixing the references and the file becomes damaged; the page will refuse to render, or the viewer will report a missing resource. The browser-based Remove Images from PDF tool works around that risk by keeping every reference valid and replacing only the image data, so the resulting file still looks like a normal PDF on every page. No upload is involved at any stage of the process, which keeps the original document inside the user's computer until the modified copy is downloaded for the first time.

how to remove a picture from a pdf
how to remove a picture from a pdf

What "Removing a Picture" Actually Means in a PDF

The wording "remove a picture" is loose. In practice, a typical PDF can hold several kinds of visual content, and they live in different places inside the file:

  • Embedded raster images — JPG, PNG, and other compressed photo data stored as indirect image XObjects and drawn onto pages by name. These are what this tool targets.
  • Vector graphics — shapes, lines, logos, and charts drawn with PDF path operators. They are not images at all and cannot be removed by an image-only tool.
  • Text rendered as glyphs — selectable text drawn by font commands, not by image commands. Removing an image never affects this layer.
  • Page backgrounds and annotations — full-page colour washes, sticky notes, and form widgets live in separate dictionaries and are not part of the image stream.

When a PDF was assembled by scanning pages, the scanner usually embeds one large JPEG per page. When a PDF was exported from Word, InDesign, or a slide tool, it can mix smaller JPEGs with vector illustrations. The tool handles the first case cleanly, and the second case only when every embedded image happens to match its supported encoding.

Why the Tool Keeps Every Resource Reference

The naïve fix is to strip every image object out of the resource dictionary and hope for the best. That hope is misplaced. Most page content streams contain a command such as /Im1 Do that calls an image by name. If the corresponding entry has been removed from the page's resources, the command points to nothing, and PDF viewers display a broken-page error rather than a clean white rectangle.

The implementation here takes the safer route described in the PDF specification for image dictionaries. It keeps the original indirect object reference and replaces its image stream with a valid 1×1 white JPEG. The page drawing command and its resource reference stay valid, while the original eligible image payload is no longer used for the visible page. The page looks blank where the picture used to be, and the rest of the document remains a normal, openable file. The technique is built on pdf-lib's PDFRawStream handling, which lets the tool reassign the stream bytes of an existing indirect object without changing its identity in the resource table.

How to Remove a Picture From a PDF Step by Step

The whole task runs in your browser. Your file is never uploaded to a server, and nothing leaves your device until you choose to download the new PDF.

  1. Open the tool and pick one PDF from your computer. The file must be under 25 MB and must not be encrypted. Select the document you want to strip.
  2. Run the all-or-nothing compatibility check. Click the action that triggers the removal. The tool walks through every embedded image object and inspects its filter, colour space, and decoding parameters. It refuses the entire job if even one image fails the rules.
  3. Wait for the structural verification. After the replacements are written, the tool saves the new PDF in the browser, opens it with pdf-lib, and reopens it with the same PDF.js rendering pipeline used by the site's other conversion tools. It checks that the page count is unchanged and that the replacement image objects still exist.
  4. Inspect the new PDF before you download. Open the preview and walk every page. Look for any picture you expected to be gone but is still showing, and for any text or vector content that has been lost.
  5. Download the modified PDF only if the preview is acceptable. If anything is wrong, close the preview and start over with the original file. The tool never overwrites the source.

A more detailed walk-through of the local-processing pipeline lives in the companion guide how to delete images from a PDF file locally, which covers the same workflow from a desktop perspective and explains the verification loop in more detail.

When the Tool Will Refuse Your File

The compatibility check is deliberately narrow. A PDF is accepted only when every embedded image object is an unmasked 8-bit DCTDecode JPEG using DeviceRGB or DeviceGray, with no DecodeParms. In plain language, that means:

  • Accepted: photos and scans stored as plain RGB or grayscale JPEGs.
  • Refused: files that include any CMYK JPEG, any image with an indexed palette, any image using JPXDecode, JBIG2Decode, or LZWDecode, any image with a soft mask, or any image that uses DecodeParms to remap colour channels.
  • Also refused: encrypted PDFs, password-protected PDFs, signed PDFs, malformed files, and anything the parser cannot open cleanly.

The all-or-nothing rule exists to avoid silent partial results. Without it, the download button could claim that all pictures were removed while a complex image sat untouched in the page. Refusing the whole file is the honest behaviour. If your PDF is refused, your options are to export a simpler copy from the original authoring tool, rasterize only the eligible pages through a tool like PDF to JPG, or pick a different workflow designed for the unsupported image type.

What Stays and What Changes

It helps to see, side by side, what the tool touches and what it leaves alone in a typical accepted PDF.

Document element What happens when removal succeeds
Eligible embedded JPG image objects Replaced by a 1×1 white JPEG; resource reference stays valid
Text drawn with font commands Unchanged and still selectable
Internal and external link annotations Unchanged where the source PDF supports them
Vector paths, lines, and shapes Unchanged
Page size, margins, and page geometry Unchanged
Document metadata (title, author, dates) Carried over from the source PDF
Any image using a non-supported encoding Whole job refused; no output file is saved

The page itself is never rasterized to flatten the image away. That is what keeps text and links intact across the rest of the document and is the main reason a white-pixel result can still be useful for everyday cleanup tasks.

When White Pixels Aren't Enough

A white replacement is visual, not forensic. It is the right choice when you simply want to clean up a draft, remove decorative photographs from a report, or blank out a header banner before redistribution. It is not the right choice when:

  • You need legal-grade redaction — the original image data may still exist in document metadata, incremental update history, or hidden layers.
  • You need to remove CMYK press-ready artwork or any image using a non-DCTDecode filter.
  • You need to remove content that is drawn with vector operators rather than as image objects.
  • You need to blank out an area that is partially covered by other page content drawn on top of the image.

For those cases, keep the source document untouched, use a dedicated redaction tool, and verify the result with a viewer that exposes hidden content. For everything else — a quick, browser-based cleanup of one PDF where a white rectangle is an acceptable substitute for the original picture — Remove Images from PDF handles the common, simple case without uploading your file anywhere.