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
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.
Check the list. Files are used top to bottom, and a file added by mistake can be removed
with the ✕ beside it.
Choose a page size: Match each image, or A4 or US Letter in portrait or landscape.
Set a margin in points if you want white space around each picture; 0 means the image
reaches the page edge.
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
Sending photographs of a passport, a utility bill and a signed form as one attachment
instead of three.
Turning phone photos of a whiteboard into a document a colleague can page through.
Assembling scanned receipts into a single file for an expense claim.
Building a print-ready handout from exported images, fitted to A4 so every sheet is the
same size.
Supported input and output
Accepts
PNG and JPEG, embedded directly, up to 30 MB each
WebP, AVIF, GIF, BMP, HEIC and HEIF, converted to PNG by your browser first
One or more files; there is no minimum of two
Produces
A single PDF named images.pdf, one page per image
What this tool will not do
The PDF format carries PNG and JPEG image data only. Anything else has to be decoded by
your browser and re-encoded as PNG before it can be embedded.
That conversion depends on your operating system. HEIC photos decode on Apple devices;
elsewhere the file is refused with an explanation rather than producing a blank page.
Very large pictures are reduced before embedding, because a 50-megapixel photo at full
size will exhaust the memory a mobile browser allows one tab. The result note says when
it happened.
An animated GIF contributes its first frame only.
The result is a picture of whatever was photographed. There is no OCR, so the text in a
scanned letter is not searchable in the PDF.
Images are used in the order they were added and can be removed but not reordered on
this page.
Margins are limited to 0-200 points, and 30 MB per image is the accepted maximum.
Common mistakes
Trusting the file picker’s order for photos named IMG_2, IMG_10, IMG_11. The order the
picker hands over is the order used, and it is usually alphabetical, which puts IMG_10
before IMG_2.
Adding a phone photo that relies on its EXIF orientation flag. A JPEG is embedded
exactly as stored and a PDF page has no equivalent flag, so a picture that looks upright
in a gallery can land sideways; re-save it upright, or fix the page afterwards with
Rotate PDF.
Choosing Match each image for something that will be printed. Every page is a different
size, and printers handle that badly; pick A4 or US Letter instead.
Expecting a searchable document. The words in the picture stay pixels, so the PDF cannot
be searched, selected or read aloud.
Assuming the PDF will be smaller than the photos. Image data is embedded as it is, so
the file is roughly the sum of the pictures plus a little structure.
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.