skwish
private
browser-based
Compress images for OpenAI vision input — the four formats and the patch ceiling that actually rejects you
OpenAI's image input requirements are specific enough to design a pipeline around. Supported files are PNG, JPEG, WEBP and non-animated GIF. A request can carry up to 512 MB of total payload and up to 1,500 images. Per image, the API applies up to 30,000 patches after the model's own resize rules, and that limit is the one people trip over: images that exceed it are rejected outright, not quietly shrunk to fit. Then detail levels decide how much of the image survives. Low fits everything inside 512x512. High fits within 2,048x2,048 and 2,500 patches. Original preserves your dimensions but scales down anything larger than 65,535 px on a side, and on gpt-5.5 the original ceiling drops to 10,000 patches and 6,000 px. Practically: if you send a 4,000 px screenshot at high detail, the model throws most of it away. Sending it at 2,048 px on the long edge gives the model the same tokens, in a smaller file, with a much shorter upload. Skwish resizes, converts and compresses in the browser, keeps a per-file before and after readout, and packs a batch into one ZIP. No image leaves your device.
Search match

This page is tuned for compress image for openai 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 “compress image for openai 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

Resize UI screenshots to 2,048 px long edge before sending them at high detail, so nothing is silently discarded.
Convert photographic PNGs to JPG when a batch is pushing the 512 MB payload ceiling for one request.
Split a large dataset run into batches that stay under 1,500 images per request with a predictable per-file size.
Strip metadata before sending, since the API reports that it does not process file names or metadata anyway.
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.
Sizing for OpenAI vision
Use these before you upload or share the page.
High detail is capped at 2,048x2,048 and 2,500 patches. Export at 2,048 px long edge; more pixels do not reach the model.
Low detail fits within 512x512 and is meant for classification or presence checks, not OCR or small object detection.
The 30,000-patch limit rejects, it does not resize. Keep a hard pixel ceiling in your pipeline rather than retrying after a 400.
Non-animated GIF is supported, but converting animated GIFs to a still frame keeps the payload predictable.

Ready to compress images?

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

Compress images now