HEIC codec credits and licenses

HEIC decoding uses libheif-js 1.23.2. Encoding uses elheif 0.1.0, a wrapper around libheif, libde265 and Kvazaar. These libraries are loaded separately. The encoder JavaScript adapters are precompiled by pdftoimg so that runtime code generation is not required. The WebAssembly bytes are unchanged.

The original browser modules are served at libheif-bundle.mjs and elheif-wasm.js. The active encoder is elheif-csp.js; our full adapter preparation source reproduces it from elheif 0.1.0 with Node 22 or newer. Install the pinned package and run this script from the project root. You may substitute compatible modified builds at the active module paths using browser local overrides, or rebuild the site with your replacement library. Reverse engineering for debugging modifications to these libraries is not restricted by this site.

HEIC to PDF · PDF to HEIC