Compress images without uploading them anywhere.
A batch image compressor that runs entirely in your browser. Drop hundreds of files, pick a format per image, choose ZIP or individual downloads. Your images never leave your device.
Configure
Queue
Export
Resize Settings
Queue
Export
Background
Results
Export
Why ImgZap
About ImgZap
Last updated April 25, 2026
Why we built this
Every image tool we'd used had the same problem: they uploaded your files to a server you had to trust. Wedding photos, medical scans, invoices, screenshots of confidential documents — all flying out to someone else's computer just to shave a few hundred kilobytes off the file size.
Meanwhile, modern browsers have been able to compress images locally for years. Canvas API, WebAssembly, Web Workers — all the pieces are there. We just wanted a tool that actually used them.
How it works
ImgZap runs a complete image compression pipeline inside your browser using:
- Canvas 2D for decoding, resizing, and format conversion
- OffscreenCanvas where available, for parallel compression off the main thread
- createImageBitmap() for fast, GPU-accelerated decoding
- JSZip for packaging results into an optional ZIP bundle, client-side
- DataView for reading raw bytes of source files to detect embedded metadata
Nothing leaves your device. Open your browser's DevTools, switch to the Network tab, drop an image in. You'll see zero uploads.
Metadata cleaning
When you compress an image, ImgZap re-encodes it through a Canvas. This process reads only the pixels — every piece of embedded metadata is discarded automatically:
- EXIF — GPS coordinates, camera model, lens info, capture date
- XMP — Adobe/Lightroom edits, copyright notices, source URLs
- IPTC — captions, keywords, byline, photographer info
- ICC color profiles — embedded display profiles (often 50–200 KB)
- JPEG comments — software-injected text fields
- PNG text chunks — tEXt / iTXt / zTXt entries from editors like Adobe, Canva, Figma
Before re-encoding, ImgZap inspects your file's raw bytes and shows you exactly what's about to be removed — both the type and the byte count. This is for transparency only; the cleaning happens regardless.
The team
ImgZap is made in Thailand by a small group of frontend engineers who love clean tools. We got tired of watching people hand their photos to random compression websites, so we built what we wish existed.
Tech stack
- Frontend: vanilla HTML, CSS, JavaScript — no framework
- Typography: Inter, JetBrains Mono
- Compression: Canvas 2D · convertToBlob · libheif/libavif WASM (coming)
- Packaging: JSZip
- Hosting: static files on Cloudflare — no backend
Roadmap 2026
- AVIF encoding on every browser via WebAssembly
- HEIC decoding for iPhone photos
- Per-file quality sliders (not just format)
- Folder-tree preservation in downloaded ZIPs
- PWA installation for offline use
- Public API for automation pipelines
- Open-source release on GitHub
Privacy policy
Effective April 25, 2026
What we don't collect
- Your images, thumbnails, or any derivative of them
- Your name, email, phone number, or any login credentials (we don't offer accounts)
- File names, EXIF data, GPS coordinates, or any embedded metadata
- Any data that could link activity back to you personally
What we do collect
To keep the site running and improving, we collect:
- Aggregated page analytics — page views, browser type, country-level location, screen size. Nothing personally identifiable.
- localStorage entries — your UI preferences, credit balance, and transaction tokens. These stay on your device and aren't sent to our servers.
Third-party services
- Google Fonts loads typography from Google's CDN. Google may log IP addresses as part of that request.
- Google AdSense may serve ads on content pages (not in the compression app itself) and may use cookies.
- JSZip CDN (cdnjs) loads our zip packaging library. Cloudflare may log the request.
Your rights
Under the EU GDPR and Thailand's PDPA (Personal Data Protection Act), you have the right to access, correct, delete, or object to the processing of data about you. Because we don't collect personally identifiable data, there's usually nothing to access or delete — but you can still reach us with any question.
Children
ImgZap isn't directed at children under 13. If you're under 13, please ask a parent or guardian before using any online tool, including this one.
Changes
We may update this policy. Material changes will be announced on the homepage for at least 30 days before taking effect. The date at the top always reflects the latest revision.
Contact
Email privacy@imgzap.app with any privacy question. We aim to reply within 48 hours.
Terms of service
Effective April 25, 2026
1 · Acceptance
By using ImgZap you agree to these terms. If you don't, please don't use the service.
2 · Your content
You keep all rights to the images you process. We never see them, never store them, and don't claim any license over them. They stay on your device.
3 · Acceptable use
You agree not to use ImgZap to compress or process:
- Content that infringes intellectual property rights
- Child sexual abuse material (CSAM) — zero tolerance
- Content that is illegal in your jurisdiction
- Content intended to harass, dox, or harm a specific person
Because processing happens on your device, we can't technically enforce this — but using the service means you agree.
4 · No warranty
ImgZap is provided "as is" without warranties of any kind. Compression is inherently lossy and format conversion can occasionally fail for unusual files. Always keep backups of originals — we can't recover them for you.
5 · Limitation of liability
To the maximum extent permitted by law, ImgZap and its creators are not liable for any indirect, incidental, consequential, or punitive damages arising from use of — or inability to use — the service. Our total liability is limited to the amount you paid for the service in the last twelve months.
6 · Third-party services
The site relies on Google Fonts (typography), Cloudflare CDN (JSZip library), and optionally Google AdSense on content pages. Their terms and privacy policies apply.
7 · Changes
We may update these terms. Continued use after material changes constitutes acceptance. The effective date above always reflects the latest revision.
8 · Jurisdiction
These terms are governed by the laws of Thailand. Any dispute shall be resolved in the courts of Bangkok, Thailand.
9 · Contact
Questions? Email legal@imgzap.app.
Get in touch
Based in Bangkok · Response within 48h
Bug reports, feature requests, partnership ideas, or just saying hello — all welcome. Pick the channel that fits.
Response time
We aim to reply within 48 hours, often faster. Billing issues are prioritized within 24 hours. If you haven't heard back within a week, please try again — email can be unreliable and our filters occasionally over-correct.
Before you email
Location
Bangkok, Thailand · UTC+7
System status
Monitored live · since launch
Recent incidents
No incidents to report. This section lists any outages, CDN degradations, payment processor issues, or browser-compatibility regressions that affect the service.
Browser compatibility
| Browser | Minimum | Recommended |
|---|---|---|
| Chrome | 100+ | Latest |
| Edge | 100+ | Latest |
| Safari | 16+ | 17+ |
| Firefox | 110+ | Latest |
| Mobile Safari | 16+ | 17+ |
| Chrome Android | 110+ | Latest |
Format support
| Format | Decode | Encode |
|---|---|---|
| JPEG | All browsers | All browsers |
| PNG | All browsers | All browsers |
| WebP | All browsers | All browsers |
| AVIF | Modern browsers | Chrome · Edge · Safari 17+ |
| HEIC | Safari only | Not yet |
| GIF | All (first frame) | Not yet |
| SVG | All browsers | Rasterized to PNG |
Theoretical uptime
Because ImgZap is client-side only, uptime is effectively 100% — there are no servers for us to lose. The only thing that can go wrong is CDN delivery of the initial page, and that's handled by Cloudflare with 99.99%+ SLA.