Executive Summary
The v85 converter correctly applied EXIF orientation 6 once, retained all decoded pixels, and preserved alpha with a PDF soft mask. Ordinary photos were re-encoded as quality-92 JPEG, so pixels changed slightly and the PDF was often larger than the HEIC. Source EXIF, dates, descriptions, and ICC profiles were removed. Keep the original HEIC for archival or color-managed print work.
HEIC-to-PDF compatibility matrix
| Test | Result | What survived | What changed or disappeared |
|---|---|---|---|
| sRGB landscape | Pass | 1200 × 800 decoded and embedded; corner orientation correct. | Re-encoded as JPEG; 44,092-byte HEIC became a 58,297-byte PDF. |
| EXIF orientation 6 | Pass | Stored 1200 × 800 pixels displayed upright as 800 × 1200. | Orientation was baked into pixels; EXIF description and dates were removed. |
| Transparent alpha | Pass after v85 fix | 800 × 600 image embedded as PNG with an 800 × 600 soft mask. | Original HEIC container metadata was not copied. |
| Display P3 gradient | Partial | Gradient decoded, retained 1000 × 700 dimensions, and rendered without banding or clipping. | Display P3 ICC profile was not embedded in the PDF; do not treat the output as color-managed archival media. |
| High-detail pattern | Pass with recompression | All 2400 × 1600 decoded pixels were embedded. | Quality-92 JPEG changed 12.916% of pixels by more than three channel values on this hard-edged stress pattern. |
Source: GoPDFConverter HEIC-to-PDF Compatibility Dataset, Chrome production path v85, July 10, 2026. Fixture and output SHA-256 values are included in the CSV.


Does HEIC-to-PDF conversion preserve quality?
It preserves the decoded width and height, but that is not the same as preserving the original compressed pixels. Standard HEIC photos are decoded to RGBA pixels and then encoded as JPEG at quality 92 for a compact, widely readable PDF. Across the four opaque fixtures, mean absolute RGB-channel error ranged from 1.120 to 4.957 on a 0–255 scale. The hard checkerboard produced the largest measured difference because JPEG is poorly suited to sharp alternating edges.
The PDF can also be larger than the HEIC. HEIC uses HEVC compression efficiently; wrapping a newly encoded JPEG plus PDF structure does not promise a smaller file. This converter optimizes for a shareable document, not for beating the source file size.
Does HEIC-to-PDF conversion preserve metadata?
No. The test fixture contained EXIF orientation, a synthetic description, and synthetic capture dates. Orientation affected the decoded pixels, but the source EXIF block was not copied into the PDF. The Display P3 fixture decoded visibly, but its ICC profile was not embedded in the resulting PDF image.
This metadata removal can reduce accidental sharing of capture details, but it is not presented as a universal metadata-scrubbing guarantee. Other HEIC structures were not tested. If metadata removal matters legally or operationally, inspect the actual output with a dedicated metadata tool.
Does the browser upload the HEIC photo?
After a safe 44,092-byte fixture was selected and converted, Chrome recorded decoder/library GET requests, local blob: reads, and Google Analytics requests. No remote request body matched the input or output size, no conversion API was called, and the analytics completion event contained the tool name and output size—not the photo bytes.
| Observed destination | Purpose | Photo or PDF bytes? |
|---|---|---|
cdn.jsdelivr.net | Loaded PDF-LIB and libheif-js code after conversion began. | No; GET requests for public JavaScript/WASM assets. |
blob:https://gopdfconverter.com/… | Browser-local decoded image and generated download. | Local object URLs; not a network destination. |
google-analytics.com | Page analytics and pdf_tool_complete measurement. | No file bytes; event metadata included the tool and output size. |
| Conversion endpoint | None observed. | No upload request occurred. |
For a repeatable check on your own device, use the two-minute browser network test with a non-sensitive sample first.
Download the five HEIC test fixtures
These deterministic files contain only synthetic shapes, labels, gradients, and test metadata. They are published so another HEIC converter can be tested against the same inputs.
| Fixture | Input property | Bytes | SHA-256 |
|---|---|---|---|
| sRGB landscape HEIC | 1200 × 800, nclx color | 44,092 | d97193e4…e8e289 |
| EXIF orientation 6 HEIC | 1200 × 800 storage, 800 × 1200 display | 36,292 | 00ae8dea…f8354 |
| Transparent HEIC | 800 × 600 with alpha | 35,374 | b782c6ca…6a5d6 |
| Display P3 HEIC | 1000 × 700 with ICC profile | 16,734 | 4dc47ea2…b4ebc |
| High-detail HEIC | 2400 × 1600 checkerboard stress pattern | 124,002 | 14bc863d…6093 |
Download fixture manifest Download validated results Open HEIC to PDF
Method
- Generate deterministic inputs.
Pillow created five synthetic source images. libheif 1.21.2 encoded HEIC fixtures with orientation, alpha, nclx, or Display P3 ICC properties. SHA-256 hashes identify the exact files.
- Run the production browser path.
Chrome 150 executed the same v85 libheif-js 1.19.8 decoding, canvas rendering, PDF-LIB embedding, automatic orientation, and 20-point margin used by the public tool.
- Trace network requests.
Chrome DevTools Protocol recorded request URL, method, type, and request-body length from file selection through the completion event.
- Validate independently.
heif-convertdecoded the source outside the browser. Poppler 26.05.0 checked PDF pages, page boxes, embedded image types, dimensions, and alpha soft masks, then rendered each first page at 72 DPI. - Compare renders.
The 20-point PDF margin was removed and the remaining image region was compared with the independent source decode using PSNR, mean absolute error, and percent of pixels changing by more than three channel values.
Limitations and next questions
This lab does not yet test HDR gain maps, 10-bit tonal accuracy, depth maps, Live Photo video, image sequences, auxiliary thumbnails, monochrome HEIF, malformed containers, very large phone panoramas, or every ICC/nclx combination. A multi-image HEIC container may contain more than one item; the current converter uses the primary decoded image from each selected file.
Output SHA-256 values identify this run but can change between otherwise equivalent conversions because PDF creation timestamps change. Source fixture hashes are stable.