Convert images to PDF

Build one PDF from photos or scans, one image per page

The tool loads here. It needs JavaScript, because the work happens on your device.

Your files and your privacy

Your photos are never uploaded. They are decoded by your own browser, assembled into a PDF by a Web Worker on your device, and handed back as a download. The page’s Content-Security-Policy restricts connect-src to this origin, so the browser would block an upload even if the code attempted one.

What this tool does

Turn a set of pictures into a single PDF without uploading them. Each image becomes one page, either exactly the size of the image or fitted onto A4 or US Letter, and the file is written in this browser tab.

Each image becomes one page of a new PDF, in the order the files were added. With “Match each image” the page is made exactly the size of the picture plus any margin, so there are no white borders but the document ends up with mixed page sizes. Choosing A4 or US Letter instead puts every picture on a uniform sheet, scaled down to fit inside the margins and centred — the whole image stays visible and is never cropped. JPEG and PNG files are embedded exactly as they are, with no re-encoding.

How to use it

  1. Select Choose images and pick your pictures. Add more in a second batch if you need to; new files are appended to the end of the list.
  2. Check the list. Files are used top to bottom, and a file added by mistake can be removed with the ✕ beside it.
  3. Choose a page size: Match each image, or A4 or US Letter in portrait or landscape.
  4. Set a margin in points if you want white space around each picture; 0 means the image reaches the page edge.
  5. Select Run, then Download. The result note says whether any image had to be converted or reduced in size along the way.

Example use cases

Supported input and output

Accepts

Produces

What this tool will not do

Common mistakes

Technical notes

Files are checked by signature rather than by extension, so a mislabelled file is caught before anything is decoded. PNG and JPEG bytes go straight to pdf-lib’s embedPng and embedJpg with no re-encoding. Everything else is decoded with the browser’s own createImageBitmap, drawn onto a canvas whose size is first clamped to a per-device pixel budget, and re-encoded as PNG — which is why format support follows what your operating system can decode. The assembled document is written by pdf-lib inside a Web Worker, so a large batch does not block the page, and each bitmap is closed as soon as it has been drawn.

Frequently asked questions

Do my photos lose quality?
JPEG and PNG files are embedded exactly as they are, with no re-encoding. Only pictures in other formats are converted, and only images too large for the device’s memory budget are reduced — and the result note tells you when either happened.
Why were my iPhone photos rejected?
iPhones save HEIC, which a PDF cannot hold, so the browser has to decode it first. That works on devices whose operating system supports HEIC. On other platforms, set the camera to “Most Compatible” to capture JPEG, or convert the files before adding them.
How do I control the page order?
Images are used in the order they appear in the list, which is the order the picker supplied and then any batches you added afterwards. Rename the files so they sort the way you want, or add them in separate batches in the order you need.
What does the margin setting do?
It adds white space in points around each picture. With Match each image the page grows by the margin on all four sides; with A4 or US Letter the picture is fitted inside the sheet minus the margin, keeping its proportions.
Can I put two images on one page?
No. This builds one page per image. Combine the pictures into a single image first if you need them side by side, then add that.