Serveproxy

A free image proxy that makes your images smaller by converting them to AVIF

Serveproxy fetches the image, converts it, and serves it from Cloudflare's edge. No account and no API key. Try it with an image from your own site.

Works with JPEG, PNG, GIF, WebP, BMP, TIFF and SVG up to 5 MB.

What happens to a request

Conversion happens once per image. Every later request is answered from cache.

  1. Fetch

    On the first request we download the image from your server over HTTPS. Plain http:// sources are upgraded before fetching.

  2. Convert

    We read the real file type from its bytes, not its extension, and convert it to the smallest format that keeps it intact.

  3. Serve from the edge

    Cloudflare caches the result close to your visitors. Repeat requests never reach our origin.

See it work: https://serveproxy.com/?url=https://picsum.photos/1000/750

What you get back

The output format depends on what the source image actually is.

  • AVIF for JPEG, PNG, static GIF, BMP, TIFF and HEIC. Usually 50–75% smaller than JPEG at the same visual quality.
  • WebP stays WebP, unchanged. It is already well compressed.
  • Animated WebP for animated GIFs, so the animation keeps working at a fraction of the size.
  • SVG stays SVG, with scripts and embedded HTML removed.
  • JPEG XL instead of AVIF if you ask for it with jxl=true. See below.

Location data and other metadata are stripped from converted images.

Limits and behaviour

The same rules apply to everyone. Nothing here changes without notice on this page.

  • 5 MB maximum size for the original image.
  • 5,000 new images per IP address every 10 minutes. Images that are already cached don't count, so normal traffic never comes close.
  • 7 days of browser caching. Converted images never change, so give the original a new URL (for example ?v=2) when you update it.
  • Errors pass through. If your server answers 404, so do we. If it's down or too slow (15 seconds), you get a 502.

Every limit and error code is listed in the documentation. Live service status is at serveproxy.status.hesklo.com.

Using it on your site

Change the image address. Nothing else on your site needs to change.

Any website

Put https://serveproxy.com/?url= in front of the image address. Encoding the original address is recommended, and required if it has its own query string.

<img
  src="https://serveproxy.com/?url=https%3A%2F%2Fexample.com%2Fphoto.jpg"
  alt="Harbour at dusk" loading="lazy">

More examples, including JavaScript and responsive images, are in the documentation.

WordPress

The plugin rewrites image URLs on your pages automatically. Upload it under Plugins, Add New, then activate it.

JPEG XL

Optional. AVIF stays the default.

Add jxl=true as the first parameter, before url=. Everything after url= is read as the image address, so the order matters.

https://serveproxy.com/?jxl=true&url=https%3A%2F%2Fexample.com%2Fphoto.jpg

JPEG XL renders in Safari only; Chrome, Edge and Firefox don't display it by default. Serve it with an AVIF fallback:

<picture>
  <source type="image/jxl" srcset="https://serveproxy.com/?jxl=true&url=…">
  <img src="https://serveproxy.com/?url=…" alt="Harbour at dusk" loading="lazy">
</picture>

Both versions are cached separately.

Questions

Do older browsers get a fallback?

No. Serveproxy always returns AVIF for the formats in the table above. AVIF is supported by every current major browser. If you need to support older ones, wrap the image in <picture> with your original URL as the <img> fallback.

How do I know an image is coming from cache?

Open your browser's developer tools, select the image in the Network tab, and look for CF-Cache-Status: HIT in the response headers.

My original image changed. How do I get the new version?

Converted images are cached as immutable for 7 days. Change the image's URL, for example by adding a version like photo.jpg?v=2, and the new address is fetched fresh.

Can I use it on a commercial site?

Yes, within the terms of use. You must have the right to distribute the images you send through the service.

Do you store my images?

Only as a cache. We don't keep permanent copies or claim any rights to them. See the privacy policy for what is logged.

I need my own domain, or to purge the cache.

That's what Serveproxy CDN is for: custom domains with TLS, an instant purge API and per-site API keys, from €1 a month.

Support

Questions, problems or abuse reports go to [email protected]. Include the full Serveproxy URL and the X-Serveproxy-Image-Hash header if you have it.