About Image2PDF
Image2PDF is a free web tool that turns JPG, JFIF, PNG, WEBP and BMP images into a PDF and can merge two existing PDFs into one. It runs in your browser: the images and PDFs you select are processed on your device and are not uploaded by the site's code. There is no account to create and no watermark on the output. The site carries ads from Google AdSense.
Who makes Image2PDF
Image2PDF is built and maintained by Josh, an independent developer. Questions, bug reports and suggestions go to him directly through the Contact page.
How the converter works
All of the work happens in the browser tab, using standard web APIs and pdf-lib, an open-source JavaScript library for creating and editing PDF files. When you convert a batch of images:
- Reading the files: each image is read into memory with the browser's File/Blob API
(
file.arrayBuffer()). The real format is detected from the file's first bytes, not its extension, so a PNG or WEBP saved with a .jpg name is still handled correctly. - Preparing each image: JPG and JFIF files usually go in unchanged and PNG pixels are kept without lossy compression, while WEBP, BMP and phone photos that need rotating are drawn onto a canvas and re-encoded as JPEG. The format notes on the converter page list the exceptions.
- Building the PDF: pdf-lib creates the document in memory, adds one page per image and applies your page size, orientation and scale settings. An image that cannot be read or embedded is skipped and named in a message; if none of the images can be used, nothing is downloaded.
- Download: the finished PDF is turned into a Blob in your browser's memory and saved through a local download link. It is not sent anywhere.
The PDF merger works the same way: both PDFs are read in the browser, pdf-lib copies the pages of PDF 1 and then the pages of PDF 2 into a new document, and the result is downloaded locally.
A conversion or merge needs no network access: pdf-lib is already in memory once the page is open, so losing the connection partway through does not stop it. The site has no service worker, so a reload without a connection fails. How long a conversion takes depends on your device and the size of the images, not on an upload.
Privacy: what is and isn't sent over the network
The site's code never uploads your images or PDFs. The page itself does load third-party resources, and these receive normal visit data (such as your IP address and browser details) but not your files:
- Google AdSense: shows the ads and Google's consent message, which use cookies and local storage.
- Cloudflare Web Analytics: cookieless page-view counting, added by Cloudflare, which hosts the site.
- pdf-lib: loaded from cdnjs (or jsDelivr as a fallback) and checked against a Subresource Integrity (SRI) hash, so the browser refuses a modified copy.
You can check this yourself: open the developer tools, go to the Network tab, reload the page, then run a conversion. You will see requests for the page, ads, analytics and the pdf-lib library, but none that carries your images or PDFs. The Privacy Policy has the details.
What it does, and its limits
A batch can hold up to 20 JPG, JFIF, PNG, WEBP or BMP images (35 MB each, 200 MB in total); HEIC/HEIF photos cannot be read because most browsers cannot decode them. The merger joins exactly two PDFs and cannot open encrypted ones, including PDFs that open without a password but restrict printing or editing.
The converter page lists the exact limits and known limitations, and the FAQ explains each setting with examples.
Contact
Bug reports, questions and feature suggestions are welcome. Use the Contact page or email [email protected]. If something does not work, include your browser name and version and the type of file you used.