To turn photos into one PDF, open Kopitiam's JPG to PDF tool, add your JPG or PNG images in the order you want the pages, pick a page size and press Download PDF. Each image becomes one page, and the PDF is built in your browser, so your photos are never uploaded.

That covers most jobs: a stack of receipts for an expense claim, the four pages of a signed tenancy agreement you photographed on the table, or the front and back of an IC for a bank form. The rest of this guide is about getting the details right: the order, the page size, sideways photos and a file small enough to send.

Step by step

  1. Open JPG to PDF and drop your images onto the box, or click it to choose files. You can pick several at once.
  2. Check the numbered thumbnails. The number in the corner of each one is its page number in the PDF.
  3. Remove any image you don't want with the × button on its thumbnail.
  4. To add more, drop them onto the box again (it now says Add more images). New images go to the end.
  5. Pick a page size: Fit to image, A4 page or Letter page.
  6. Press Download PDF. The button shows how many pages you'll get, and the file saves as images.pdf.

Open the downloaded file once before you send it. A quick scroll through takes ten seconds and catches a missing page or a blurry photo before the person on the other end does.

Getting the page order right

The pages follow the order of the thumbnails, and new images are always added at the end. There is no drag-to-reorder in JPG to PDF, so the order you add images in is the order you get.

When you choose many files in one go, they arrive in whatever order your phone or computer hands them over. That isn't always the order you tapped them in. If the order matters, as it does for a multi-page contract, use one of these:

  • Add the images one at a time, page 1 first. Slow for 30 receipts, but fine for a five-page agreement.
  • Rename the files before you add them (01, 02, 03 and so on) so they sort the way you want on a computer.
  • If one lands in the wrong place, remove it with × and add it again so it goes to the end.
  • Build the PDF anyway, then fix the order in Organize PDF, where you can drag pages into place and download again.
Check the page count on the Download PDF button before you press it. If you chose files that aren't JPG or PNG alongside ones that are, the others are quietly left out, and the count is the quickest way to notice.

Choosing a page size

The three page sizes change how each photo sits on its page. None of them crops your image or stretches it out of shape.

  • Fit to image (the default): each page is exactly the size of its photo, edge to edge, with no border. Pages can differ in size if your photos do. Good for reading on screen.
  • A4 page: each photo is centred on a portrait A4 page with a small white margin, scaled down to fit. Use this when the PDF may be printed, or when a form or portal expects A4, which is the norm in Malaysia and most of the world.
  • Letter page: the same, on US Letter paper. Use it only if the recipient is in the US or Canada and asked for Letter.

Two things surprise people with A4 and Letter. First, a landscape photo is fitted inside a portrait page, so it comes out as a wide band with white space above and below. If you want that page turned sideways, rotate it afterwards in Organize PDF. Second, a small image is never enlarged. A tiny screenshot will sit in the middle of the page at its own size rather than being blown up into a blurry mess.

Fit to image has its own quirk: a phone photo thousands of pixels wide makes a physically very large page. On screen that doesn't matter, as viewers zoom to fit. Most print dialogs also shrink it to the paper, but if you know the file will be printed, A4 page avoids any guesswork.

Why some photos come out sideways, and why Kopitiam's don't

Phones usually save a photo the way the camera sensor saw it and add a small note, called the EXIF orientation, that says "turn this 90 degrees when you show it". Your gallery app reads the note, so the photo looks upright. A PDF has no such note, so a tool that ignores it puts your portrait receipt on its side.

Kopitiam reads the EXIF orientation of every JPG and turns or flips the image while building the page, so a photo that looks upright in your gallery is upright in the PDF, and a portrait photo gives a portrait page. Photos flagged as mirrored are flipped back the same way. The thumbnails show the photos the way your browser displays them, which is how they will appear in the PDF.

This can't fix a photo whose pixels really are sideways, for example a document you photographed with the phone held the wrong way, or a scan that came off the scanner rotated. PNG images also have no orientation note for Kopitiam to read. In those cases, build the PDF and then turn the odd pages in Organize PDF, or use Rotate PDF if the whole document needs turning.

Keeping the PDF small enough to send

JPG to PDF puts each image in at its full original resolution and does not re-compress it. That's good for quality, but it means the PDF is roughly as big as all your photos added together. Ten full-size phone photos of a few megabytes each can easily make a PDF of 30 MB or more, which is too large for many email services and for upload portals that cap files at 2, 5 or 10 MB.

To bring it down, run the finished PDF through Compress PDF and choose Shrink photos. It shrinks the JPG photos inside the PDF (oversized ones are scaled down and re-saved at a lower quality), and it only swaps in a new version of a photo when that is clearly smaller. For photos of paper documents the result is usually still easy to read. If you still need it smaller, Strong mode turns each page into a fresh image at your chosen quality, which can save more, especially for PNG screenshots that Shrink photos leaves alone.

  • Crop out the table, your hand and the background in your gallery app before you add the photo. A tighter photo is a smaller photo.
  • Leave out shots you took twice. It sounds obvious, but duplicates are the most common reason a receipt PDF is twice the size it needs to be.
  • If a portal has a strict limit per file, split the PDF into parts with Split PDF instead of compressing it until it's unreadable.
  • Compare the file size Compress PDF reports with the limit before you upload, so you don't find out from an error message.

When it goes wrong

  • "Please choose JPG or PNG images." None of the files you picked were JPG or PNG. HEIC photos, the default format on many iPhones, are a common cause, usually when the files were copied to a computer. Export them as JPG first, or set the camera to save JPG (on an iPhone: Settings, Camera, Formats, Most Compatible).
  • A file "couldn't be read as a JPG or PNG image, so it was left out". The file is damaged, or it's another format with a .jpg name. The other images in the same batch are still added. Try saving or exporting that one image again.
  • A WebP or GIF image is refused. JPG to PDF accepts JPG and PNG only. Open the image and save it as one of those first.
  • The PDF is huge. See the section above: build the PDF first, then compress it with Shrink photos.
  • Hundreds of photos on an older phone stall or crash the tab. Everything happens in your device's memory, and that's the real limit. Build the PDF in a few batches and join the parts with Merge PDF.

When to use something else

JPG to PDF makes picture pages. The text on a photographed document is part of the image, so you can't select, search or copy it in the PDF, and Kopitiam doesn't run text recognition (OCR) on it. If the recipient needs searchable text, a scanner app or a scanner with built-in OCR is the better tool.

It also doesn't straighten skewed pages or clean up shadows. A dedicated phone scanning app does that well, and many can export a PDF directly. If you already have one, use it. JPG to PDF is for when you have the photos already, you want them in a single file, and you would rather not upload a passport or a payslip to someone else's server to get there.

Like all of Kopitiam's PDF tools, it's free, needs no account and adds no watermark. Once the page has loaded, it keeps working even if your connection drops, because nothing is sent anywhere.