About JPG to PDF
This turns one or more JPG photos into a single PDF, one image per page, in the order you add them. It's the quick way to hand in a set of photographed documents as one file, bundle receipts or ID scans for an application, put a photo portfolio into a printable format, or attach several pictures to an email as a single tidy attachment instead of many loose images.
Everything happens on your device — useful when the images are personal (IDs, bank statements, medical forms) and you'd rather they never touch a server.
How it works
Each image is drawn onto an HTML canvas and embedded into a new PDF built with pdf-lib, entirely in your browser. You control how each page is laid out:
- Fit to image — the page is sized to the image itself, with no margin, so there's no surrounding white space.
- A4 (595.28 × 841.89 pt) or US Letter (612 × 792 pt) — a standard printable page; the image is scaled to fit inside your chosen margin (0–80 pt) and centred, keeping its aspect ratio.
- Orientation can follow the image automatically or be forced to portrait/landscape.
Images become pages in the exact order you add them.
Assumptions and defaults
- Pages appear in add order, one image per page.
- On Fit to image, 1 image pixel maps to 1 PDF point (1⁄72 inch). A high-resolution photo therefore produces a physically large page — a 3000-pixel-wide image becomes roughly a 42-inch-wide page. That's fine for on-screen use, but for printing choose A4 or Letter.
- Default margin is 24 pt on A4/Letter; "Auto" orientation picks landscape when the image is wider than it is tall.
- Images are embedded losslessly (no quality is thrown away).
Limitations
- File size: because each image is embedded losslessly (as PNG data internally), a PDF made from large JPG photos can be considerably bigger than the original JPGs — JPG compression is discarded in the process. For many high-resolution photos, expect a large PDF. There's no built-in compression step.
- No reordering or removing once images are added — the order is the order you added them. To change it, clear and re-add in the order you want.
- Encrypted or corrupted images can't be embedded and will stop the build with an error.
- Very large batches are limited by your device's available memory, since all processing is local.
Privacy
Your images are read and converted in the browser with pdf-lib. Nothing is uploaded — no image or resulting PDF ever leaves your device.

