DEV Community

abdelkhalekkaci
abdelkhalekkaci

Posted on

CompressPhoto — 100% Client-Side Exact-KB Image Compressor & 16-Mode SVG QR Studio

Hey DEV community! 👋

Whenever you apply for a visa, government exam, or upload documents to strict web portals, you hit the same frustrating wall: "File size must be strictly under 20KB, 50KB, or 100KB" — and most online tools either upload your private ID photos to a remote cloud server or only give you a vague "1–100% quality" slider.

To fix this, I built CompressPhoto (ExactKB) — a 100% client-side, zero-upload web utility suite built with React, TypeScript, and the HTML5 Canvas API.


🚀 What's Inside the Suite

1. Exact-KB Binary Search Image Compressor

Instead of guessing quality percentages, CompressPhoto runs a binary search loop over HTMLCanvasElement.toBlob() directly in your browser's RAM to hit your exact byte target in under 150ms.

We also built dedicated one-click presets for strict portals:


2. 16-Mode Vector SVG QR Code & Barcode Studio

Most "free" QR generators put vector SVG downloads behind a paywall or inject redirect links that expire after 14 days.

The CompressPhoto QR Code & Barcode Studio generates static, never-expiring codes locally in the browser:

  • 16 Payload Modes: URL, Text, Wi-Fi, vCard 3.0 Contact, Email, SMS, Phone, WhatsApp, Calendar Event, GPS Location, Crypto (BTC/ETH/SOL), PayPal, Zoom, Social Profile, App Store, and 1D Barcodes (CODE128, EAN-13, UPC).
  • Full Customizer: Custom dot shapes (rounded, dots, diamond, classy), SVG linear/radial gradients, custom corner finder eyes, scan-me CTA banners, center logo overlays, and batch ZIP export.

3. Biometric Passport Photo Maker & Client-Side PDF Toolkit

  • Passport & Visa Photo Maker: Format official 2x2 inch (US), 35x45mm (UK/EU), and international biometric photos with printable 4x6 sheets.
  • Client-Side PDF Toolkit: Compress PDFs, merge documents, convert JPG to PDF, and extract PDF pages locally without server uploads.

🔗 Try It Live & Check Out the Code

Feedback and feature requests are super welcome!

Top comments (0)