The boundary: the selected file is read as a browser File object. The conversion flow does not send the image contents to a Kivoza conversion endpoint.
What happens in the tab
The page checks that the file is non-empty, within the 20 MB per-file limit, and has a supported HEIC, HEIF, or static WebP container signature.
The browser decoder reads the bytes and renders the supported static image into browser memory. The decoded pixel count is checked against the 40 megapixel limit.
The pixels are drawn to a canvas. JPG output uses the selected quality and a white background for transparent pixels; PNG output can keep alpha transparency.
The result is held as a local object URL for the preview and download. A ZIP, when requested, is assembled in the same browser tab.
Why a file can fail
A file can be a valid-looking name without being a supported image. Renamed JPGs, empty files, damaged containers, animated WebP, codecs outside the decoder build, and files above the size or pixel limits are reported as individual failures.
Decoding also needs working memory. A phone or laptop with little free memory may fail on a large image even when the file is under the stated limit. Try one file, close other heavy tabs, or use a smaller source.
What “local” does and does not mean
Local processing means the image bytes used for conversion stay in the browser session. The HEIC tool requests its decoder resources, while WebP uses native browser decoding. The page currently uses no advertising or analytics script, and it does not require an account or a conversion cookie.
Your browser can still keep normal HTTP cache data, and any message you send to [email protected] is handled by your email provider. Do not include a private photo in a support message unless you intend to share it.
When to retry
- Use Retry after a temporary memory failure or after closing other heavy tabs.
- After changing the output format or JPG quality, press Convert all again. The files stay in the queue and their previous results are cleared.
- Use the preview and downloaded file to verify the result before you delete the original.
- Contact support with the file extension, size, browser, and visible error text. The file itself is optional.
For an action-focused walkthrough, read the iPhone HEIC to JPG guide or the WebP conversion guide. For output tradeoffs, read the JPG or PNG guide.
What we checked
On 18 September 2026, we recorded requests in Chromium 148 on Linux while converting the public libheif example.heic sample to JPG, switching to PNG without adding the file again, and downloading a ZIP. The observed flow made only GET requests for page resources and local blob URLs; no upload request was observed. The decoder loaded only after conversion began, and ZIP code loaded when ZIP download was requested. This describes the tested flow, not other websites or browser extensions.
Sources and verification
These instructions are maintained with the Kivoza converter. For the original file format and implementation references, see Apple’s guide to HEIF photos and libheif v1.23.4. Browser support and output can vary; always inspect your converted file before deleting the original.