Images to PDF
Arrange JPEG and PNG images, choose a paper layout, and create one PDF in a dedicated browser worker.
Source images
JPEG or PNG · 40 files · 100 MB total
About this image to PDF converter
To turn JPEG or PNG images into a single PDF: choose the images, set their order with the arrows, pick a page size and a margin, and generate. Each image becomes one page, centred and scaled to fit inside the margins with its proportions kept.
JPEG and PNG only, up to 40 images and 100 MB in total, one page per image in the order shown on the page. The fixed sizes are A4 (595.28 × 841.89 points) and US Letter (612 × 792), with orientation matched to each image or forced to portrait or landscape; choosing "Fit each image" instead makes every page exactly the size of its image plus the margin and never enlarges the image. Margins are none, small, medium or large — 0, 12, 24 or 36 points. Every file is verified against its declared type by its own signature bytes, so something renamed to .png that is not a PNG is refused rather than embedded.
Step by step
- 1Add the imagesUp to 40 JPEG or PNG files, 100 MB in total. Each file’s bytes are checked against its declared type — a JPEG must begin FF D8 FF, a PNG with the eight-byte PNG signature — so a mislabelled or truncated file is refused before it can become a blank page.
- 2Put them in orderOne image becomes one page, top to bottom in the list. Each row has arrows to move it earlier or later. This is the step worth doing carefully: a scanned document out of order is the most common way this job goes wrong.
- 3Choose a page size and marginA4 or US Letter, with orientation matched to each image or forced to portrait or landscape; or "Fit each image", which builds every page around its own image and never enlarges it. Margins are 0, 12, 24 or 36 points.
- 4Generate and downloadThe PDF is built in this tab, reopened, and its page count compared with the number of images you supplied before a download is offered.
Two ways to lay the pages out, and when to use each
A4 and US Letter give you a document that prints and files like any other: every page the same size, each image centred and scaled to fill the printable area with its proportions kept. That is what you want for a receipt bundle, a set of scanned forms, or anything that will be printed, stapled or filed alongside other paper.
"Fit each image" instead makes every page exactly the size of its image plus the margin, and never enlarges the image. That is what you want when the images are screenshots, artwork or photographs of different shapes and you care more about them being shown at their own size than about a uniform page. It is also the setting that avoids a small screenshot being blown up to fill an A4 sheet and looking soft.
What happens to your photographs
Nothing is resized or re-encoded by this tool. The bytes you chose are handed to the PDF library’s JPEG or PNG embedder exactly as they are. The page size and margin change how the image is scaled when the page is displayed or printed; they do not change the image data written into the file.
That means the output can be large if the inputs are large — forty twelve-megapixel photographs make a large PDF, because all forty photographs are inside it. If the size matters more than the resolution, run the result through the PDF compressor on this site, which will re-encode the embedded JPEGs at a quality you choose and report the real before and after sizes.
Formats it does not accept, and why it checks
JPEG and PNG only. HEIC, WebP, TIFF, GIF and SVG are not accepted here. HEIC in particular catches people out, because it is what a modern iPhone produces by default — export or convert those to JPEG first.
The signature check exists because a file extension is a claim, not a fact. Renaming a HEIC file to .png does not make it a PNG, and a converter that trusts the name embeds bytes the reader cannot draw, producing a PDF with a blank or broken page that you will only notice after sending it. Checking the first bytes turns that into an error you see immediately.
Why the images never leave the tab
Every response from this site is served with a Content Security Policy whose connect-src directive is set to none. That is not a promise in marketing copy; it is an instruction to your browser, and the browser is the one enforcing it. While this page is open it cannot open a connection to anywhere — not to this site, not to anyone else — so there is no path by which your document could be uploaded, not by a bug, not by a future change, not by a script that should not be here. e2e/egress-proof.spec.ts asserts the served header and then tries to send data out by every route a page has and requires each attempt to be refused, and it runs on every build.
Photographs are among the most revealing files people convert — they carry faces, documents, whiteboards, and often an embedded GPS location from the phone that took them. If the location is the concern, the photo metadata tool on this site strips EXIF from the images before you bring them here.
The second half of the guarantee is that the code has nowhere to send anything from. lib/tools/local-source-policy.test.ts reads every source file under lib/tools, workers, components and app on every test run and fails the build if any of them contains fetch, XMLHttpRequest, WebSocket, EventSource, sendBeacon or a peer connection, or even a remote address written down in a comment. A tool here cannot acquire an upload by accident, because the file that would have to contain one cannot be committed.
Questions people ask
- Which image formats are accepted?
- JPEG and PNG. The bytes are checked against the type before embedding — a JPEG must begin FF D8 FF and a PNG with the eight-byte PNG signature — so a mislabelled or truncated file is refused and the page it would have become is never written. HEIC, WebP, TIFF, GIF and SVG are not accepted here.
- How many images can go into one PDF?
- Up to 40, and 100 MB across all of them. Both are checked as you add files, and adding more than 40 is refused with that number named. Files are placed one per page, top to bottom in the list, and each row has arrows to move it before you generate.
- How is each image placed on its page?
- Centred, with its aspect ratio kept, scaled to fit the page minus the margin on all four sides. On A4 or US Letter an image smaller than the printable area is scaled up to fill it; with "Fit each image" the page is built around the image, so the image is used at its own pixel size and never enlarged. A margin that would leave no printable area is refused.
- Does it re-compress my photos?
- The tool itself does not resize or re-encode them: the bytes you chose are passed to the PDF library’s JPEG or PNG embedder as they are. The page size and margin change how the image is scaled when the page is displayed or printed, not the image data that goes into the file.
- Is the generated PDF checked?
- Yes. It is loaded again after saving and its page count compared with the number of images you supplied; a mismatch fails the run. The producer is set to "Browser Tools" and the creation date to the moment the file was made.
- Can I convert a HEIC photo from my iPhone?
- Not directly — HEIC is not accepted, and renaming it will not help because the file is checked on its own signature bytes rather than its extension. Export the photos as JPEG from the Photos app, or set the camera to Most Compatible, and bring the JPEGs here.