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.
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
-
Bring your images
Upload originals, or let pixlserv fetch them from the origin you serve them from today.
-
Ask by URL
Request any size, crop, quality or format, in pixlserv's own URL options or in the format your framework already writes.
-
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.