Convert JPG or PNG to PDF
Combine one or more images into a single PDF, in the order you choose. Nothing is uploaded, it all happens on your device.
Click to choose images, or drag and drop them here
JPG, PNG, and most other image formats. Stays on your device, nothing is uploaded.
Are my images uploaded anywhere?
No. Conversion happens entirely inside your browser using JavaScript. Your files never leave your device or touch a server.
Can I choose the order of the pages?
Yes. Add your images, then use the up and down buttons on each row to arrange them in the order you want before converting.
What page size should I pick?
"Fit to image" makes each page match that image's own proportions, which is usually best for scans and screenshots. A4 or US Letter fit the image within a standard page, centered, which is often better for printing.
What image formats are supported?
JPG and PNG are handled natively. Other formats your browser can display, like WebP, are automatically converted first.
Does converting reduce image quality?
JPG and PNG images are embedded as-is in most cases. Some images need to be re-encoded to be embeddable (a few JPEG variants, or non-JPG/PNG formats), those are converted losslessly to PNG first.
How it works
PDF has native support for exactly two image formats this tool cares about: JPEG (stored
with the DCTDecode filter) and PNG-style raw pixel data. So for a standard
JPG, pdf-lib takes your file's bytes and embeds them into the PDF completely unchanged,
no decoding, no re-encoding, zero quality loss, and the PDF ends up roughly the size of
the JPEGs that went in. PNGs are unpacked into the raw pixel form PDF expects, which is
also lossless. Each image then becomes one page with a drawImage instruction
placing it.
Formats PDF can't hold directly, WebP, GIF, BMP, and a few awkward JPEG variants like
progressive JPEGs that pdf-lib can't parse, take a fallback path: the browser decodes
the image with createImageBitmap(), draws it to a canvas, and re-exports it
as PNG before embedding. That conversion is pixel-for-pixel lossless, though the
resulting file can be larger than the original (a re-encoded photo stored as PNG is
bulkier than its JPEG source).
Page sizing works in PDF points, 72 per inch. "Fit to image" treats your image as 96 DPI screen pixels and sizes the page to match it exactly, best for screenshots and scans. A4 and Letter modes keep a standard page, shrink the image proportionally to fit inside a half-inch margin, and center it, which prints more predictably.
Your photos never leave your machine. Watch the Network tab in DevTools while converting: the images are read locally, assembled into a PDF in memory by pdf-lib, and downloaded from a blob. Nothing is transmitted, which matters when the images are ID scans or personal documents.