Skip to main content

Image Compressor — local JPG / PNG / WebP / AVIF re-encoder, batch, no upload

Image compressor — squeeze JPG/PNG/WebP without server upload, with quality slider, batch mode, file size comparison.

  • Runs locally
  • Category Generator
  • Best for Starting from a blank page without committing to the first result.
🗜️
Drop images here, or browse
JPG · PNG · WebP · GIF — up to 10 at a time, never uploaded
Quality80
Output format
Max width (optional)Resize down — blank keeps the original width

100% local. Nothing leaves your browser.

What this tool does

A 100% in-browser image compressor that re-encodes JPG, PNG, WebP, or AVIF straight from your tab — nothing is ever uploaded. Drag in up to ten photos at once, drag the quality slider between 60 and 95, optionally pick a different output format (JPEG for photos, WebP for the web, AVIF where the browser supports it, PNG if you need it lossless), and a Canvas + `toBlob` pipeline re-encodes each file locally. Every row shows the original size, the new size, the percent saved, and a side-by-side thumbnail so you can spot any visible degradation before downloading. Save one image at a time, or click `Download all` to get a zip stitched together with the browser's native CompressionStream — no external library, ~25 KB of JavaScript total. Works offline once the page is cached, and is a real privacy-first alternative when you cannot send a screenshot through somebody else's server.

Tool details

Input
Files + Numbers
The page exposes text boxes, numeric controls, file pickers, or structured inputs depending on the tool.
Output
Live result + Download + Preview
The result area focuses on usable output, with copy, download, or preview actions when supported.
Privacy
Browser-side processing
The main tool logic does not call an external API, so inputs normally stay in the current tab.
Save / share
No account required
Open the page and use it; whether results survive refresh depends on the tool.
Performance budget
Initial JS <= 25 KB
No WASM budget is declared, keeping the tool quick to open on mobile.
Best fit
Generator · Designer
Category and role tags drive related tools, internal links, and quick fit checks.

How to use

  1. 1. Input

    Paste or drop your content into the tool panel.

  2. 2. Process

    Click the button. All processing is local in your browser.

  3. 3. Copy / Download

    Copy the result or download to disk in one click.

How Image Compressor (Local) fits into your work

Use it to get a strong first draft, starter asset, or structured output that you can edit before publishing.

Generation jobs

  • Starting from a blank page without committing to the first result.
  • Creating repeatable drafts, names, templates, or placeholder assets.
  • Exploring options before choosing the one that fits the job.

Generation checks

  • Review generated output before it reaches a customer, page, or document.
  • Change defaults when you need a specific brand voice, format, or audience.
  • Keep only the parts that match the real task.

Good next steps

These links move the current task into a more complete workflow.

  1. 1 Image Target Size Compressor Compress one image to a target KB size locally with quality search, automatic downscaling, preview, and download. Open
  2. 2 Base64 Image Converter Image ⇄ Base64 — drag-drop PNG/JPG/WebP/SVG, get data URI for CSS / HTML / Markdown. Open
  3. 3 Favicon Generator Generate favicon set — text or upload, output 16x16 / 32x32 / 180x180 / 512x512 PNG. Open

Real-world use cases

  • Cut blog post hero images before publishing

    You exported a hero at 4032×3024 / 6 MB straight from your camera roll. Drop it in, switch to WebP at quality 80, drag the long edge down to 1600 — the row shows "6.1 MB → 380 KB, –94%". Download, push to the repo, your post still loads under a second on 4G. No EXIF leaks GPS to anyone scraping your blog.

  • Shrink screenshots before pasting into a Slack thread

    Mac screenshots are PNG by default and routinely weigh 3-5 MB. Drag a screenshot in, re-encode as WebP quality 85, paste the result. The team gets the same readable shot at 200 KB and your Slack workspace storage quota stops melting.

  • Batch-prep product photos for an Etsy / Shopify listing

    Drop in 8 photos at once. Quality 82, output JPEG, max edge 2000 (Shopify's sweet spot). The thumbnail row shows the size delta per file so you can spot the one weird PNG you accidentally included. Download all at once, upload to the store, done in under two minutes.

  • Compress phone photos before emailing a friend

    Your aunt's inbox can't handle a 35 MB photo dump from a wedding. Drop in twelve photos, quality 80, JPEG, keep the original dimensions. The same album comes out around 6 MB total and her old Outlook will actually accept the attachment.

  • Re-encode PNG receipts before stashing in a personal archive

    A folder of 200 PNG receipts from a year of business expenses eats GB of cloud storage for nothing — most receipts are flat color and re-encode beautifully as WebP. Run them through, save back, you reclaim 70-80% of the folder. EXIF stripping is a bonus: nobody downstream needs the GPS where you bought the coffee.

Common pitfalls

  • Re-compressing the same JPEG twice. Each pass at quality 80 drops detail you can't get back; pick the quality once and keep the original somewhere if you might need a do-over.

  • Forcing PNG output for photos. PNG is lossless, so a photo PNG stays huge — convert to WebP or JPEG instead, the tool will tell you the size delta.

  • Forgetting that re-encoding strips EXIF on purpose. If you needed the GPS / camera model for an archive, keep an unprocessed copy before running the file through.

Privacy

Every file is read with FileReader, painted onto an off-screen canvas and re-encoded via canvas.toBlob() — all inside your tab. Network request count stays at zero while you compress; verify in DevTools. EXIF metadata (including GPS and camera serial) is dropped during re-encoding, which is what you want for anything you're posting online.

FAQ

Tool combos

Folks in your role tend to reach for these alongside this tool.

Made by Toolora · 100% client-side · Updated 2026-05-29