Skip to content
ToolStash

Image to PDF

Turn a folder of photos or scans into one PDF, in the order you choose. Pages can match each image exactly or sit on A4 or Letter with margins. The PDF is assembled in your browser, so the images are never uploaded.

Runs entirely in your browser — nothing is uploaded

Drop images here to combine into a PDF

JPG, PNG, WebP, AVIF and GIF. Add them in any order — you can rearrange below.

How to use it

  1. Drop your images onto the box above, or click Choose files.
  2. Check the order in the list. Drag rows, or use and . Remove anything with .
  3. Under Page setup, choose whether pages should match each image or use A4 or Letter, and set a margin if you picked a standard size.
  4. Click Create PDF, then download it.

How it works

A PDF page is a canvas of instructions, and one of those instructions can be “draw this image here, at this size”. So building a PDF from images does not mean converting anything in the usual sense — it means creating pages and placing an image on each.

PDF is picky about which images it will carry: the format supports JPEG and PNG data directly, and little else that browsers produce. When you add a JPG or PNG, its bytes are copied into the PDF untouched, which is why there is no quality loss and why the resulting file is roughly the sum of your inputs. When you add a WebP, AVIF or GIF, the browser decodes it to pixels and re-encodes it as JPEG or PNG first — one extra step, done once, with the format under your control.

Page sizing is where the two modes diverge. In fit mode each page box is set to the image’s own dimensions, treating one pixel as one point, which is a 72 DPI page. In A4 or Letter mode the page box is fixed and the image is scaled to the largest size that fits inside your margins, then centred. The scale never exceeds 1, so a small image is not blown up and blurred to fill the page.

Very large images are handled rather than left to fail. PDF caps a page at 200 inches on a side, so fit mode scales down anything that would exceed it, and images too big for the browser’s canvas limits are reduced before conversion. A JPEG that pdf-lib refuses — usually a progressive or CMYK variant — is quietly routed through the canvas path instead of erroring out.

Tips

  • Name files so they sort in the right order before you add them. The list preserves the order they arrive in.
  • For scanned documents, fit mode usually looks better than A4: a scan already has the page proportions, so forcing it onto a fresh A4 page just adds a second set of margins.
  • If the finished PDF is too big to email, compress it afterwards rather than shrinking the images first — you get better control and can see the result.
  • Photographing a document instead of scanning it? Crop it before adding it here. There is no cropping step in this tool.

Frequently asked questions

Are my images uploaded anywhere?
No. Each image is read into your browser’s memory, embedded into a PDF built by JavaScript running in this tab, and handed back as a download. Nothing is transmitted. This is the tool people reach for when they need to send scans of an ID, a passport or a signed form as one file — precisely the images you should not be uploading to an unknown server.
Which image formats can I use?
JPG and PNG go straight in, because those are the two formats PDF itself can carry. WebP, AVIF, GIF and BMP are decoded by your browser and re-encoded first — you choose whether that conversion produces JPEG (much smaller) or PNG (lossless, keeps transparency). HEIC from an iPhone cannot be decoded by browsers at all, so convert those to JPG first. SVG is vector rather than pixels and is not supported here.
What is the difference between "fit to image" and A4?
Fit to image makes each page exactly the shape and size of its image — no borders, no cropping, and nothing left over. It is the right choice for screenshots, receipts and anything that will be read on screen. A4 or Letter puts every image on a standard printable page, scaled down to fit inside the margins and centred, so a mixed batch of portrait and landscape photos still prints on consistent paper. Nothing is ever cropped or stretched in either mode.
Will my images be compressed or lose quality?
JPGs and PNGs are embedded byte for byte — they are placed into the PDF exactly as they arrived, so there is no quality change at all. Only formats PDF cannot carry are re-encoded, and only once. If you pick JPEG for that conversion at the default 90 per cent quality, the loss is generally invisible; pick PNG if you need it to be lossless.
Why is the PDF so large?
Because a PDF containing images is roughly the sum of those images. Ten 4 MB phone photos make a 40 MB PDF — there is no compression step in this tool, by design, because silently degrading your images would be worse than an honest file size. If you need it smaller, run the finished PDF through Compress PDF, which re-encodes the embedded images at a quality you control.
How do I control the page order?
Drag any row up or down, or use the ↑ and ↓ buttons if you prefer the keyboard. The number on the left is the page it will become. Files are added in the order your operating system hands them over, which is usually alphabetical — naming them 01-front.jpg, 02-back.jpg before you start saves most of the dragging.
Is there a limit on how many images I can add?
No limit we impose. The constraint is memory, since every image and the growing PDF are all held in this tab. A few dozen phone photos is comfortable on a laptop; the tool warns above roughly 120 MB of input. If a very large batch fails, build two PDFs and combine them with Merge PDF.
What happens to transparent areas in a PNG?
PNGs keep their transparency, because PDF supports it and the file is embedded unchanged — the transparent parts will show whatever is behind them, which on a plain page means white. If you convert a transparent WebP or GIF to JPEG, though, transparency cannot survive: those areas are filled with white before encoding, which is why the tool warns you and offers PNG instead.

Browse every tool in PDF Tools.

Found a bug or want a feature? Tell us — ToolStash is built from user requests.