mozjpeg encoding · Local · No upload

JPEG Compressor — Up to 90% Smaller

Compress JPEG photos locally on Mac or Windows — no upload, no file size cap. Powered by mozjpeg with a quality slider you control.

Quick answer

TinyPixels compresses JPEG files with mozjpeg, an encoder that produces smaller files than standard libjpeg at the same visual quality. Default settings (quality 80) cut most photos by 50–70%, and everything runs locally with no upload.

How to compress a JPEG file

1

Download and open TinyPixels

Free to install on Mac or Windows — no account needed to start compressing.

2

Drop your JPEG photo or folder in

Drag a single photo or an entire folder of JPEGs into the app window.

3

Set your quality level

Default quality 80 balances size and visual fidelity — adjust per batch as needed.

4

Compress and collect the output

mozjpeg-encoded files land in a separate output folder — originals stay untouched.

How JPEG compression works

JPEG is a lossy format — compression works by discarding image data the human eye is least sensitive to, primarily in color detail rather than brightness. The quality setting controls how aggressively this happens: lower quality means smaller files and more visible artifacts, higher quality preserves detail at a larger size.

Not all JPEG encoders are equal at the same quality number. mozjpeg (developed by Mozilla) uses smarter algorithms for choosing quantization tables and Huffman coding, producing meaningfully smaller files than a standard encoder at visually identical quality. TinyPixels uses mozjpeg by default.

mozjpeg encoding

Smaller files than standard JPEG encoders at the same visual quality.

Adjustable quality

Fine-tune the quality slider per batch — from aggressive to visually lossless.

Batch & folder watch

Drop thousands of photos at once, or auto-compress a watched folder.

No file size limit

Compress a 200KB thumbnail or a 100MB RAW-exported JPEG — no caps.

TinyPixels vs online JPEG compressors

FeatureTinyPixelsOnline tools
Works offline (no upload)✅ Always❌ Never
Max file size✅ Unlimited❌ Usually 5–75MB
Batch size✅ Unlimited❌ 20 files or fewer
Encoder✅ mozjpeg⚠️ Varies, often lower quality
Folder auto-compress✅ Yes❌ No
Privacy✅ Files never leave your machine⚠️ Uploaded to a server

Who gets the most out of a dedicated JPEG compressor

Photographers preparing web galleries

Full-resolution camera exports are sized for print, not web — compressing a shoot before publishing cuts hosting bandwidth without a visible quality hit.

E-commerce teams managing product photography

Product catalogs with hundreds or thousands of photos benefit enormously from consistent batch compression before upload to a storefront.

Bloggers and content publishers

Every unoptimized photo directly slows page load — a compression pass before publishing is one of the highest-leverage speed fixes available.

Anyone emailing or sharing large photo sets

Email attachment limits and slow uploads are usually a JPEG size problem, not a connection problem — compress before sending.

Getting the best results

Always compress from the original, not a copy

JPEG's lossy compression compounds with every pass — start from the highest-quality source you have to avoid stacking artifacts.

Watch for artifacts in high-frequency detail

Foliage, fine text, and complex textures show compression artifacts first — if a batch quality setting looks rough on these, back off a few points.

Consider stripping EXIF for privacy before sharing publicly

Camera EXIF data can include GPS coordinates — worth confirming your compression settings strip this before publishing photos taken at a private location.

Test one representative batch before running thousands of files

Compress a sample of 10-20 images at your chosen quality first, inspect them, then apply that setting to the full library with confidence.

Frequently asked questions

What is the best JPEG compressor?

TinyPixels uses mozjpeg — the same encoder behind many production image pipelines — to compress JPEG photos 21–95% smaller depending on the source, with an adjustable quality slider. It runs natively on Mac and Windows with no upload required.

How much can you compress a JPEG without visible quality loss?

Most JPEG photos compress 50–70% smaller at quality settings around 75–85 with no visible difference to the human eye. TinyPixels defaults to quality 80, a setting tuned for this balance, and lets you adjust it per batch.

Is there a JPEG compressor for Mac that works offline?

Yes. TinyPixels is a native macOS and Windows app. Every compression happens on your device — no internet connection needed, no upload, no third party ever sees your files.

Can I batch compress thousands of JPEG photos at once?

Yes. TinyPixels processes entire folders in parallel using all available CPU cores. On Pro, there is no batch size limit — compress a folder of 10,000 photos in one pass.

What quality setting should I use for JPEG compression?

Quality 75-85 is the sweet spot for most photographic content — visually indistinguishable from the original at normal viewing sizes, while still cutting file size substantially. Below 70, compression artifacts (blockiness, color banding) start becoming visible, especially in images with fine detail or smooth gradients like skies.

Why does re-compressing an already-compressed JPEG lose more quality?

JPEG is lossy — every compression pass discards some data, and that loss compounds if you re-compress an already-lossy file repeatedly (a phenomenon called generation loss). Always compress from the highest-quality original you have available, not from a previously compressed copy, to avoid stacking quality loss.

Does JPEG compression remove EXIF metadata?

Depending on settings, compression can strip EXIF metadata (camera settings, GPS location, timestamps) as part of reducing file size — this is often desirable for privacy when publishing photos online, since EXIF data can include your device model and location.

Compress your JPEG photos locally, right now

Free to start. No credit card, no account, no cloud. See Pro pricing →