Skip to content
JPGtoPDF

Guide

How to Convert JPG to PDF Without Losing Quality

Every time a JPEG is decoded and re-encoded, the lossy compression shaves off detail. Most “JPG to PDF” converters do exactly that — they decompress your image, draw it on a canvas, compress it again, and wrap the result in a PDF. The output looks fine at first glance, but it is measurably worse than the original. This guide explains why that happens and shows you how to avoid it entirely.

Why Most Converters Lose Quality

JPEG uses lossy compression. Each encode pass applies a Discrete Cosine Transform (DCT), quantizes the coefficients, and discards data that cannot be recovered. The quality loss is cumulative:

  1. The converter decodes your JPG into raw pixels (this step is lossless).
  2. It re-encodes those pixels as a new JPEG, often at a quality setting you cannot control.
  3. The re-encoded image is embedded inside the PDF.

Even at maximum quality (100), re-encoding introduces generational loss. At lower quality settings — which many free tools default to — the degradation is clearly visible: softer edges, banding in gradients, and blurry text in scanned documents.

The Lossless Approach: Embed the Original JPEG Bytes

PDF supports JPEG as a native image format via the /DCTDecode filter. A converter that knows this can copy your JPEG file's compressed bytes directly into the PDF stream — no decoding, no re-encoding, zero quality loss. The resulting PDF contains the exact same image data as the original file, bit for bit.

This is not a theoretical trick. It is the same technique used by professional prepress workflows where JPEG re-compression is unacceptable. The catch is that it only works with baseline (non-progressive) JPEGs in the YCbCr or Grayscale color space. Progressive JPEGs, CMYK images, and photos that need EXIF-rotation correction must be decoded first — there is no way around it.

Good news

The vast majority of JPEGs from phone cameras, DSLR cameras, and image editors are baseline YCbCr. Unless you specifically saved as progressive (common for web optimization) or use a CMYK workflow (print/prepress), your photos qualify for zero-loss embedding.

Method 1: Use a Converter with a Zero-Loss Fast Path

The JPGtoPDF converter inspects each JPG before processing. If the file is a baseline JPEG with standard encoding, the converter copies the raw compressed bytes straight into the PDF — no pixel decoding, no re-compression. The output is byte-for-byte identical in image quality to the source file.

Steps

  1. Open jpg-to-pdf.app and drop your JPG photos onto the page.
  2. Make sure Photo quality is set to Original (this is the default).
  3. Choose your page size and margin settings.
  4. Click Convert to PDF.

Because everything runs in your browser, your photos are never uploaded to a server. There is no file-size limit beyond what your device's memory can handle, and no signup or watermark.

Method 2: macOS Preview

Preview on macOS can create a PDF from images, but it re-renders them through the Quartz graphics pipeline. This means every image is decoded and re-encoded — there is no raw-byte shortcut.

  1. Select your JPG files in Finder, right-click, and choose Open With → Preview.
  2. Select all thumbnails in the sidebar (⌘A).
  3. Go to File → Print, then click PDF → Save as PDF in the bottom-left corner.

The result is usually close to the original quality at screen resolution, but zooming in reveals compression artifacts that were not in the source file. For archival or print use, this method is not ideal.

Method 3: Windows Print to PDF

Windows 10 and 11 include a “Microsoft Print to PDF” virtual printer that works from any application, including the Photos app.

  1. Open your JPG in the Photos app.
  2. Press Ctrl + P and select Microsoft Print to PDF as the printer.
  3. Click Print and choose where to save.

Like Preview, this method re-renders the image. The output quality depends on the DPI setting in the print dialog — the default is often 96 DPI, which noticeably reduces detail for high-resolution photos. You can raise it, but there is no way to skip re-encoding entirely.

Method 4: img2pdf (Command Line)

If you prefer the command line, img2pdf is a Python tool that also uses the raw-byte embedding approach. It supports JPEG, JPEG2000, PNG, and TIFF.

pip install img2pdf img2pdf photo1.jpg photo2.jpg -o output.pdf

This is a solid choice for batch automation and scripting. The trade-off is that it requires Python installed and does not provide a visual preview or page-layout controls beyond basic sizing.

Quality Comparison

MethodRe-encodes?Quality lossBest for
Browser converter (Original mode)No (baseline JPG)NonePhotos, scans, archival
img2pdfNoNoneBatch / automation
macOS PreviewYesMinorQuick one-off on Mac
Windows Print to PDFYesModerate (DPI-dependent)No-install Windows option
Online converters (typical)YesVaries (often noticeable)Convenience (non-sensitive files)

How to Verify Your PDF Preserved Quality

If you want to confirm that no re-encoding happened, you can extract the image from the PDF and compare it to the original:

  1. Use pdfimages -j output.pdf prefix (part of the Poppler utilities) to extract embedded images as JPEG files.
  2. Compare the file sizes. If the extracted JPEG is exactly the same size as the source file, no re-encoding occurred.
  3. For a byte-level check, run diff original.jpg prefix-000.jpg. No output means the files are identical.

If the extracted image is smaller or a different size than the original, the converter re-encoded it. That does not necessarily mean visible quality loss, but it does mean the data is no longer identical.

When Re-Encoding Is Unavoidable

Some images cannot be embedded as raw bytes into a PDF. In these cases, the best you can do is re-encode at the highest quality available:

  • Progressive JPEGs. PDF requires baseline encoding. A progressive JPEG must be decoded and re-encoded as baseline. Most photos from cameras are already baseline, but images optimized for web display are often progressive.
  • CMYK color space. Some print-oriented JPEGs use CMYK. PDF supports CMYK, but many converters transform to RGB first — adding both a color-space conversion and a re-encode.
  • Photos needing rotation. If the image has an EXIF orientation tag and the converter applies it by rotating the pixel data, it must decode and re-encode. Converters that handle rotation via PDF page transforms can avoid this.
  • Non-JPEG formats. PNG, HEIC, WebP, and other formats must be decoded and converted to either JPEG or a raw bitmap stream inside the PDF. Use the highest quality setting your converter offers.

Tip

If your photos are in HEIC (iPhone default) or WebP and you care about preserving maximum quality, first convert them to baseline JPEG at quality 100 using a dedicated image editor, then convert the JPEGs to PDF. This limits re-encoding to a single generation.

Quality vs. File Size: Finding the Balance

Sometimes you want a smaller file and are willing to accept minor quality loss. The key is to make that trade-off intentionally rather than having it forced on you by a converter's hidden defaults.

  • JPEG quality 92–95: Nearly indistinguishable from the original in photos. Good for when you need a smaller file but still care about quality.
  • JPEG quality 72–85: Visible only when pixel-peeping or zooming in on fine detail. Practical for email attachments and web sharing.
  • JPEG quality below 60: Noticeable artifacts in gradients and text. Acceptable only for thumbnails or previews.

If you are building a PDF from photos and need to reduce file size, the converter's Smaller File mode uses quality 72 — a deliberate choice that keeps photos looking good while cutting file size by 40–60 %. For the full discussion, see the PDF compression guide.

Convert JPG to PDF — zero quality loss

Drop your photos, keep Original quality, and download a PDF that contains your exact source images. Free, private, no signup.

Open the Converter

Related