wsrv.nl

Generates wsrv.nl (weserv) transformation URLs. Free, public image processing service. Can also be self-hosted.

use Timber\Chainsaw\Provider\Wserv\WservProvider;

$provider = new WservProvider(
    host: 'https://wsrv.nl',       // default; or self-hosted URL
);

Output: {host}/?url={source}&w=800&h=600&fit=cover

Manipulation support

Legend: ✅ = implemented in Chainsaw, 🟦 = available on the CDN, not exposed by Chainsaw, ❌ = not available on this CDN.

Resize & crop

Manipulation Chainsaw Availability
Width Free
Height Free
Scale No scale-by-factor primitive; use width()/height()
Cover Free (fit=cover; crop() alias; compass / focal / smart / attention / entropy anchors via a=)
ManualCrop Free
Contain Free
Pad Free
Stretch Free
CropToRatio No aspect-ratio-only crop; use cover() with absolute dims
PadToRatio No aspect-ratio-only pad; use pad() with absolute dims
Trim Free (tolerance, background color)
Precrop 🟦 Free (pre-resize crop)
Without enlargement 🟦 Free (we)

Filters & effects

Manipulation Chainsaw Availability
Blur Free
Sharpen Free
Brightness Free
Contrast Free
Gamma Free
Pixelate
Greyscale Free (via filt=greyscale)
Sepia Free (via filt=sepia)
Saturation Free (sat)
Hue rotation Free (hue)
Modulate 🟦 Free (combined brightness/saturation/hue)
Tint 🟦 Free
Negate Free (filt=negate)
Duotone 🟦 Free (filt=duotone with start/stop colors)
Sharpen flat/jagged 🟦 Free (sharpf, sharpj – fine-grained control)

Decoration & orientation

Manipulation Chainsaw Availability
Background Free
Border
Flip Free
Rotate Free; arbitrary angles supported with optional bg= fill
AutoOrient Free; EXIF orientation applied implicitly by default
Watermark
Mask shapes 🟦 Free (circle, ellipse, triangle, pentagon, hexagon, square, star, heart)
Mask trim 🟦 Free (remove whitespace from mask)

Special

Manipulation Chainsaw Availability
BlurHash
ThumbHash
Dither
Page selection 🟦 Free (multi-page documents)
Number of pages 🟦 Free (animated frames)
Progressive / interlace 🟦 Free (il)
Adaptive filter (PNG) 🟦 Free (af)
Lossless 🟦 Free (JXL/TIFF/WebP)
Base64 encoding 🟦 Free (encoding=base64)
Default / fallback image 🟦 Free
Filename 🟦 Free (Content-Disposition)

Encoding

Format Supported
JPEG
PNG
WebP
AVIF
GIF
TIFF 🟦
Auto format
Quality

Notes

  • Free public service – no API key or account required. Can also be self-hosted.
  • Blur – range mapped from 0…100 to sigma (multiply by 0.5, minimum 1).
  • Mask shapeswsrv.nl offers a unique mask feature with predefined shape cutouts.
  • Duotone – two-color effect with configurable start and stop colors, unique among free services.
  • Pixelate, Border, Watermark are not available.
  • Format::Auto is silently ignored — set an explicit format (emitted as output={value}) or compose a <picture> with typed sources.
  • No URL signing; the public endpoint is open to anyone.