Image Encoder
A software module that compresses raw pixel data into a specific image format (JPEG, PNG, WebP, etc.) with configurable quality and compression settings.
An image encoder converts uncompressed pixel data (RGB/RGBA buffer) in memory into a specific file format. The encoding process applies compression algorithms, prepends format headers, and embeds metadata. Each format has dedicated encoders: libjpeg-turbo for JPEG, libpng/OxiPNG for PNG, and libwebp for WebP.
Encoder quality is measured by the balance between compression efficiency (file size at equivalent quality) and processing speed. MozJPEG, for example, produces files 5-10% smaller than standard libjpeg but encodes more slowly. Choosing the right encoder depends on the use case.
For client-side processing, browsers provide built-in encoders via Canvas toBlob(), while WebAssembly-compiled encoders offer superior compression ratios for demanding applications.