# Images to PDF

> Combine JPG, PNG, HEIC and WebP photos into one PDF in your browser: page size, fit, margins, reorder and rotate. Nothing uploaded; EXIF and GPS are left out.

- URL: https://bytescope.dev/en/images-to-pdf/
- Locale: en · Also: [ja](https://bytescope.dev/ja/images-to-pdf.md) · [zh-Hant](https://bytescope.dev/zh-Hant/images-to-pdf.md)
- Runs: Your files never leave your browser — all processing is local.
- Requires: Any modern browser (Chrome, Edge, Firefox, Safari), desktop and mobile.
- Updated: 2026-09-08

## What it does

A receipt photographed on a phone, both sides of an ID card, six pages of homework, a stack of whiteboard shots: this page turns them into one PDF, one image per page, without uploading anything. Drop in JPEG, PNG, WebP, HEIC, AVIF, GIF or BMP files, drag them into order, rotate any that came in sideways, and pick a page size (A4, Letter, Legal, A5, or a page the size of each image), an orientation (automatic, portrait or landscape), how the image sits on the page (fit inside, fill and crop, or original size) and a margin. Then download.

### JPEG stays JPEG — minus the EXIF

A JPEG is placed into the PDF as the same compressed bytes it arrived with, so there is no second round of compression and no loss of quality. Before that happens the `EXIF` block is removed, which is where a phone writes the camera model, the time and the GPS position, so the location of the photo does not travel into the PDF. Orientation is handled by the page transform rather than by rotating pixels, so the picture is upright without being re-encoded. WebP, HEIC, AVIF, GIF (first frame) and BMP cannot be embedded directly and are converted to JPEG at quality 90 first; PNG is embedded from its decoded pixels, losslessly.

### What the PDF does not carry

The output is created with no Document Information Dictionary — no author, producer, creation date or tool name — and, as above, no EXIF or GPS from the photos. After it is written it is loaded again and its page count is checked against the number of images; a mismatch is an error, not a download. Something it also does not carry is text: the PDF is pictures of pages, not searchable text, because this page does no OCR. If you need to search or copy the text, that is a separate step.

HEIC and AVIF are decoded by the browser where it can, and by a bundled decoder where it cannot, which is noticeably slower for large photos. Everything else is plain File API and JavaScript in this tab: turn the network off and the page still produces the PDF, which is the property you want for ID cards, medical forms and anything with an address on it.

## Limits

Does not run OCR (the output is images, not searchable text), does not edit the pictures beyond fit/fill placement and 90-degree rotation, and does not convert RAW camera files or PDF pages.

## FAQ

### Are my photos uploaded?

No. The images are read with the File API, the PDF is assembled in JavaScript in this tab, and the download is a file your browser built in memory. There is no API behind the page, so an ID scan or a photographed medical form has nowhere to go but your own disk.

### Does the photo's location or camera data end up in the PDF?

No. For a JPEG the `EXIF` segment — camera model, timestamps and GPS coordinates — is removed before the bytes are embedded, at the byte level, without touching the image data. The PDF itself is written with no author, producer or dates either. Orientation is preserved by how the image is placed on the page, so the photo stays upright even though its orientation tag is gone.

### Will my images lose quality?

JPEG and PNG: no. A JPEG's compressed bytes go into the PDF exactly as they are, so nothing is re-encoded; a PNG is embedded from its pixels, losslessly. WebP, HEIC, AVIF, GIF and BMP cannot be embedded directly, so they are converted to JPEG at quality 90 first — a small, usually invisible loss. Scaling to fit the page is done by the PDF viewer at display time, not by resampling the pixels.

### Can I convert HEIC photos from an iPhone?

Yes. HEIC (and AVIF) files are decoded in the browser — natively where the browser supports the format, otherwise by a bundled decoder, which is slower on big photos. The decoded image is then saved as JPEG at quality 90 and placed on the page. Nothing is sent anywhere in either case.

### Can I search or copy the text in the resulting PDF?

No. Each page is an image, exactly as the photo was; no OCR is run, so a PDF viewer sees pictures rather than words. That is fine for receipts and forms you only need to hand in. If you need a searchable PDF, run the output through an OCR tool afterwards.

## Related tools

- [Merge PDF](https://bytescope.dev/en/pdf-merge.md) — Combine the result with other PDFs, in any order.
- [Split PDF](https://bytescope.dev/en/pdf-split.md) — Cut a PDF into parts, pull out pages or drop some.
- [Image Format Converter](https://bytescope.dev/en/image-convert.md) — Convert HEIC, WebP or AVIF to JPG or PNG as separate files instead.
- [Compress Image](https://bytescope.dev/en/image-compress.md) — Shrink big photos first so the PDF stays small.
- [Remove PDF Metadata](https://bytescope.dev/en/pdf-metadata.md) — Check which author, producer and dates any PDF carries, and strip them.
