How to convert jpg photos to a pdf document
- Step 1Open the Image to PDF converter — Go to Image to PDF. The dropzone accepts
.jpg,.jpeg, and.pngonly — JPG is the format most phone cameras and scan apps export, so it is the common case here. - Step 2Add your photos in the order you want them — Drag the JPGs onto the dropzone or click browse. They queue in the order they arrive, and that queue order is the final page order — there is no drag-to-reorder control, so add them in sequence. If you mis-order, use the X button next to a queued file to remove it and re-add.
- Step 3Add at least two images — This is a multi-file tool with a minimum of two files. The
Process N filesbutton stays disabled until you have queued two or more photos. To wrap a single JPG, add a second throwaway image and delete its page afterwards, or use a different workflow. - Step 4Check the queue and file sizes — Each queued photo shows its filename and size. On Free, any single file over 2 MB is blocked with an upgrade prompt, and the batch is capped at 10 files. Remove or downsize anything that exceeds the limit before running.
- Step 5Click Process to build the PDF — The converter embeds each JPG and adds one page per image at the image's native pixel dimensions. There are no page-size, margin, fit, or compression options — the output is a faithful 1:1 stack of your photos.
- Step 6Download the combined PDF — The result panel shows the output size; click Download to save it (named like
firstphoto.image-to-pdf.pdf). For a smaller file afterwards, run PDF Compress (Aggressive); to make scanned text searchable, run PDF OCR.
What this tool does and does not do with JPGs
Grounded in the actual converter behaviour — there is no options panel for this tool, so the columns below reflect fixed behaviour, not toggles.
| Aspect | Behaviour | Want something different? |
|---|---|---|
| Page size | Each page is sized to the photo's pixel dimensions (1 px = 1 PDF point). A 3000×4000 photo → 3000×4000-point page | Need a fixed A4/Letter page? Convert here, then PDF Resize the result |
| Page order | The order you add files; queue order = page order. No drag-to-reorder exists | Re-order by removing (X) and re-adding files in sequence |
| Compression | None applied — JPG bytes are embedded as-is at original quality and resolution | Need a smaller file? Run PDF Compress (Aggressive) afterwards |
| Orientation | Taken from each image individually; mixed portrait/landscape is fine | All pages identical? Pre-crop the photos to a common aspect ratio first |
| Text layer | None — output is image-only and not searchable | Run PDF OCR to add a searchable text layer |
| Accepted input | .jpg, .jpeg, .png only (MIME image/jpeg, image/png) | Have HEIC/WebP/TIFF? Convert to JPG/PNG first |
JPG batch limits by tier
Image to PDF uses the PDF family per-file size limit and a dedicated image-count cap (10 on Free). Page-count limits do not apply because the inputs are images, not PDFs.
| Tier | Max images per job | Max size per file | Notes |
|---|---|---|---|
| Free | 10 | 2 MB | Minimum 2 files to run; a single >2 MB photo is blocked with an upgrade prompt |
| Pro | Unlimited (count cap removed) | 50 MB | Practical ceiling is browser memory for very large batches |
| Pro + Media | Unlimited | 500 MB | For high-resolution camera-raw-derived JPG sets |
| Developer / Enterprise | Unlimited | 2 GB / unlimited | Same conversion path; automate via the local runner |
Cookbook
Real JPG-to-PDF jobs and exactly what comes out the other side. All processing is local — these never leave the browser.
Twelve receipt photos into one expense PDF
A common reimbursement task: a month of phone-shot receipts to attach to an expense claim as a single file. Add them in date order so the pages read chronologically — queue order is page order.
Input (added in this order): 2026-05-02_coffee.jpg (820 KB, 3024x4032) 2026-05-05_taxi.jpg (1.1 MB, 4032x3024) 2026-05-09_lunch.jpg (640 KB, 3024x4032) ... 9 more Output: receipts.image-to-pdf.pdf 12 pages, each sized to its own photo ~ sum of source bytes (no re-compression)
Mixed portrait and landscape camera photos
Mixing orientations is fine — the tool never rotates or fits anything. Each page simply inherits the dimensions of its source photo, so portrait shots become tall pages and landscape shots become wide pages.
Input: IMG_portrait.jpg 3024 x 4032 (tall) IMG_landscape.jpg 4032 x 3024 (wide) Output PDF pages: Page 1: 3024 x 4032 pt (portrait) Page 2: 4032 x 3024 pt (landscape) No auto-rotation, no white margins, no fit-to-A4.
One JPG that is over the Free 2 MB limit
A high-resolution JPG straight off a DSLR can exceed the 2 MB Free per-file cap. The file is blocked at add time with an upgrade prompt — the rest of the batch is not processed until it is removed or you are on Pro.
Add: beach_dslr.jpg (4.7 MB) Result: blocked "beach_dslr.jpg is 4.7 MB. Free handles files up to 2 MB per job. Pro unlocks larger files." Fix: downscale the JPG first, or upgrade to Pro (50 MB/file).
Shrinking the result after conversion
Because JPGs are embedded uncompressed, a batch of large photos yields a large PDF. Chain a second tool to hit an email or upload limit.
Step 1: image-to-pdf -> photos.image-to-pdf.pdf (38 MB)
Step 2: pdf-compress-lossy, target ~5 MB
-> re-encodes each page as JPEG, lands under target
Note: lossy compression re-rasterises pages — fine for
photos, but the output stays image-only (still no text).Filling a single-image gap
Because two files are required, wrapping exactly one photo needs a workaround. The cleanest path is to add a blank/throwaway second image, convert, then delete the extra page.
Goal: wrap one passport_photo.jpg as a PDF Workaround: 1. Add passport_photo.jpg + a blank.jpg 2. Process -> 2-page PDF 3. pdf-delete-pages -> remove page 2 -> single-page PDF of the passport photo
Edge cases and what actually happens
Only one image added
BlockedImage to PDF is a multi-file tool with a minimum of two files. With one photo queued, the Process N files button stays disabled. Add a second image (you can delete its page afterwards with PDF Delete Pages) to proceed.
Single JPG larger than the Free 2 MB limit
BlockedAny file over the Free per-file ceiling (2 MB for the PDF family) is blocked at add time with an upgrade prompt, and the batch does not run. Downscale the JPG, or upgrade to Pro (50 MB per file) / Pro + Media (500 MB).
Wrong page order
By designPages come out in the exact order files were added; there is no drag-to-reorder. If the order is wrong, remove files with the X button and re-add them in the sequence you want, then process. There is no in-tool sorting.
HEIC photo from a recent iPhone
RejectedThe dropzone accepts only .jpg, .jpeg, and .png. HEIC files are rejected with is not supported. Expected: .jpg .jpeg .png. iPhones can be set to capture JPG (Settings → Camera → Formats → Most Compatible), or convert HEIC to JPG first, then return here.
Output PDF is very large
ExpectedThere is no compression step — JPGs are embedded as-is, so the PDF is roughly the sum of the source bytes. A 12-photo, 36 MB batch yields a ~36 MB PDF. Run PDF Compress (Aggressive) afterwards if you need a smaller file.
Output is not searchable
By designThe PDF contains images, not text — there is no OCR or text layer added. Ctrl+F finds nothing. If a photo contains a printed document or receipt text you need to search, run PDF OCR on the converted PDF.
Corrupt or truncated JPG
ErrorIf a JPG is truncated or malformed, pdf-lib's embedJpg throws and the run fails with an error rather than producing a partial PDF. Re-export or re-save the photo (open and re-save in any image viewer) and try again.
Progressive JPEG
SupportedStandard baseline and progressive JPEGs both embed correctly via embedJpg. The bytes are stored as a JPXDecode/DCTDecode stream; no re-encoding occurs, so a progressive JPG round-trips faithfully.
CMYK JPEG from print workflows
CautionJPEGs saved in a CMYK colour space (common from print-prep software) can embed but may display with inverted or shifted colours in some viewers, because PDF image colour handling differs from screen JPEG. Convert the JPG to sRGB before converting for predictable colour.
Frequently asked questions
What quality are the photos in the PDF?
Original quality. The tool calls pdf-lib's embedJpg on the raw file bytes — there is no second compression pass and no resolution change, so the embedded photo is byte-for-byte the JPG you supplied. The PDF page is sized to the photo's exact pixel dimensions.
Can I choose A4 or US Letter page size?
No. There is no page-size option for this tool — each page is sized to its own photo's pixel dimensions. If you need uniform A4/Letter pages, convert here first, then run PDF Resize on the result.
Can I reorder photos before converting?
Not with a drag handle — there is no reorder control. Pages follow the order you added the files. To change the order, remove files (X button) and re-add them in the sequence you want.
How many JPGs can I combine at once?
Free allows up to 10 images per job, each up to 2 MB. Pro removes the count cap and raises the per-file limit to 50 MB; Pro + Media goes to 500 MB per file. You always need at least 2 files to run.
Why won't it run with just one photo?
It is a multi-file tool and requires a minimum of two files, so the Process button is disabled with one. Add a second image and, if you only wanted one page, delete the extra afterwards with PDF Delete Pages.
Can I mix portrait and landscape JPGs?
Yes. Each page takes the orientation and dimensions of its own image, so a mixed batch produces mixed page sizes. Nothing is rotated, scaled, or padded.
Are the photos uploaded anywhere?
No. Conversion runs entirely in your browser with pdf-lib — 0 bytes are uploaded. The only thing recorded server-side (if you are signed in) is an anonymous run counter, no file content.
Will the PDF be searchable?
No — it contains images, not selectable text. To make a document-photo PDF searchable, run PDF OCR on the output, which adds a text layer behind the image.
Can I add captions or labels under each photo?
No — there is no annotation or text option. Add any labels by editing the photos in an image editor before converting, or add page numbers afterwards with PDF Page Numbers.
My output PDF is huge — how do I shrink it?
Because photos are embedded uncompressed, the PDF is about the size of the source images combined. Run PDF Compress (Aggressive) afterwards and set a target size — it re-encodes each page to hit it.
Does it accept HEIC, WebP, or TIFF?
No. This converter accepts only JPG/JPEG and PNG. Convert other formats to JPG or PNG first, then bring them here.
Can I automate this for a folder of photos?
Yes on paid tiers — the same image-to-pdf conversion runs through the local @jadapps/runner, so a watched-folder pipeline can convert photo batches without anything leaving your machine.
Privacy first
All PDF processing runs locally in your browser using PDF-lib and pdf.js. No file is ever uploaded — only metadata counters are saved for signed-in dashboard stats.