fileformer
search⌘KtranslateENexpand_moreupload_fileConvert
Converters8 file families · 44 direct conversions
What changes in a conversionarrow_forward
home/pdf-tools/image-to-pdf

Image to PDF

Turn photos, scans and screenshots into one PDF: choose the page size, orientation and margins, see the pages, and keep every JPEG at its original quality.

0 images → 0 pages
chevron_leftchevron_rightclose
add_photo_alternateDrop images hereAny image your browser can open, each becomes one page.
JPEGs are copied into the PDF byte for byte, with their rotation applied by the page itself. Other formats are decoded and stored losslessly. The PDF is written in your browser; it all stays on your device.
~/photo-meets-paper

When the photo and the page are different shapes.

A phone photo is 4:3; A4 paper is roughly 1:1.41. Something has to give, here are the three options.

Fit whole imageselected
The entire photo is shown, scaled down to fit. You get white bands where the shapes differ.Best for:documents, receipts, anything you mustn’t crop.
Fill the pageselected
The photo is scaled up to cover the whole page, and the edges that overflow are trimmed.Best for:photo books and full-bleed prints.
Fit to imageselected
Each page takes the photo’s own shape at 150 ppi. No white bands and nothing cropped, but pages vary in size.Best for:reading on screen, sharing scans digitally.
~/a4-or-letter

A4 or Letter?

Almost every country uses A4. The US, Canada and parts of Latin America use Letter, which is a little wider and shorter. Pick the one your reader will print on, the wrong one gets scaled or cropped at the printer.

Not printing at all? Choose Fit to image - each page matches its photo exactly, with no white edges.

A4210 × 297 mm · world
Letter8.5 × 11 in · US
A5148 × 210 mm · booklets
~/inside-your-pdf

What each image became, and the file that holds it.

A PDF can carry a JPEG untouched: its bytes go straight into the file under the DCTDecode filter, so no quality is lost. Everything else is decoded to pixels and squeezed with FlateDecode, the same compression ZIP uses. Below is the PDF this page just wrote, checked against your originals and taken apart object by object.

PageImageStored asOriginalIn PDFCheckPrint sharpness
“Identical” means the bytes inside the PDF stream were read back from the finished file and compared with your original, byte for byte, then confirmed with SHA-256 (first 4 bytes shown). Print sharpness is the image’s pixels divided by the inches it occupies on the page: 300 ppi is photo-print quality, 150 is fine for documents.
Objects in the file…
building…1 0 obj<< /Type /Catalog /Pages 2 0 R>>endobj
cross-reference table and trailer (end of the file)…
~/lossless-but-how-small

Predicting each pixel from its neighbours makes lossless images smaller.

Before compressing, FlateDecode can store each byte as the difference from a guess, the pixel to the left, above, or a blend (Paeth). Smooth areas turn into runs of zeros that compress well. PDF borrowed these five filters from PNG. Here they run on your first image, every row of it, compressed by your browser.

MethodBytesof raw
insightsMeasuring…
/Filter /FlateDecode/DecodeParms << /Predictor 15 % PNG filters, chosen per row /Colors 3 % R, G, B /BitsPerComponent 8 /Columns width>>Adaptive picks, for every row, the filter whose output has the smallest sum of absolute values, the heuristic the PNG specification suggests. This page uses it for every non-JPEG image it writes.
~/reference

How PDFs store images.

Eight filters can sit on an image stream. Version numbers are the PDF version that introduced each one; check ISO 32000 for the exact wording before relying on them.

FilterSinceKindHoldsNote
DCTDecodeused by this page1.0lossyJPEG (baseline and progressive)A JPEG file can be copied in unchanged; EXIF orientation is ignored, so the page has to rotate it.
FlateDecodeused by this page1.2losslesszlib-compressed pixels or textWith /Predictor 10-15 it uses PNG’s row filters; 2 is TIFF’s horizontal predictor.
LZWDecodeused by this page1.0losslessolder lossless imagesSuperseded by Flate; not allowed in PDF/A.
RunLengthDecodeused by this page1.0losslessruns of identical bytesSimple; good only for flat graphics.
CCITTFaxDecodeused by this page1.0lossless1-bit black-and-white scansGroup 3 and 4 fax coding; still common in scanned archives.
JBIG2Decodeused by this page1.4either1-bit scans, shared symbolsLossy “pattern matching” mode can swap similar glyphs, the 2013 Xerox digit-substitution problem.
JPXDecodeused by this page1.5eitherJPEG 2000Carries its own colour space; supports 16-bit and lossless.
(none) + /SMaskused by this page1.4-alpha channel as a separate greyscale imageTransparency; forbidden in PDF/A-1, allowed from PDF/A-2.
Timeline
1992ITU-T T.81 defines JPEG; files written by this page’s samples follow it.
1993Adobe releases PDF 1.0 with Acrobat 1.0, including DCT, LZW, run-length and CCITT filters.
1996PDF 1.2 adds FlateDecode; the PNG specification (also 1996) defines the row filters PDF later reuses as predictors 10-15.
2001PDF 1.4 adds JBIG2Decode and soft masks (SMask) for transparency.
2003PDF 1.5 adds JPXDecode for JPEG 2000 and compressed object streams.
2005PDF/A-1 (ISO 19005-1) for archiving bans LZW and transparency.
2008PDF 1.7 becomes ISO 32000-1.
2011PDF/A-2 (ISO 19005-2) allows JPEG 2000 and transparency.
2017PDF 2.0 is published as ISO 32000-2.
2020ISO 32000-2:2020 revision of PDF 2.0 is published.