JPG to PDF

Put photos or scans into one PDF, in the order you choose, without uploading them.

Runs entirely in your browser

Loading the tool…

Your files are opened by this page and never uploaded. Nothing in the page sends them anywhere, and it keeps working with the network off.

Choose your images and they are assembled into a PDF here, in this page. Nothing is uploaded: nothing in the page sends your files anywhere, and it keeps working with the connection off.

The images that end up in a PDF are usually the ones worth keeping to yourself. Photographs of a passport, a signed page sent back to an employer, a receipt for an expense claim, a utility bill someone wants as proof of address. The usual way to make that PDF is to hand all of it to a website first.

A JPEG goes in exactly as it is. A PDF can carry JPEG data directly, so there is no decoding and no re-encoding, and the photo in the PDF is the same photo, byte for byte, at the same quality and roughly the same size. PNG and WebP have to be converted, because a PDF has no way to hold them, and the page says how many were.

Every image is a page, in the order you arrange them: drag one where you want it, drop the ones you picked by mistake, and add more without starting again. Fit each page to its image, which is what you want for scans, or put them all on A4 or Letter with a margin, which is what you want when someone is going to print them.

Going the other way, PDF to JPG takes the pages back out as images. If the result is larger than whatever you are attaching it to allows, Image Compressor will shrink the photos before you assemble them.

How to use it

  1. Choose your images. Nothing is uploaded when you do.
  2. Drag them into the order you want, and pick a page size.
  3. Download the PDF.

Questions

Are my photos uploaded anywhere?

No. The page reads the files through your browser and builds the PDF in WebAssembly on your own machine. Nothing in the page sends your file anywhere, so disconnect and it still works, which is how you can verify it rather than believe it.

Does it reduce the quality of my photos?

Not for JPEGs. A PDF can hold JPEG data as it is, so yours is placed unchanged rather than decoded and saved again, which is what costs quality in most converters. PNG and WebP have to be converted, because a PDF cannot carry either, and that is done at a quality where the difference is not visible.

What page size should I choose?

Fit each image if the PDF is going to be looked at on a screen, since it wastes no space and adds no borders. Choose A4 or Letter if it is going to be printed or attached to something official, and add a margin so nothing important sits at the very edge of the paper.

Can I change the order?

Yes. Drag any image where you want it, or nudge it with the arrows. Top left is page one. The cross drops one, and 'Add more' brings in further images without losing what you have arranged.

Why will it not take my iPhone photo?

Because it is probably HEIC, which browsers other than Safari cannot decode, and the page says so by name rather than failing quietly. Sharing the photo as 'Most Compatible', or emailing it to yourself, will give you a JPEG.

Is there a limit on how many images?

Only your machine's memory. Everything is held in the tab while you arrange it, so a hundred phone photographs is comfortable and a thousand is probably not.

Why is my PDF about as large as the photos were?

Because the photos are in it, unchanged. A PDF of images is the size of those images plus a little structure. If it needs to be smaller, make the images smaller first: compressing them afterwards would mean decoding and re-encoding every one, which is the quality loss this tool exists to avoid.

Can I add a scanned page to an existing PDF?

Yes, in two steps. Make the PDF here, then join it to the other document with Merge PDF, which can put the new page anywhere in the order rather than only at the end.

Your data stays on your device

Everything above runs inside your browser as WebAssembly compiled from Rust. Nothing you type is uploaded, logged or stored on a server. You can load this page once, go offline, and it still works.

The page does load ads, which is how it is paid for, and that script is the only thing here that fetches anything. It sees that the page was opened. It does not see what you type or the file you chose, because neither ever leaves this tab.