Skip to main content

Image Compression

These settings control how go-dims compresses output images across supported formats: JPEG, PNG, and WebP.

Defaults are tuned for a balance of quality, size, and performance. If you have stricter performance, bandwidth, or quality goals, you can override them here.


JPEG Compression

DIMS_JPEG_QUALITY

Controls overall JPEG image quality (1–100).

  • Default: 80

A higher value improves quality at the cost of file size.


DIMS_JPEG_INTERLACE

Enables progressive (interlaced) JPEGs, which load in multiple passes.

  • Default: false

DIMS_JPEG_OPTIMIZE_CODING

Enables Huffman table optimization for slightly smaller files.

  • Default: true

DIMS_JPEG_SUBSAMPLE_MODE

Controls chroma subsampling (reducing color detail to save space).

  • Default: true (subsampling enabled)

DIMS_JPEG_TRELLIS_QUANT

Enables trellis quantization for better compression at same quality.

  • Default: false

More CPU-intensive, but can reduce file size slightly.


DIMS_JPEG_OVERSHOOT_DERINGING

Improves visual quality in sharp transitions (e.g., text or edges).

  • Default: false

May improve detail slightly in compressed images.


DIMS_JPEG_OPTIMIZE_SCANS

Enables scan optimization (more efficient progressive JPEG encoding).

  • Default: false

Reduced file size at the cost of increased compression time.


DIMS_JPEG_QUANT_TABLE

Selects a predefined quantization table.

  • Default: 3

See libvips documentation for available options.


PNG Compression

DIMS_PNG_INTERLACE

Enables Adam7 interlacing (progressive PNG).

  • Default: false

DIMS_PNG_COMPRESSION

Compression level from 0 (fastest) to 9 (best compression).

  • Default: 4

Higher values compress more but take longer to encode.


WebP Compression

DIMS_WEBP_QUALITY

Controls visual quality for WebP output (1–100).

  • Default: 80

DIMS_WEBP_COMPRESSION

Selects WebP compression mode.

  • Default: lossy
  • Options: lossy, lossless

DIMS_WEBP_REDUCTION_EFFORT

Effort level from 0 (fastest) to 6 (slowest, best compression).

  • Default: 4

Use higher values to reduce size at the cost of CPU usage.