Early access

Store an image once. Serve it in every size and format.

pixlserv is an image service for websites. It keeps your originals and delivers them resized, cropped and re-encoded on the fly, from the image URLs your site already uses.

Questions? Write to hello@pixlserv.com.

Illustration: one stored original is requested by URL and delivered as three variants: an 800 pixel wide AVIF, a 400 pixel square WebP crop and a 320 pixel wide JPEG.

Speaks the image URL formats of

  • Cloudflare Images
  • Next.js
  • Vercel
  • Netlify
  • AWS Amplify

Features

An image pipeline in a URL

Upload the original. Everything after that is a request: the size, the crop, the format and who is allowed to see it.

  • Resize and crop

    Set width, height, fit, gravity, pixel density and quality in the URL. Each variant is rendered on its first request, then stored and cached.

  • Format negotiation

    AVIF, WebP, JPEG or PNG, chosen from what each browser says it accepts. Or name the format yourself.

  • Signed URLs

    Serve private images through expiring, signed links. The signature covers the path and every parameter, so a link can't be edited into another one.

  • SVG sanitising

    SVG uploads are sanitised before they are served, so a vector file can't carry scripts onto your pages.

  • Purge by tag

    Tag images as you store them. When content changes, purge every cached variant that carries a tag in one call.

  • Your hostname

    Image URLs can stay on your own domain. Or start on a subdomain such as acme.pixlserv.io.

Drop-in compatible

Keep the image URLs you already have

pixlserv understands the URL formats below. Point the image path at pixlserv and leave your markup, components and query strings as they are.

  • Cloudflare Images Named variants and transformation options

    /<account-hash>/<image-id>/<variant> /_pixl/cf/width=800,format=auto/photos/harbour.jpg
  • Next.js The built-in image optimiser path

    /_next/image?url=%2Fphotos%2Fharbour.jpg&w=828&q=75
  • Vercel Image optimisation for other frameworks

    /_vercel/image?url=%2Fphotos%2Fharbour.jpg&w=828&q=75
  • Netlify Image CDN

    /.netlify/images?url=/photos/harbour.jpg&w=800&fm=webp
  • AWS Amplify Hosting image optimisation

    /_amplify/image?url=%2Fphotos%2Fharbour.jpg&width=800
  • Nuxt On request A module with an image provider

    <NuxtImg src="/photos/harbour.jpg" width="800" format="avif" />

Cloudflare reserves the /cdn-cgi/image/ path, so those options are served under /_pixl/cf/: same options, one prefix to change.

How it works

From original to delivered image in three steps

  1. Bring your images

    Upload originals, or let pixlserv fetch them from the origin you serve them from today.

  2. Ask by URL

    Request any size, crop, quality or format, in pixlserv's own URL options or in the format your framework already writes.

  3. Rendered once, then cached

    The first request renders the variant. It is stored and cached, so later requests are answered from a cache close to the visitor.

Want pixlserv in front of your images?

Tell us about your site and how it serves images today. We read every message and reply ourselves.