Image Proxy
Liveimg.vappcdn.com
Resize, convert and cache images at the edge, close to your users.
Compatible with wsrv.nl URL parameters
- Resize, crop, and format conversion — WebP included.
- HMAC-signed URLs, so nobody can turn your proxy into their bandwidth.
- Private network ranges are blocked, so the proxy is not a way into your infrastructure.
- Origin-agnostic: point it at object storage, your own server, or anything over HTTPS.
request
—
—
—
—
—
—
The first pass is the true cost of doing the work. The second is that same URL, served from the edge cache.
—
—
—
Lookups go through a public recursive resolver. We probe NS, A, AAAA, CNAME, MX and TXT simultaneously.
Usage guide
1 · Resize
One url parameter, then the size. The result is cached at the edge and returned immediately next time.
html<img src="https://img.vappcdn.com/?url=https://example.com/photo.jpg&w=800"
alt="">2 · Crop, convert, quality
fit=cover crops to fill; a=attention lets the crop pick the region worth keeping. output and q control format and weight.
urlhttps://img.vappcdn.com/?url=…&w=600&h=400&fit=cover&a=attention&output=webp&q=823 · Responsive images with srcset
The browser picks the width it needs. Each variant is its own URL, so it caches indefinitely.
html<img
src="https://img.vappcdn.com/?url=…&w=800&output=webp"
srcset="https://img.vappcdn.com/?url=…&w=400&output=webp 400w,
https://img.vappcdn.com/?url=…&w=800&output=webp 800w,
https://img.vappcdn.com/?url=…&w=1600&output=webp 1600w"
sizes="(max-width: 700px) 100vw, 800px" alt="">4 · The path syntax works too
If your existing code is written in the path style, keep it — change only the hostname.
urlhttps://img.vappcdn.com/cdn-cgi/image/width=800,quality=82,format=auto/https://example.com/photo.jpgThe parameters you will reach for
The full wsrv.nl parameter set and the Cloudflare-style path syntax are both supported. Private network ranges are blocked, so the proxy is not a way into your infrastructure.
| name | accepts | notes |
|---|---|---|
| w / h | number | Target width and height in pixels. |
| fit | inside · outside · cover · fill · contain | How the image relates to the box. cover crops to fill; contain pads. |
| a | position | Crop anchor — the edges, or entropy / attention to let it choose. |
| dpr | number | Multiplies the size for high-density screens. |
| output | webp · avif · jpg · png · gif | Output format. Leave it off and the source format is mirrored. |
| q | 1–100 | Compression quality. |
| blur / sharp | number | Blur or sharpen. |
| filt | greyscale · sepia · negate · duotone | Colour treatment. |
| mask | shape | Mask to a shape — circle, star, hexagon and others. |
| ro / flip / flop | orientation | Rotate and mirror. |
| trim | number | Removes a uniform border. |
| we | flag | Never enlarge beyond the original. |