Convert JPG/JPEG images to PDF using pdf-lib.js. Supports batch upload of multiple images, each on its own page. Choose page size (A4, Letter, or fit-to-image), orientation, and margin. No server upload — 100% browser-based.
Click or drag up to 20 JPG/JPEG images. Thumbnails show the upload order — each image becomes one page in the output PDF. Reorder by dragging thumbnails.
Choose output page size: A4 (210×297mm), Letter (215.9×279.4mm), or Image Size (PDF page matches the image dimensions exactly). Set page orientation (portrait or landscape) and margin in pixels.
Click Convert to PDF to generate the file entirely in your browser using pdf-lib.js. All images are embedded in sequence. The download begins immediately — no server upload, no watermark.
pdf-lib.js embeds the original JPG bytes directly into the PDF without re-encoding, so there is no quality loss. The JPG compression that was applied when the image was originally saved remains, but no additional quality loss occurs during the PDF embedding. The resulting PDF renders the image at its original pixel resolution.
A4 (210×297mm / 595×842pt): standard paper size used worldwide outside North America. Letter (215.9×279.4mm / 612×792pt): standard US paper size. Image Size: the PDF page is sized to exactly match each image's pixel dimensions — useful for photo books and presentations where you want the image to fill the page without margins.
This tool handles up to 20 JPG images per conversion. Each image becomes one page in the resulting PDF. For batch conversions of hundreds of images, command-line tools like ImageMagick (convert *.jpg output.pdf) or Python with PyMuPDF (fitz) are more efficient.
The tool embeds the original JPG as-is — the quality is determined by the original file. If you want a higher quality PDF, start with higher quality source JPG files. JPG quality cannot be increased during PDF embedding; the compression artefacts from the original JPG are preserved in the PDF.
pdf-lib is an open-source JavaScript library (github.com/Hopding/pdf-lib) for creating and modifying PDF documents entirely in the browser or Node.js. It supports embedding images (JPG, PNG), drawing text, and building complex PDF layouts without any server-side processing. This tool uses pdf-lib to generate PDFs that are cryptographically signed by the browser and never sent to any server.
This tool creates a single multi-page PDF from all uploaded images. If you need to merge separate PDF files, use a dedicated PDF merge tool. pdf-lib also supports merging PDFs programmatically for developers.