ConvertPicturesConvertConvert a photo
A harbour at sunset with a pier, a lamp and a sailboatPNG 2.2 MB → JPG 207 KB
A pink ring logo with a see-through backgroundPNG · see-through kept
A lake at dawn between pine trees and blue mountainsHEIC → JPG
A screenshot of a dashboard with a bar chart and a table−75% as WebP

Convert pictures online

Turn any picture into any format

Drop a photo and get a JPG, PNG or WebP that opens anywhere — often much smaller, looking just the same.

or drop them here · paste works too

FreeNo sign-upPhotos stay on your device

Write as

This browser

Tested in this tab a moment ago: what it can open, and what its own encoders can write. Converting never goes past this list.

Formats this browser opened and wrote when tested just now
FormatOpensWrites
JPEGcheckingchecking
PNGcheckingchecking
WebPcheckingchecking
GIFchecking—
AVIFcheckingchecking
BMPchecking—
ICOchecking—
TIFFchecking—
SVGchecking—
HEICchecking—

Drop pictures here — any format, any mix

One file or a whole folder. Each one is converted on its own terms.

Paste works too, or drop a whole folder.

No picture openzoom 100% on this device

Real results

Same picture, the right format

  • Harbour at sunset

    Holiday photo

    PNG · 2.2 MBJPG · 207 KB

    Same picture, a tenth of the size — ready for email and WhatsApp.

  • Dashboard screenshot

    Screenshot

    PNG · 71 KBWebP · 18 KB

    Text stays crisp; the file gets about four times lighter.

  • Pink ring logo on a see-through background

    Logo

    PNGPNG or WebP

    See-through background kept. JPG asks you for a colour first.

  • Lake at dawn

    iPhone photo

    HEICJPG

    Opens on any phone, laptop or website — location removed.

How it works

Three steps, no account

  1. Drop your pictures

    One photo or a whole folder, in almost any format — or paste one.

  2. We pick the best format

    Each picture gets the format that suits it, at a quality that looks the same. Or choose one yourself.

  3. Download

    Save one file, or all of them in a ZIP. Nothing is uploaded anywhere.

All tools

Every conversion

Each one opens the same converter, already set up for the job.

Guides

Format reference

Drop one picture or a mixed folder. Every file is written into each format this browser can encode, measured against its source, and handed back in the one its own numbers earn — or in the one you pick.

What the bench does

Most format advice is written about somebody else’s picture. An article that says WebP is twenty-five per cent smaller than JPEG is reporting an average over a corpus that does not contain your file, and averages are a poor guide to a decision about one photograph of one thing in one light.

So this runs the comparison on your file instead. It decodes it once, then writes it into each candidate format, searching that encoder’s own quality parameter until the result measures within the distance you asked for. What comes back is the size of the file that search produced, which is a fact rather than an estimate.

The download is the last and cheapest step. If the numbers say your original is already the best version of itself, the page says so and there is nothing to save — which is the one outcome a converter is least inclined to suggest and the most useful one it has.

Reading the results

The matrix on the left has a row for every file and a column for every format this browser can write. Each cell is the length of the file that encoder actually produced, with a bar against the largest in the row; the filled cell is the one the file will leave as. Click any cell — or move to it with the arrow keys and press Enter — to pin that format for that one file.

The Result panel carries the rest of the numbers for the file on the stage. Setting is the quality the search landed on — a result, not a knob you set, unless you switched quality to Fixed. Measured is how close the produced file is to your source on the structural-similarity scale, where 1.0000 is indistinguishable by that measure. Every note about the file — a name that lies about its format, an animation, a colour profile, a GPS position — is listed under it.

The stage is there because a number can only take you so far. Split puts your original and the converted file on either side of a divider you can drag, zoom goes to 800 per cent, and holding the space bar shows your original for as long as you hold it. What the Result side shows is the converted file itself, so what you judge is what you save.

What it will open

Whatever this browser can decode: JPEG, PNG, WebP, GIF, AVIF, BMP and ICO almost everywhere, TIFF and HEIC where the browser has a decoder of its own — Safari does. The empty converter shows the answer for your browser, tested on the spot, and so does the format support page. The format is worked out from the bytes at the start of the file, never from the name, because a file called photo.jpg is under no obligation to be one. A file that will not open stays in the list, set apart, with the reason.

Some things it deliberately will not do. It does not edit: the pixels that come out are the pixels that went in, re-encoded, and shrunk on the way out only if you ask. It does not enlarge. A target in kilobytes belongs to one job only — a form that states one — and the form mode handles it, with sourced presets and a pass or fail line for every file.

Very large pictures are offered on a lighter working copy rather than refused outright, and the page says when it is working from one. Anything above the hard ceiling is declined with the actual number in the message.

Questions about formats

Why not just set every encoder to quality 80 and compare?
Because the number means something different in each one. It is an index into that encoder's own internal tables, not a measurement of anything, and equal values produce visibly unequal pictures. This bench searches each encoder's parameter until the file it produces measures within a set distance of your original, then reports the setting it landed on as a result rather than as an input.
What does the measured figure mean?
It is multi-scale structural similarity between the produced file, decoded again, and your source — 1.0000 means the two are identical by that measure and anything lower is further away. It is computed on a 512-pixel reference so the cost does not grow with your file, and it is a statistic, not an eye.
Why is my picture sometimes larger in every format?
Because it was already encoded well. A JPEG that came out of a good encoder is close to what the format can do with those pixels, and putting it through a second encoder adds loss without buying space. When that happens the recommendation says to keep the file you already have, which is the only honest answer available.
Does anything leave this device?
No. The decode, every encode, the scoring and the download all happen in this tab. There is no server behind this site to send a picture to — it is a set of static files and a worker thread.
Why is AVIF greyed out?
Because the browser in front of you has no AVIF encoder of its own, and this site will not send a picture anywhere to borrow one. The option is tested on every visit — a browser whose canvas can write AVIF gets the column and the button. A WebAssembly encoder was measured instead and was too slow to present honestly: 3.3 seconds for one 12-megapixel pass on a fast laptop, and the quality search needs up to seven passes. The reference page has the numbers.
Can I convert a whole folder, and different files to different formats?
Yes. Drop any mix and each file gets a row in the matrix, with the size every format produced for it. Leave the target on Best per picture and each file takes the format its own numbers earn, or choose one format for all of them — and pin a different one on any single file by clicking its cell. The ZIP carries a manifest recording every decision.
What happens to transparency, metadata and animation?
Transparency is kept by PNG and WebP; JPEG cannot hold it, so a transparent file waits for you to pick a matte before a JPEG of it is written. Camera metadata, GPS and XMP are never written into the new file, because a browser encoder writes pixels; colours are converted to sRGB, and orientation is applied to the pixels first. Animated GIF, WebP and PNG files are converted as their first frame, or left out entirely if you choose to skip them.
My file is a screenshot. Why is JPEG marked as the wrong tool?
Flat colour and hard edges are exactly what a lossy photographic encoder handles worst: it softens the edges and rings around them, and it spends bytes doing it. The bench detects few distinct colours and a high proportion of hard edges, marks JPEG accordingly, and judges the lossless candidates instead.

There is more on the measurement itself in what quality really means, and a reference page for each format with its support table and its failure modes.