HEIC to PDF Converter
Drop your photos in, set the page up, and download the PDF. It reads the real pixel dimensions of every image, works out how much of the page each one will fill, and warns you when a photo is too small to print cleanly at that size. Your files are never uploaded: the whole thing happens in this browser tab.
- Nothing uploaded
- Works with no signal
- No sign up
- Searchable output
Nothing added yet. Each image becomes one page, in the order shown.
Page preview
Showing page 1.
Nothing here is uploaded. The images are read by this page, the PDF is assembled in memory, and the download comes from your own machine. Close the tab and it is all gone.
Your files never leave this device.The images are read by your browser, the PDF is built here in the page, and the download comes from your own machine. Nothing is sent to a server, so nothing is stored on one. Open the network tab in your browser tools and convert something: there is no upload request to see.
Every image gets a page of its own
A PDF page has a fixed size and your photos do not. Each image is scaled to fit inside the margins without distorting it, and the effective print resolution is shown so you can see whether a picture is sharp enough for the paper.
How to use this tool
Drop your photos onto the panel above, or click it and pick them from the file browser. HEIC and HEIF both work, which covers everything an iPhone or iPad has produced since 2017. The first photo you add triggers a one off download of the decoder, so the very first conversion in a session is slower than the ones after it. Each photo becomes one page, and dragging a thumbnail onto another changes the order.
The setting people leave alone when they should not is the page size. It defaults to A4, and a photo whose shape does not match A4 gets white bands down two sides. If you want the page to follow the picture instead of the other way round, switch page mode to match the image and the page is cut to the exact aspect of the photo. Watch the resolution figure in the summary cards as you change things, because that is the number that decides whether the result prints cleanly or looks soft.
What the conversion is actually doing
A HEIC file is not a picture in the sense a JPEG is. It is a HEIF container holding a single still frame of HEVC video, along with metadata for orientation, colour profile and sometimes depth. The tool hands that container to a HEVC decoder compiled to WebAssembly, which returns uncompressed pixels. Those pixels are drawn to a canvas, re encoded as JPEG, and placed on a PDF page at a position and scale worked out from the page size, the margins and the fitting mode.
The resolution figure comes out of that last step. Once the tool knows how many millimetres wide the picture will be printed, it divides the pixel width by that measurement in inches. A photo can be enormous in pixels and still print soft if you stretch it across a large page, and a modest photo can print sharply on a small one. That is why the warning is tied to the page size rather than to the file.

Why a browser cannot open a HEIC on its own
This is the part that confuses people, because the same laptop that refuses to open a HEIC photo will happily play an HEVC video on a streaming site. The difference is not capability, it is licensing and scope. HEVC is covered by several patent pools, and browser vendors have generally licensed video playback through the operating system or a hardware decoder rather than shipping a general purpose HEVC still image decoder they can expose to any web page.
Safari is the exception, because macOS and iOS decode HEIC at the system level and Safari can call into it. Chrome, Firefox and Edge on Windows cannot, so the file lands as an unknown type. You can confirm this in one line: open the console on any page and run ImageDecoder.isTypeSupported("image/heic"). On Chrome for Windows it returns false, while the same call for image/avif returns true. This tool sidesteps the problem by carrying its own decoder rather than asking the browser for one, which is also why it works identically on every desktop browser.
A worked check you can repeat on paper
Take a photo that is 1280 pixels wide by 854 tall, leave the page size on A4 and the margin on 10 mm, and keep the fitting mode on whole image. The tool reports 117 dpi. Here is where that comes from.
The photo is landscape, so with orientation on auto the page turns with it and you get A4 landscape, 297 by 210 mm. The tool confirms this in the preview label, which reads 297 by 210 mm. Taking 10 mm off each side leaves a printable width of 297 minus 20, so 277 mm. Converting to inches, 277 divided by 25.4 gives 10.906 inches.
Now check that width really is the limiting dimension. The photo aspect is 1280 divided by 854, which is 1.499. Fitted to a 277 mm width the printed height would be 277 divided by 1.499, so 184.8 mm, and that sits inside the 190 mm of printable height available. Width governs, as assumed. The resolution is therefore 1280 pixels divided by 10.906 inches, which is 117.4, displayed as 117 dpi.
That figure lands below the 150 dpi threshold, which is why the status line offers a smaller page as the fix. Drop the page to A5 and the printable width roughly halves, so the same photo lands near 235 dpi with nothing else changed. The arithmetic above was worked independently of the tool and matches what the tool reports, which is the check worth doing whenever a number matters.
Mistakes that catch people out
- Expecting the PDF to be smaller than the HEIC. It will usually be larger, sometimes by half again. HEVC compresses a still photo better than JPEG does, and a PDF cannot carry HEVC, so the picture has to be re encoded into a bulkier format. Nothing has gone wrong. If size matters more than fidelity, drop the quality slider before building.
- Leaving the page on A4 when the photo is a different shape. A 4 by 3 phone photo on an A4 page leaves white bands, because A4 is a narrower rectangle than the picture. Switch page mode to match the image and the bands disappear.
- Ignoring the resolution warning until after printing. The number is shown before you build the file, not after. Below roughly 150 dpi a photo looks fine on screen and visibly soft on paper, and the only fixes are a smaller page or a larger original.
- Adding a large batch and assuming it has frozen. Decoding is processor bound and runs one photo at a time, so a folder of full size phone photos takes a while. The count updates as each one finishes, so use that rather than the spinner to judge progress.
- Converting when you did not need to. If you keep hitting this problem, the cause is the camera setting rather than the files. On an iPhone, Settings then Camera then Formats then Most Compatible makes new photos save as JPG, which every device already opens.
Related Calculators and Reference
- JPG to PDF Converter, the same page engine for photos that are already in a format every device reads. Use it once you have switched your camera to Most Compatible.
- PNG to PDF Converter, for screenshots and exported graphics, where sharp edges matter more than photographic detail.
- Merge PDF Files, the next step when the photos are one part of a document that also has scans or reports in it.
- Compress PDF, worth running afterwards if the finished file is going out by email and the size has crept up.
- PDF to JPG Converter, for the return trip, when someone sends back a PDF and you need the pictures out of it again.
- The container format is specified in ISO/IEC 23008-12, Image File Format, the standard behind HEIF and therefore HEIC. Read the current 2025 edition listing at ISO for the authoritative scope.
