Image compress

Shrink photos with a quality slider. See before/after sizes instantly—processing stays local.

No upload Client-side only Batch-friendly
Ad
728×90 / fluid placeholder · ca-pub-2582995408460804

Drop an image to compress

JPG, PNG, WebP, HEIC · no upload

Before
Original preview
After
Compressed preview
Ad
In-content responsive placeholder · ca-pub-2582995408460804

Compression without the cloud

Chat apps, CMS fields, and email gateways punish multi-megabyte phone photos. Classic advice is “run it through TinyPNG.” That works—and uploads your file to a specialized encoder. LocalKit offers a private alternative: dial JPEG quality, optionally cap width, and compare before/after byte sizes side by side. Processing uses canvas in your tab. Nothing is posted to LocalKit.

When canvas compression is enough

For chat, email, web previews, and most CMS uploads, browser JPEG encoding at 70–85% quality with a 1600–1920px max width is often plenty. You see the size change immediately. If the output grows (re-encoding an already tiny JPEG at high quality), lower the slider or set a max width. For stubborn hard caps like “under 50 KB,” switch to Resize to exact KB, which binary-searches quality and downscales when needed.

How it compares to TinyPNG

Server encoders can beat canvas on tricky PNGs with few colors or on heavily optimized pipelines. LocalKit does not claim to win every byte. It claims to win on privacy, speed-to-first-result, and zero accounts. If you need absolute minimum size and are comfortable uploading, use a specialist. If you need “good enough, stays here,” use LocalKit.

HEIC and other inputs

HEIC inputs are decoded first (Safari native or WASM), then compressed as JPEG. WebP/AVIF decode through the browser. Always keep originals until you confirm the compressed preview looks acceptable on the device where it will be viewed.

Trust UX

Drop-zone hover states, live status text, and before/after labels exist so you never wonder whether a spinner means “uploading.” It does not. Pair with EXIF strip if the destination might preserve GPS from the original capture.

Frequently asked questions

Is browser compression as good as TinyPNG?

TinyPNG uses specialized encoders on servers. LocalKit uses canvas JPEG encoding—simple, private, and usually enough for chat, email, and web previews. For maximum compression ratios on PNGs with few colors, a dedicated encoder may win; for privacy, LocalKit wins.

Why did my file get larger?

Re-encoding an already-optimized small JPEG at high quality can grow. Lower the quality slider or set a max width, or use the exact-KB tool with a target.

Does compression happen on a worker thread?

v1 runs on the main thread with canvas for simplicity and broad compatibility. Very large megapixel images may briefly freeze the UI; that freeze is still local work, not an upload wait. We may add workers later.

Ad
AdSense placeholder · ca-pub-2582995408460804