Skip to content

How OfflinePix works

The whole converter is a web page. There is no upload endpoint, no server-side processing and no account. Here is what actually happens when you drop a file.

Decoding

HEIC and HEIF are decoded by libheif, the same open-source library most desktop tools use, compiled to WebAssembly. JPG, PNG, WebP, GIF, BMP and TIFF are decoded by your browser's own image engine. AVIF uses the browser's decoder where it has one and a bundled libavif WebAssembly decoder where it does not, so it works even in browsers that cannot display AVIF.

Resizing

If you set a maximum size, the image is scaled to fit within it with high-quality resampling, halving in steps for large reductions so the result stays sharp. Images already within the limit are not touched. Upscaling is not offered because it cannot add detail.

Encoding

JPG and PNG are written by the browser's canvas encoder. WebP is written by libwebp and AVIF by libavif, both compiled to WebAssembly from the jSquash project, because browsers' own WebP and AVIF encoders are inconsistent or missing. HEIC cannot be written by browsers, so "same format" for a HEIC source produces JPG.

What is preserved and what is not

  • Orientation is applied to the pixels, so photos come out the right way up everywhere.
  • Transparency is kept for PNG, WebP and AVIF output and flattened onto white for JPG.
  • Colour is converted to standard sRGB. HDR and wide-gamut sources are tone-mapped.
  • EXIF and other metadata, including GPS location, are removed. We treat this as a feature; it is also why converted files are a little smaller.
  • Animation is not preserved; the first frame is converted.

Working offline

On your first visit the site registers a service worker that caches the page, the scripts and the codecs the first time each is used. After that it loads and converts with no network at all. You can install it to your home screen or desktop like an app.

Limits

The limit is your device's memory, not a quota. A 48-megapixel photo decodes to about 200 MB of pixels; phones with little free memory may fail on very large files or very large batches. Conversions run in background threads so the page stays responsive, two or three at a time.

What we measure

Page views, in aggregate, using privacy-respecting analytics. Nothing about your files is recorded, because nothing about your files ever reaches us.

Independence

OfflinePix is built and operated by Goods Media LLC, a small software company in Fountain Hills, Arizona. It is supported by advertising. Report a problem at hello@offlinepix.com.