JPEG Converter
Encode photographic images to JPEG at a quality you control. Up to 5 images per batch.
How to use
Load up to five photographs
PNG, WebP and JPEG sources are accepted. Header bytes are verified and the 25 MB and 8192 pixel limits are checked before anything is queued.
Choose a quality
The slider defaults to 80, which is a sensible balance for most photographs. Drop to 70 for large background images, raise to 90 for anything that will be examined closely.
Encode and download the ZIP
Two images encode concurrently and the results are packed into one archive, keeping their original names with a .jpeg extension.
Key Features
Compatible with absolutely everything
No format comes close for reach. If an image has to open in unknown software, on unknown hardware, at some unknown point in the future, JPEG is the safe answer and always has been.
Direct quality control
The slider maps to the encoder's quality parameter, letting you trade file size against artefacts explicitly rather than trusting a preset to guess what the image is for.
Fast to encode and decode
The discrete cosine transform is cheap and has been hardware accelerated for decades. Encoding is effectively instant and decoding costs less client CPU than any newer format.
Runs in the browser
Encoding uses the canvas JPEG writer inside a Web Worker. Nothing is uploaded, nothing is stored, and the tool continues to work with no network connection.
No alpha channel, stated up front
JPEG cannot store transparency. Transparent regions are written as black rather than silently producing something unexpected later, so it is obvious immediately if you have chosen the wrong format.
Five images per batch
The cap keeps decoded bitmap memory within reach of a phone browser. Encoding runs two at a time so the batch still finishes quickly on a multi-core machine.
Frequently Asked Questions
My transparent image came out with a black background. Why?+
Use PNG for lossless transparency or WebP if you want transparency and small files at the same time.
Why does my screenshot look smeared around the text?+
Is it bad to re-encode an existing JPEG?+
What quality setting should I use?+
Should I use JPEG or WebP?+
Why five images per batch?+
Format Comparison
| Feature Specification | JPEG conversion | Alternative |
|---|---|---|
| Size at matched quality | Baseline | 20 to 30 percent smaller |
| Transparency | None, becomes black | Full alpha channel |
| Sharp edges and text | Visible ringing | Handled cleanly |
| Compatibility | Everything ever made | Every current browser |
| Encoding speed | Very fast | Slower |
Technical Overview & Specifications
Deep dive into JPEG conversion architecture and processing.
Show DetailsHide Details
Technical Overview & Specifications
Deep dive into JPEG conversion architecture and processing.
Platform Overview
JPEG was standardised in 1992 and it is still, by a wide margin, the most universally understood image format in existence. Every camera, every phone, every printer, every content management system, every ancient enterprise application that someone has to keep alive: all of them read JPEG without argument. That is the entire reason to choose it in 2026. It is not the most efficient option any more, and has not been for years, but it is the option that will never need a fallback, never trip over a decoder gap and never produce a support ticket from someone on software you have never heard of.
The format works by converting each 8 by 8 block of pixels into frequency coefficients with a discrete cosine transform, then throwing away the high-frequency ones your eye is least sensitive to. Quality settings control how aggressively that discarding happens. It also has no alpha channel at all, which is worth knowing before you convert something transparent: areas that were transparent come out black, because the canvas underneath is transparent black and JPEG has nowhere to record the alpha. If your image has transparency you want to keep, use the PNG or WebP tools instead. This page takes five images per batch and encodes them entirely in your browser.
What the encoder actually discards
JPEG splits the image into 8 by 8 blocks and applies a discrete cosine transform to each one, converting sixty-four pixel values into sixty-four frequency coefficients. The first coefficient describes the average brightness of the block and the rest describe progressively finer detail. Those coefficients are then divided by values from a quantisation table and rounded, which is the lossy step and the only one. The quality setting scales that table: a high quality means small divisors and little rounding, a low quality means large divisors and coefficients that round to zero and vanish entirely. Because each block is transformed independently, pushing the quality down eventually makes the block boundaries themselves visible, which is the familiar JPEG look.
Before any of that, most encoders convert the image from RGB to a luminance and two chrominance channels, then halve the resolution of the chrominance channels in both directions. Human vision is considerably more sensitive to brightness detail than colour detail, so this discards three quarters of the colour information at almost no perceptual cost. In this tool the whole pipeline runs through the browser's canvas JPEG encoder inside a Web Worker: the source is decoded to a bitmap, drawn to an OffscreenCanvas at the target size with any crop applied, and serialised at the mapped quality. Nothing is transmitted, and the encoded blob goes straight into the ZIP alongside the rest of the batch.