Last reviewed: July 23, 2026

Compression methodology

BatchMint uses a fixed local order: identify, correct orientation, resize, watermark, encode, rename and export. JPEG and WebP can run a bounded target-size search, but no setting guarantees an exact byte result or identical quality across codecs.

The fixed local pipeline

Processing order in the current local engine
StepWhat happensWhy the order matters
1. IdentifyValidate JPEG, PNG or static WebP inputUnsupported or damaged files fail before expensive work
2. OrientRead and correct JPEG EXIF orientationResize and watermark coordinates use the visible orientation
3. ResizeApply maximum width without enlarging a smaller sourceWatermark size is calculated against final pixel dimensions
4. WatermarkComposite optional text or a PNG/WebP logoThe mark is included in the pixels passed to the encoder
5. EncodeCreate JPEG, PNG, WebP or AVIF outputFormat and quality determine the final byte stream
6. Name and exportRender the template and save files, folder, ZIP volumes or CSVExport operates on completed local Blobs

Orientation and resizing

JPEG camera orientation is handled before downstream transforms so portrait images are not resized or watermarked with swapped coordinates. Pica performs the local resize while preserving aspect ratio. The maximum-width control never enlarges a smaller source because upscaling adds pixels without restoring missing detail and can make compression artifacts more visible.

Watermark compositing

Text and logo watermarks are applied after resizing and before final encoding. Text supports font size, color, opacity, rotation, shadow and outline. Logo input is a local PNG or WebP Blob with a width expressed as a share of the final image. Nine-grid placement uses a margin; tiled placement uses a staggered, size-adaptive grid and ignores the single-position margin.

Format-specific encoding

Current output paths and their important limits
FormatCurrent encoder pathTransparencyImportant behavior
JPEGjSquash MozJPEG-compatible codecNoTransparent pixels are composited onto the selected background
PNGPNG encode followed by OxiPNG level 2YesUseful for lossless graphics; detailed photos can remain large
WebPjSquash libwebp-based codecYesSupports photographic output and alpha; destination compatibility still matters
AVIFOn-demand browser codecYesLoaded only when selected; encoding is slower and outside-browser support varies

How target-size search works

JPEG and WebP target-size mode runs a bounded binary search between configured quality limits. Each candidate is encoded and measured. When one or more candidates are at or below the requested bytes, the engine retains the highest-quality candidate found in that range. If the smallest tested candidate is still too large, the job reports that the target could not be reached instead of pretending an exact match exists.

Transparency and JPEG background

PNG, WebP and AVIF can preserve alpha transparency. JPEG cannot. Before JPEG encoding, BatchMint composites transparent pixels onto the user-selected background color. This is an actual pixel operation, not metadata, so the chosen color becomes permanent in the JPEG result. Transparent product cutouts should be checked for edge halos against the intended storefront background.

What a quality setting can and cannot tell you

A quality value is a useful starting point within one encoder, but it is not a universal visual scale. Two images exported at quality 82 can have very different byte sizes, and JPEG 82 is not visually equivalent to WebP 82. BatchMint's published benchmark intentionally records exact encoders, fixtures, dimensions and bytes instead of claiming a universal percentage saving.

A repeatable review method

Measured evidence and format guidance

FAQ

Does target-size mode guarantee the exact requested size?

No. It searches for the highest tested JPEG or WebP quality at or below the requested ceiling. Some sources cannot reach that ceiling within the supported quality range.

Where does image encoding run?

Decoding, resizing, watermarking and heavy encoding run in local Web Workers rather than a BatchMint processing server or the page's main UI thread.

What happens to transparency when exporting JPEG?

Transparent pixels are composited onto the selected background color before JPEG encoding because JPEG has no alpha channel.

Open workspace