Skip to main content
Convertly picks the best encode format and quality per request while respecting browser capabilities and network conditions.
Photo exported with format=auto
Photo encoded with q=auto
Client hints sizing compared to explicit width

Format negotiation

format=auto (the SDK default) picks the best format from the browser’s Accept header:
  • AVIF when image/avif is advertised
  • WebP when image/webp is advertised
  • JPEG fallback for older browsers
<img src="https://cdn.convertly.sh/cvly_pub_.../{fileId}?w=1200&format=auto" alt="…" />
The CDN sets Vary: Accept so edge caches stay correct — at most two variants per URL (modern + JPEG). Force a specific format with format=webp, format=avif, format=jpeg, or format=png. For SVG tracing and SVG source handling, see Vector & SVG. For forced downloads, see Download.

Progressive JPEG

When output format is JPEG (explicit format=jpeg or negotiated from format=auto), Convertly uses progressive encoding by default. The full image appears quickly at low quality and sharpens as more bytes arrive — unlike baseline JPEG, which paints top-to-bottom.
Progressive vs baseline JPEG loading comparison
?w=1200&format=jpeg
?w=1200&format=jpeg&jpgProgressive=0
ParamValueDefault
jpgProgressive (jpeg-progressive, jpg-progressive)1 / true or 0 / false.1 when output is JPEG
The final decoded image is identical — only the byte stream order changes.

Content-aware quality

q=auto analyzes the source on the first cache miss and picks a quality band:
Image typeAuto quality
Flat graphic / logo92
Illustration / screenshot88
Mixed content82
Photo76
Very high-detail photo72
q=auto works inside presets too.

Client hints

Pass ch=Width,Dpr to opt into browser Client Hints for sizing. When w is omitted and ch=Width is set, the CDN uses Sec-CH-Width (CSS pixels) multiplied by dpr.
?ch=Width,Dpr&fit=cover&h=600

Metadata stripping

strip=all (or strip=1) removes EXIF/XMP/ICC from output. strip=icc keeps colour profile metadata but drops camera tags.
Portrait with metadata stripped

PDF pages and GIF frames

?page=1&w=1200&pdfDensity=200
?frame=3&w=800
ParamPurpose
pagePDF page number (1-based).
pdfDensityRasterization DPI (72600, default 150).
frameGIF frame index (0-based).

Network-aware quality

When the browser sends Save-Data: on, Convertly drops encode quality by 15 points (floored at 40). The route sets Vary: Save-Data and caches both variants independently — no client-side changes required. See Transforms overview → caching for cache behaviour with Accept and Save-Data.