Local Image Re-encoder and Compressor
Re-encode at original dimensions with a JPEG/WebP quality setting, or use lossless PNG. Lower quality often reduces JPEG/WebP size but cannot guarantee a smaller output; original and output byte counts are reported. Files never upload. Input must have a PNG or baseline/progressive JPEG signature, be at most 12 MiB, have each side at most 8,192 pixels, and contain at most 16 million pixels. Header bounds are checked before decoding and decoded dimensions are checked again.
How to use Local Image Re-encoder and Compressor
- Choose a file for “PNG or JPEG file (maximum 12 MiB)”. Keep a copy of the original and check the supported file limits below the inputs.
- Choose the appropriate “Output format” option for your task.
- Enter “JPEG/WebP quality (1–100; ignored for PNG)”, using the units and limits shown in its label.
- Choose “Background when flattening to JPEG” using the color picker.
- Select Calculate or Process. Review the result and any validation message before copying or downloading available output. Reset clears the result and restores the starting inputs.
Method & assumptions
Decode checked input, draw original-size pixels to canvas, and encode with quality/100 for JPEG or WebP; PNG ignores quality.
Worked example
A JPEG re-encoded at quality 70 may use fewer bytes, but highly optimized originals can grow. No fixed savings are promised.
Results and projections are informational estimates, not financial, medical, legal, tax, or property advice. Check assumptions, units, rounding, and local requirements independently. Investment illustrations do not guarantee returns. Keep original files and check transformed output before use.
Questions, answered
Is PNG quality-based or is the output guaranteed smaller?
No. PNG ignores the quality value, and browser encoders cannot guarantee size savings. Canvas re-encoding copies pixels, not source EXIF/GPS or source metadata; the browser encoder may add technical metadata. Animated PNG is rejected; color profiles can change, and EXIF orientation follows browser decoding. JPEG flattens transparency onto the selected background. A modern browser DOM/canvas is required; Node cannot perform these operations.
Does this send my input to a server?
No. This engine processes input locally without network requests. The surrounding website may have its own analytics or scripts; avoid entering sensitive material on an untrusted site. Text fields accept at most 1,000,000 UTF-16 units unless a smaller field limit is stated.