Convert JPG to PDF online in seconds. Upload photos or scans, or paste URLs, and get one multi-page PDF - or a separate PDF per image. Also converts PNG, WebP, TIFF and HEIC. Up to 100 images per run, with page size, margin and quality control.
Converts JPG, JPEG, PNG, WebP, TIFF, BMP, GIF, HEIC, HEIF and AVIF images to PDF with ImageMagick.
Combines up to 100 images into a single multi-page PDF, one page per image, in the order supplied.
Converts each image to its own PDF instead when mergeIntoOne is off, returning the batch as a ZIP
under OUTPUT alongside one key-value record per PDF, with colliding output names de-duplicated.
Isolates failures in that mode: an unconvertible image is recorded on its own dataset record with
ok: false and the reason, and the rest of the batch still converts. Records are pushed as each
image is dealt with, so a run that dies part-way keeps the results it already had. A combined run
still stops on the first bad file, because one document cannot be partly right.
Falls back to a JSON manifest of the results when a batch's output is too large to pack into an
archive in memory, since the ZIP is assembled before it is uploaded.
Bounds a run with the family's shared budgets - file count, total input bytes, one file's size,
one image's pixels and the pixels across the run - each refused with the limit and the number that
hit it, plus a timeout on every download so one unresponsive host cannot stall the batch.
Accepts the source images as URLs (including the Apify Console file upload field) or, for a single
image, as base64.
Offers auto page sizing, which gives each page the image's own size and honours the resolution
recorded in the file, alongside fixed A4, Letter and Legal pages with per-image orientation and an
optional margin.
Applies EXIF rotation, flattens transparency onto white, and stores the images either as JPEG at a
chosen quality or losslessly.
Reads each file's header to tell a JPEG from a PDF, an HTML error page, an SVG or the .mov half
of a Live Photo, and fails with an explanation instead of an ImageMagick delegate error.
Writes the result to the key-value store under both OUTPUT and its filename, and pushes one
dataset record per conversion - one for a combined PDF, one per image for separate PDFs.