Skip to main content
PPDF123

Add an Image to a PDF

Add Image places a PNG, JPEG or SVG picture on a PDF at the x and y position you give, in points from the lower-left corner. It stamps the first page only unless you choose every page.

Drag and drop files here, or click to choose

Accepts PDF · up to 500.0 MB per file · up to 20 files at once

You can also paste a file with Ctrl/Cmd+V, or from the clipboard menu.

Add Image overlays `imageFile` at `(x,y)` in PDF points (origin lower-left). Raster files become a Flate XObject. SVG is printed through WeasyPrint then imported as a Form. `everyPage=true` stamps all pages; otherwise only the first page.

The download is named `overlayed_{base}.pdf`. Password-protected files are unlocked for you on this page once you enter the password; API callers run Unlock first.

There is no scale field; size is the image's native width/height in the `cm` matrix. Opacity is not a parameter.

For a text mark use Add Stamp. For another PDF as the layer, Overlay PDFs.

Features

  • Raster XObject or SVG-via-WeasyPrint Form
  • `x`,`y` in points; first page or every page
  • No opacity or scale control
  • Anonymous API at /api/v1/misc/add-image

When to use this tool

  • Place a PNG logo on page 1
  • Repeat a mark on every page at a fixed point
  • Drop an SVG through WeasyPrint when you accept print fidelity

How do I add an image to a PDF?

  1. Upload a PDF and an image (PNG, JPEG, or SVG).
  2. Set x and y from the lower-left, in points.
  3. Choose first page only or every page.
  4. Download overlayed_*.pdf and check the anchor.

Limits and edge cases

  • No scale/opacity fields
  • Giant rasters become giant PDF placements
  • Transparent PNG areas are not preserved: images are converted to RGB, so transparent pixels take the colour stored under them, often black
  • Password-protected files need the password; API callers run Unlock first
  • Upload limit on this website: 500 MB per file, sent in chunks above about 95 MB. A single direct API request body is capped at 100 MB.

Examples

  • x=0 y=0 puts the image's lower-left at the page's lower-left
  • everyPage false leaves pages 2+ unchanged

Privacy for this tool

Files are uploaded over HTTPS, processed in memory or a short-lived temporary directory on our servers, and deleted when your result is ready. We do not keep copies for later browsing, training, or advertising profiles. See the Privacy Policy for retention details and AdSense cookie disclosures.

Frequently asked questions

Why is the logo huge?
The cm matrix uses the image's pixel width and height as PDF units. A 2000px PNG is 2000 points wide.
Is y from the top?
No. PDF space is lower-left origin on typical pages.
Can I set opacity?
No. The overlay is opaque drawing operators.
Does SVG keep vectors?
SVG is WeasyPrint-printed to a one-page PDF, then placed as a form. Expect a print, not editable SVG.

Last updated:

Call this from code

Every tool on this site is a plain REST endpoint - no account or API key needed for anonymous use. Built for AI agents and developers as much as for browsers.

curl -X POST "https://pdf123.xyz/api/v1/misc/add-image" \
  -F "[email protected]" \
  -F "[email protected]" \
  -F "x=0" \
  -F "y=0" \
  -F "everyPage=false" \
  -o output.pdf

Also available as an MCP tool for agent clients that speak Model Context Protocol (JSON-RPC 2.0 over POST /mcp). Full API reference

Use it from an AI agent

Skill

Claude Code, Codex, Cursor and other AI agents can run Add image for you with this skill: /skills/pdf123-add-image.md

All agent skills

Files are used only for this processing job and deleted automatically afterward.