How to convert images to PDF
- Drop your images into the zone above, or click to browse. JPG, PNG, and WebP are all accepted.
- Drag rows to set the order they will appear in the PDF — the top image becomes page 1.
- Choose a page size: A4 or Letter centre each image on a standard page with a small margin. Original sizes each page exactly to the image dimensions.
- Click Create PDF. The file downloads instantly to your device.
Everything runs in your browser using pdf-lib.
No image is uploaded. Open DevTools (F12) → Network while converting to confirm zero upload requests.
When to convert images to PDF
- Submitting scanned documents — many portals, banks, and government services require PDF uploads. Scanning produces JPG or PNG files; this tool bundles them into the format you actually need.
- Sending a photo portfolio — a single PDF is easier to email, easier to print, and more professional than a folder of image files.
- Combining whiteboard photos from a meeting — stack multiple photos into a single document that can be shared, archived, and searched.
- Creating a photo book draft — rough out page order and sequence before handing off to a design tool.
- Packaging screenshots as a report — attach a sequence of screenshots as a single PDF rather than a chain of inline images.
- Converting iPhone screenshots to PDF for email — iOS exports screenshots as PNG; PDF is a more universally compatible format for formal correspondence.
How it works under the hood
pdf-lib is a JavaScript library that constructs PDF documents from scratch in the browser. For each image you add, it embeds the image data directly into the PDF's internal object structure — JPG bytes stay as JPG (no re-encoding), and PNG bytes stay as PNG. This means the embedded images are exactly as sharp as the originals.
WebP images are not natively supported by the PDF format, so the tool first draws the WebP to an off-screen HTML <canvas> and exports a lossless PNG, which pdf-lib then embeds. The visual result is identical to the source.
When you choose A4 or Letter, the tool auto-detects whether your image is portrait or landscape and rotates the page to match, then scales the image to fill the page with a small margin. When you choose Original, the page dimensions are set to the image's pixel width and height in points (1 point = 1/72 inch at 72 DPI effective). This preserves the image at exactly its native resolution.
Limits and what to expect
- HEIC (iPhone photos): HEIC is not supported directly. Use your phone's camera settings to export as JPG, or convert HEIC to JPG using our Convert Image tool (coming soon).
- File size: JPG and PNG bytes are embedded as-is, so the output PDF will be roughly the sum of the input image sizes plus a small PDF overhead. Ten 2 MB JPGs produce roughly a 20 MB PDF.
- Very large images: images above 20 MP may be slow to process and embed. Performance depends on your device's available RAM.
- Colour profiles: embedded ICC colour profiles in PNG files are preserved. JPG colour profiles are carried through without modification.
- Browser support: requires modern browser with WebAssembly. Chrome 90+, Firefox 90+, Safari 15+, Edge 90+.
Privacy: what happens to your images
Your images are read into browser memory using the File API and processed entirely in JavaScript. They are never sent to a server, never stored in any cloud, and never visible to anyone but you. The converted PDF is assembled in memory and downloaded directly — the data stays local from start to finish.
This is especially relevant for sensitive images: ID documents, medical scans, financial statements, personal photos. With upload-based tools you are trusting the provider's infrastructure and retention policy. With keptlocal the question does not arise.