AO

tool · live · runs on your machine

Images to PDF

Turn photos or scans into a single PDF — including iPhone HEIC, which most converters refuse. Nothing is uploaded — your files never leave this tab. No sign-up, no size cap, no daily limit.

Drop files here or click to choose · or paste from clipboard

Photos and scans into one document

Phone photographs of paperwork are how most documents get "scanned" now. The problem arrives at the other end: almost everything that accepts a document — a form, a claim, an application, a submission portal — wants a single PDF, not eleven separate images.

Drop the images here in order and get one PDF back.

iPhone photos work here

This is the part most converters get wrong. iPhones shoot in HEIC, and PDF cannot contain a HEIC image, so the majority of "images to PDF" tools simply reject the files your phone actually produced.

This page accepts them, because it already carries a HEIC decoder for its other image tools. The same is true of WebP, AVIF, GIF and BMP: PDF can only embed JPEG and PNG directly, so anything else is decoded here and re-encoded as a high-quality JPEG on the way in.

JPEG and PNG go straight through, embedded byte-for-byte with no re-encoding at all, so those lose nothing whatsoever.

Page size

Fit each page to its image gives every page the exact proportions of the picture on it. Nothing is cropped, nothing is letterboxed, and the PDF is the smallest it can be. This is usually what you want for photographed documents.

A4 or US Letter produce a conventional printable document, with each image scaled to fit and centred. Add a margin in points (72 to the inch, so 36 is a half-inch) if the result will be printed and you want a border.

And it stays here

Photographed paperwork is, almost by definition, the sensitive kind: identity documents, signed contracts, receipts, medical letters. Every image is read and converted inside this tab. Nothing is transmitted, so there is nothing to trust, no retention policy to read, and no cap on how many pages you can put in.

For machines

window.AOImagesToPdf.imagesToPdf(blobs, {pageSize, margin}) -> Promise<{blob, pages}> — Build a PDF from an ordered array of image Blobs. pageSize: fit|a4|letter. margin in points (72 per inch). Formats PDF cannot embed directly are decoded and re-encoded first.

A machine-readable description lives at index.md. Third-party components and their licences are listed on the licences page.