Private image compressor

Compress images without uploading them

Shrink JPEG, PNG, WebP, and AVIF files with a local browser encoder. Preview quality, compare file size, and download instantly.

The selected media is never included in a network request.
Free local modeChecking plan…

Drop images here

JPEG, PNG, WebP, or AVIF. Selected images are processed in this browser tab.

No Ziply upload20 files · 25 MB each
Output controls

Compression settings

Browser engine
Format
82%
SmallerSharper
Maximum dimensions
Processing and downloads happen locally. API requests never contain media bytes.

Premium raises routine product limits. Technical safeguards and concurrency adapt to browser memory, image dimensions, and device performance.

Zero media retentionNo Ziply image upload route
Edge speedWasm and browser-native codecs
Visual controlInspect quality before download
Modern formatsWebP, AVIF, and JPEG XL
Built differently

Cloud utility convenience, without the cloud upload

The processing boundary is the browser sandbox. That makes privacy a property of the architecture—not a promise added to a server pipeline.

01

Select locally

Drag files into the page. Ziply receives browser File objects and never posts their contents to an API.

02

Encode at the edge

A worker uses Rust/Wasm or native canvas codecs, keeping expensive processing on the device that owns the data.

03

Inspect and export

Compare the result, download one file, or assemble completed outputs into a bounded local ZIP archive.

Privacy by construction

There is no hidden upload endpoint.

The backend is deliberately limited to sessions, premium validation, Stripe webhooks, and coarse opt-in telemetry. Its request boundary rejects media bodies.

  • No media multipart routes
  • No object storage bucket
  • No server-side transcoding queue
  • No filename or file-hash telemetry
1Browser FileLocal memory
2Worker + WasmYour CPU
3Download BlobYour device
× Media cannot enter the FastAPI service
Questions

What “local-only” means

Are my images uploaded?

No. Ziply maps each selected file into browser memory, encodes it locally, and creates a local download Blob. The media API surface is intentionally absent.

Why can Ziply work without an account?

Compression uses your own CPU and browser codecs. An account is only needed to validate premium status and manage billing.

Which formats are supported?

JPEG, PNG, WebP, and AVIF are accepted when the browser can decode them. Output supports JPEG, PNG, WebP, AVIF, and lossless JPEG XL when the Rust/Wasm module is built.

Does it work offline?

After the application shell and encoder assets are cached, the compression workflow can run without an internet connection. Billing and any separate media-free advertising surface require a network.