Image Compression & Resizing
Single-image compression, aspect-locked resizing and JPEG/PNG/WebP conversion; this round ships a testable deterministic output plan, with real codecs not yet wired.Local processing · plan only, no real codec this round
Operations
Compress image
Build a deterministic compression plan for one JPEG/PNG/WebP: quality slider, real export dimensions, EXIF orientation normalization, output bytes and an honest savings report. When output is larger it only says "no savings".
Resize image
Compute real export pixels from target width/height and aspect lock; EXIF orientation is applied before scaling. 2000×1000 with locked aspect and width 1000 yields 1000×500, identical for preview and export.
Convert format
Convert between JPEG / PNG / WebP while validating MIME, extension, declared format and actual byte format; transparent → JPEG requires a user-selected background. AVIF is refused without a verified codec.
Real examples and limits
One image per run, 20 MiB input and 24 MP decoded budget (rejected up front); no server-side compression, no login, no batch queue. Launch formats are JPEG / PNG / WebP only; AVIF is explicitly refused until a decoder/encoder is verified, and no PNG disguised as AVIF is ever offered for download. EXIF-oriented JPEGs bake rotation into the exported dimensions and reset orientation to 1; transparent images converted to JPEG require a user-selected background color. This round has no browser binary and no codec/WASM: the tool returns a deterministic JSON output plan derived from an injectable image model (dimensions/bytes/format/alpha/EXIF), not real encoded pixels. When output is larger than input it reports "no savings" instead of a fake percentage.
FAQ
Are images uploaded to a server?
No. This is a static site; files are read locally in the browser. Analytics whitelists event names and duration buckets only — never filenames, file contents or image data.
Why do I download JSON instead of a compressed image?
No real codec/WASM was introduced in this round (no browser binary available), so fabricating a successful image would be dishonest. The tool emits a reproducible plan: orientation mapping, real export dimensions, background compositing, MIME/extension consistency, savings reporting and runId. Real encoding is untested.
Can I export AVIF?
No. The task book allows AVIF only after codec verification; capabilities are avif=false / avifVerified=false. Requesting AVIF throws AVIF_UNAVAILABLE and the option is not listed in the UI.
What if the output is bigger than the input?
It shows input bytes, output bytes, the byte increase and a "no savings" status with no percentage at all. Lower the quality or pick another format.
Why must I choose a background for transparent PNG → JPEG?
JPEG has no alpha channel. Without a chosen color the plan returns BACKGROUND_REQUIRED instead of silently flattening to white; a chosen #RRGGBB color and its RGB triplet are recorded for compositing.