Transparent WebP asset
- Input
- 860 byte lossless WebP at 420×260 with RGBA transparency around overlapping shapes.
- Output
- 7,843 byte PDF, one page, 315×195 points. The visible art was present, with transparency flattened for the page.
WebP to PDF places the decoded WebP still on one PDF page, which is useful for uploads but not for searchable text or animation.
From real runs
| Element | Result | What happens |
|---|---|---|
| Decoded still image | Kept | The 860 byte 420×260 RGBA WebP became one 7,843 byte PDF page in the API test. |
| Page dimensions | Changed | At default 96 dpi, the 420×260 image produced a 315×195 point PDF page. |
| Transparency | Lost | WebP alpha was flattened before PDF writing, using the configured background color rather than PDF transparency. |
| Animation | Lost | The image reader uses the first frame for animated sources, so WebP frame timing is not represented in the PDF. |
| Searchable text | Lost | Text inside a screenshot WebP remains pixels on the PDF page and cannot be selected without OCR. |
| WebP metadata | Changed | The generated PDF is focused on visible pixels; WebP chunks are not preserved as equivalent PDF metadata. |
The 860 byte 420×260 RGBA WebP became one 7,843 byte PDF page in the API test.
At default 96 dpi, the 420×260 image produced a 315×195 point PDF page.
WebP alpha was flattened before PDF writing, using the configured background color rather than PDF transparency.
The image reader uses the first frame for animated sources, so WebP frame timing is not represented in the PDF.
Text inside a screenshot WebP remains pixels on the PDF page and cannot be selected without OCR.
The generated PDF is focused on visible pixels; WebP chunks are not preserved as equivalent PDF metadata.
We converted our WebP sample (23 KB) with Image engine on 2026-10-20. It took 36 ms and produced a 32 KB PDF file, 1.4× larger than the input. The engine raised 1 warning, listed below.
Input · sample.webp · 23 KB
1200 × 800 px, extended VP8X
Output · sample.pdf · 32 KB
PDF 1.4, 1 page, no text layer, 1 image object
WebP screenshots and photographed documents become image-only PDF pages. Deep Read is the path when the receiving workflow needs selectable text, tables, or structured fields.
Pillow 11
from PIL import Image
im = Image.open("image.webp").convert("RGBA")
bg = Image.new("RGBA", im.size, "white")
bg.alpha_composite(im)
bg.convert("RGB").save("image.pdf", resolution=96)The PDF is image-only and uses one still frame; OCR and animation export require other tools.
The HTTP API and the MCP server run the exact engine this page uses (Image engine); the response carries the same warnings the web converter shows. Check support first with GET /api/v1/pairs?from=webp&to=pdf.
curl -X POST https://filetypeconverters.com/api/v1/convert \
-H "Authorization: Bearer $FTC_API_KEY" \
-F "file=@input.webp" -F "from=webp" -F "to=pdf" \
-F 'options={"dpi":96}' \
--output output.pdf| Key | Applies to | Type | Default |
|---|---|---|---|
| dpi | Reading WebP | number | 96 |
| width | Writing PDF | number | 0 |
| height | Writing PDF | number | 0 |
| fit | Writing PDF | contain · cover · fill | contain |
| quality | Writing PDF | number | 90 |
| background | Writing PDF | string | #ffffff |
| stripMetadata | Writing PDF | boolean | true |
No in the PDF output we tested. The RGBA WebP was flattened to a page image before our image engine wrote the PDF.
Our image engine maps pixels through the DPI setting. Our 420×260 WebP at 96 dpi became 4.375×2.708 inches, or 315×195 points.
No. The conversion places the screenshot as an image. Use OCR or Deep Read when the words need a text layer.