Make every image tiny.
Koala shrinks JPEG, PNG, WebP and AVIF by 50–80% with no perceptible quality loss — in your browser, your build pipeline, or your AI workflow.
Drop your images here
or browse files · paste works too
Up to 100 images · 4 MB each · JPEG, PNG, WebP, AVIF, TIFF, GIF
- No sign-up
- Nothing stored
- Free while in early access
SMART LOSSY
Can you tell the difference?
Drag the handle. Koala compressed this photo by −42% (598 KB → 350 KB) using its perceptual quality search. Compress your own image above and it will appear here.


WHY KOALA
Compression is table stakes. Workflow is the product.
Koala pairs a best-in-class open-source encoder stack — mozjpeg, libimagequant, libwebp, libaom — with the developer experience the incumbents never shipped.
Smart lossy by default
Every image gets a perceptual quality search: Koala probes the encoder and keeps the smallest file that still looks identical, guarded by a structural-similarity check.
Modern formats
One-flag conversion to WebP and AVIF for 30–80% extra savings over legacy JPEG/PNG. Auto mode keeps whatever format you send.
API-first
A single POST with your image bytes — no SDK required. Deterministic outputs, savings reported in headers, batch + ZIP built in.
Private by design
Images are processed entirely in memory and never written to disk. No accounts, no storage, no tracking pixels.
- typical file-size reduction
- 50–80%
- per image, including AVIF
- <2s
- stored after your request ends
- 0 bytes
DEVELOPER API
One POST away.
No SDK, no signup, no multipart ceremony unless you want it. Send bytes, get smaller bytes — with the savings math in the headers. Deterministic outputs make it safe to cache and safe to re-run in CI.
- POST
/api/compress— raw bytes or multipart in, optimized image out - POST
/api/compress-url— fetch + compress a remote image - POST
/api/batch— up to 20 images in, ZIP out - GET
/api/status/:id— batch job progress - GET
/api/health— service status
curl -X POST \
"https://koala.brighter.la/api/compress?preset=web&format=webp" \
-H "Content-Type: image/jpeg" \
--data-binary @photo.jpg \
-o photo.webp
# savings are reported in response headers:
# x-original-size: 612352
# x-compressed-size: 231188
# x-savings: 0.6224PRICING
Free while in early access
Pay for images processed, nothing else. Paid tiers land soon — early-access usage is on the house.
Free
Available nowEverything you need to ship faster pages today.
- Unlimited web compressions
- 100 API images / month
- All formats: JPEG, PNG, WebP, AVIF
- Smart lossy, lossless & presets
- No account required
Pro
Coming soonFor products and agencies with steady volume.
- 10,000 API images / month
- Priority processing
- Batch up to 100 images per request
- Email support
Scale
Coming soonFor pipelines that never stop generating images.
- 50,000 API images / month
- Custom presets & quality targets
- Dedicated capacity
- SLA + priority support
How does Koala compress images?
PNGs go through lossy palette quantization (the libimagequant technique TinyPNG made famous): millions of colors are reduced to an adaptive palette with smart dithering. JPEGs are re-encoded with mozjpeg, and Koala's smart-lossy engine binary-searches the quality setting per image, keeping the smallest file that passes a perceptual similarity check. WebP and AVIF use libwebp and libaom.
Will I actually see a quality difference?
For web use, no — that's the point of the perceptual guard. Every smart-lossy result must stay above a structural-similarity threshold against the original before Koala will return it. If an image can't be made smaller without visible damage, you get it back untouched (never bigger). Use the High quality preset or lossless mode when you need extra headroom for print or archival work.
What happens to my images?
They're processed in memory and the buffers are released when your request ends. Nothing is written to disk, nothing is logged, and there are no accounts or tracking. If that still isn't private enough, the stack is standard Next.js + sharp and can be self-hosted.
Which formats are supported?
Input: JPEG, PNG, WebP, AVIF, TIFF and GIF. Output: JPEG, PNG, WebP and AVIF. Auto mode keeps your input format (TIFF becomes JPEG, GIF becomes PNG); one parameter converts everything to WebP or AVIF for the biggest savings.
Is the API really free?
Yes — during early access the API is free and doesn't require a key. The free tier will stay at 100 API images per month once paid tiers launch; the web app stays free and unlimited.
How is Koala different from TinyPNG?
Three things: per-image smart quality search instead of one-size-fits-all settings, first-class AVIF output, and a friction-free API — no API key ceremony, savings reported in plain response headers, and batch-to-ZIP in a single request. The web app is also capped at 100 images per batch instead of 20.
Can I self-host Koala?
Yes. Koala is a standard Next.js app using sharp (libvips) for compression — clone it, npm install, npm run build, and run it anywhere Node 20+ runs. Self-hosting removes the hosted platform's request-size cap and keeps every byte inside your network.