skwish
private
browser-based
Batch compress images for a vision dataset — one dimension rule, one format, one ZIP
Dataset prep for vision APIs is a repetition problem. Claude wants 1,568 px on the long edge unless a request carries more than 20 images, in which case nothing above 3,000 px per side. OpenAI high detail wants 2,048 px and rejects anything that balloons past its patch budget. Gemini tiles by dimension and lets media_resolution cap the token spend. Whatever number you pick, the expensive part is applying it consistently to a few hundred files without a desktop app, a Python environment and an afternoon. Doing it by hand also hides the failure modes: a folder where half the images were already small enough and got upscaled, a couple of animated GIFs that turned into one frame, a handful of HEIC originals the browser quietly skipped. Skwish takes the whole folder at once, applies one output format and one size limit across the batch, shows a per-file before and after readout so the odd file out is visible, and hands back a single ZIP with consistent names. Everything runs in the browser, so a private screenshot set never leaves the machine.
Search match

This page is tuned for batch compress images for ai vision so visitors land in the right workflow immediately.

Fast output

See original size, compressed size, and percentage saved before you move on.

Batch ready

Compress multiple files and pull the results down as a ZIP.

Get to the compressor fast
Exact-intent SEO page first. Clear next step. Pretty later.

People usually search for a specific task, not a brand story. So this page keeps the promise simple: compress images without sending them to a third-party server.

Built for people searching “batch compress images for ai vision”, not a generic landing page.

No uploads, no accounts, no waiting on a server.

See the savings before you download anything.

Batch export stays available when the job is bigger.

Best for this search

Apply a single long-edge limit to a mixed folder of screenshots, photos and exports in one pass.
Standardise output format to JPG or WebP so the API never has to guess at a container.
Produce a consistently sized evaluation set so token counts are comparable between runs.
Prepare a private screenshot dataset without uploading originals to a third-party service.
Compress images now

Opens the upload box on the free browser compressor.

Drop images in the browser
Keep the whole workflow local. Nothing leaves your device unless you download it.
Set the output you need
Adjust compression until the file size and quality fit the job instead of guessing.
Download a clean result
Save one file or a ZIP bundle with skwish-prefixed names so the output is easy to find.
Batch prep for vision datasets
Use these before you upload or share the page.
Pick the target from the model, not the file: 1,568 px for Claude standard, 2,048 px for OpenAI high, then hold it fixed.
Never upscale. A 900 px image blown up to 2,048 px adds tiles and no detail, and all three vendors downscale anyway.
Keep the per-file readout in view during a run. A file that did not shrink usually means it was already small or already compressed.
Download the ZIP once at the end. Consistent skwish-prefixed names make the batch traceable when a request fails.

Ready to compress images?

Open the free browser upload box, keep files local, and download the optimized result.

Compress images now