Photo to JPGTurn any photo into a JPG

iPhone photos, PNGs, WebPs, screenshots and more. Drop them in and get JPGs that open everywhere.

or drop them here — pasting works tooPhotos from a phone, a camera or a screenshot. Pasting works too. PDFs and SVGs are drawn into pictures first, and folders can be dropped too.

No photo handy?

Free · No sign-up · Photos stay on your device.

A sunset photo, converted to JPG, coming out of a home printer
sunset.jpgReady to download
A round see-through sticker: transparent around the edge as a PNG, filled with white as a JPG
Clear edges get your colour

Opens all of these

  • HEIC
  • PNG
  • WebP
  • AVIF
  • TIFF
  • GIF
  • BMP
  • ICO
  • JPEG

How it works

Three taps, done

  1. Choose your photos

    Tap the button, drop a photo on the page or paste one. One file or a whole folder.

  2. Get your JPG straight away

    Smart settings are picked for you. Change the quality, size or background only if you want to.

  3. Download

    Save one JPG, or a single ZIP when there are several. Nothing to sign up for.

All tools

What do you need to do?

Every tool opens the same converter, already set up for the job.

Every format, explained

Nine containers in, one format out

The queue decides what a file is from its first twelve bytes, not from its name — a renamed screenshot and a phone photo wearing the wrong extension are both ordinary here. Each of these arrives with a different thing to give up, and the row says which before it converts anything.

Every format the converter recognises, what it costs on the way to JPEG, and where that is written up
DetectedWhat it costs
HEICWhat an iPhone saves by default. Windows needs a codec from the Store to open one at all; a decoder is collected here on the first HEIC and never before. HEIC to JPG
PNGLossless, and usually the reason transparency turns up at all. JPEG has none, so the clear parts have to become a colour and that colour is yours to pick. Transparency has to become a colour
WebPMay be animated and may carry transparency. The row says which of those is true before either one is given up. WebP to JPG
TIFFScans and press files: several pages, sixteen bits a channel, sometimes CMYK. The page directory is read before anything is rendered, so the row can say how many pages are in there. TIFF to JPG
AVIFThe same box structure as HEIC with a different brand in the header, read through the decoder the browser already has, or a bundled one where it has none. AVIF to JPG
GIFAnimation. A JPEG holds one frame, so the frames are listed: pick one, or write every frame as its own JPG. GIF to JPG
BMPUncompressed, and large for what it holds. Nothing is lost on the way in, and the row reports the bit depth. BMP to JPG
ICOA directory of sizes rather than one picture. The largest entry is taken, and the row prints every size that was in the file.
JPEGAlready a JPEG. While the rail is still at its defaults, the row offers the original file back untouched rather than spending a generation on nothing. JPG and JPEG are one format

Anything the first twelve bytes do not match is refused by name rather than attempted and failed halfway. Format notes — The longer pieces: HEIC, JPG and JPEG, transparency, EXIF, quality, chroma subsampling and form sizes.

Eleven files from a phone, one after another

A whole camera roll's worth of .HEIC goes in the queue and comes out as .jpg, in order, without a round trip. Sizes below are typical of a 12-megapixel capture at this tool's default quality — your own files report their own numbers.

  1. 1IMG_4471.HEICconverted
  2. 2IMG_4472.HEICconverted
  3. 3IMG_4473.HEICconverted
  4. 4IMG_4474.HEICconverted
  5. 5IMG_4475.HEICconverted
  6. 6IMG_4476.HEICconverting
  7. 7IMG_4477.HEICwaiting
  8. 8IMG_4478.HEICwaiting
  9. 9IMG_4479.HEICwaiting
  10. 10IMG_4480.HEICwaiting
  11. 11IMG_4481.HEICwaiting

In hand · file 6 of 11

IMG_4476.HEIC

3024 × 4032 · 2.0 MB · HEIC

IMG_4476.jpg

3024 × 4032 · 1.3 MB · JPG, quality 82

Same pixels, a format anything can open. The decode and the encode both happen in this tab; the five files still waiting have not been read yet.

Drop a picture in any common format and get a JPG back. The three things JPEG makes you decide — how much quality to spend, what colour replaces transparency, and what happens to the metadata — are controls here rather than guesses.

Why a JPG, and when not to

JPEG was designed in 1992 for photographs, and it is still the best thing there is at that job. It stores continuous tone — skin, sky, foliage, anything where one colour slides into the next — and it discards the parts of that detail the eye is least likely to miss. A photograph at quality 82 is usually a fifth of the size of the same picture stored losslessly, and looks the same at any sensible viewing distance. It is also the most widely readable picture format that exists. Every upload form, every printer, every twenty-year-old machine and every piece of software that has ever touched a photograph will open one.

It is poor at almost everything else. Flat colour, hard edges, text, screenshots, diagrams, logos, pixel art: JPEG works in eight-by-eight blocks, and a hard black line on a white ground gives it nothing to average, so it produces a grey shimmer around the line instead. It has no transparency at all. It is eight bits per channel, so a 16-bit scan loses precision that a print shop may care about. And every save is another generation of loss — a JPEG opened, edited and saved four times has been through the encoder four times, and the damage accumulates.

The case where converting is a mistake: the file is already a JPEG and nothing about it needs to change. Re-encoding it here at the same quality spends a generation and buys a new modification date. The converter notices, and while the rail is still at its defaults the row offers to hand the original file back untouched instead; move the quality, the matte or a metadata switch and the offer goes, because then the conversion would genuinely change something. The other case is a screenshot of a document, a scanned form or a diagram that is going to be printed or filled in — the destination there is usually a PDF, and JPEG will make the text soft on the way.

Converting a file

  1. Put the files on the panel at the top of this page. Dragging works, clicking opens a file picker, pressing Enter or Space on the panel does the same, and pasting from the clipboard works anywhere on the page that is not a text field.
  2. Each row shows what the file actually is, read from its first bytes rather than from its name — a .jpg that is really a HEIC is common enough to plan for, and the row says so.
  3. Set the quality. By default each photo is measured and gets the lowest quality that keeps its fidelity floor; switch to Fixed for one number (82 to start, with presets). Either way the Quality panel draws this photo's own size curve, and dragging along it picks the number.
  4. If anything in the picture is transparent, choose the colour that goes behind it. White is the default; black, near-white, any colour from the picker, or a colour sampled from the picture's own edges are all one click away, and the preview shows the result before anything is written.
  5. If a form has a pixel limit, the Size panel caps the long edge, scales by a percentage, or sets an exact width × height (fill, fit or stretch) — one rule for the whole queue. A KB limit is the Target mode in Quality. Result, Split, Original and Loss views show what the JPEG changes before anything is saved, and every setting can be undone.
  6. Press Download JPG. Above three files the button writes a single ZIP instead — Download as ZIP does it for any two or more — and each card keeps its own save button for when you only want one of them.

What goes in, and what changes on the way out

Reads: HEIC and HEIF from iPhones and iPads, PNG, WebP including animated, AVIF, TIFF including multi-page and CMYK, BMP, GIF, ICO, and JPEG itself. Everything except HEIC and TIFF goes through the browser’s own decoders — and AVIF, where the browser has no AVIF decoder, goes through a bundled 1.2 MB WebAssembly build of libavif, fetched only then. HEIC goes through a WebAssembly build of libheif, about 1.5 MB, fetched the first time a HEIC is opened and never on a visit where none appears. TIFF goes through a small pure-JavaScript reader on the same terms.

Writes: JPEG. That is the entire output side of this site, and the reason the format control in the rail is fixed and labelled as fixed.

What is lost on the way, named rather than glossed over:

  • Transparency. There is no alpha channel in a JPEG. Transparent pixels become the matte colour, and that is a decision rather than a default nobody sees.
  • Wide colour. A recent iPhone HEIC is frequently Display P3 and sometimes 10-bit with an HDR gain map. The JPG carries the sRGB conversion: colours outside sRGB clip, and the gain map is discarded.
  • CMYK. A CMYK TIFF or JPEG becomes RGB without a colour-managed transform. The colours shift. The row says so before the conversion runs, not after.
  • Bit depth. 16 bits per channel becomes 8.
  • Movement. An animated GIF or WebP has one frame written; a Live Photo has its still frame written. The motion is not something a JPEG can hold.

Size limits are a control, not a hope: the Target mode in the Quality panel searches for the highest quality that fits under a number of kilobytes, on the real encoder, file by file, and the Form panel sets the KB range, pixel box and DPI an exam portal asks for in one step. Chroma subsampling — the setting that decides how much colour resolution a JPEG keeps, and the reason red text smears on a screenshot saved at 4:2:0 — is a real control too: switch Encoder to Precise and a MozJPEG build, served from this site, writes 4:2:0 or 4:4:4 (or picks per picture), progressive or baseline. The browser’s own encoder stays the default because it needs no download, and it chooses those settings itself.

Format by format, what to expect on the way in

Eight input formats reach the same encoder, and each one arrives carrying a different problem. What follows is the short version of every one of them.

HEIC and HEIF
Roughly half the bytes of the JPG you will get back, so the file grows. The decoder is a 1.5 MB download the first time one appears. A recent iPhone file may also be Display P3 and carry a gain map; the JPG keeps the sRGB version of the colours and none of the gain map.
PNG
Lossless going in, which means nothing has been thrown away yet and this conversion is the first thing to throw any away. If it is transparent, the matte decides what shows through. If it is a screenshot, a chart or a logo, the honest advice is not to convert it at all — PNG is already the right container for flat colour and hard edges, and JPEG will fray both.
WebP and AVIF
Both are usually lossy already, so the JPG is a second generation and will be larger than the file it came from at the same apparent quality. People convert them anyway, because a fifteen-year-old photo printer has heard of JPEG and has not heard of AVIF. Animated WebP gives up one frame.
TIFF
The awkward one. A TIFF may hold several pages, in which case you pick; it may be 16 bits per channel, which becomes 8; and it may be CMYK, which becomes RGB without a colour-managed transform and shifts. Scanner and print output lands here more often than camera output does.
BMP, GIF and ICO
Nothing is lost reading any of the three, because there was not much there to lose. A GIF holds at most 256 colours and one frame is taken from an animation. An ICO holds several sizes in one file; the largest is the one converted, the row prints every size that was in there, and picking a smaller one is not a control this converter has.
JPEG itself
Allowed, and usually pointless. Re-encoding a JPEG at any quality spends a generation of loss and buys a fresh modification date. So long as the rail has not been moved off its defaults, the row offers the original file back instead, and taking that offer is normally the right answer unless the metadata or the matte is the thing you came to change.

Things people ask

Is JPG the same thing as JPEG?
Yes. One format, two spellings of the same extension, because MS-DOS allowed three letters and Unix allowed four. A file named .jpeg and a file named .jpg are byte-for-byte the same kind of thing, and every program that opens one opens the other.
Why will my computer not open the .HEIC files from my phone?
HEIC is the format iPhones save by default. Windows needs a codec from the Microsoft Store to open it, older versions of Windows cannot at all, and most upload forms reject it outright. Converting to JPG is the shortest way past that, and turning the phone setting to Most Compatible stops it happening again.
Can this get a photo under 200 KB for a form?
Yes. Switch the Quality panel to Target and type the limit in KB: each photo gets the highest quality whose finished file fits, found by encoding the real file. For forms with a pixel box and DPI too, the Form panel has presets for SSC, PAN, UPSC and IBPS, and a checklist reads every requirement back from the written JPG.
Does converting lose quality?
Some, always. JPEG is a lossy format: it throws away detail it judges you will not notice, and the parts it throws away do not come back. At quality 82 the difference is very hard to see on a photograph. On a screenshot, on line art, or on anything with hard edges and flat colour, it is visible immediately.
What happens to the date the photo was taken?
It is carried across by default, along with the camera, the lens and the exposure settings, rewritten as a metadata block on the JPG. The location is carried too unless you switch it off in the rail, and that switch exists because a lot of people do not know their photos contain coordinates.
Why does my transparent PNG come out with a white background?
Because JPEG has no transparency. Every pixel in a JPEG has a colour, so the transparent parts have to become one, and white is the default here. The control in the rail lets you pick black, near-white, any colour you like, or a colour sampled from the picture's own edges.

Ready when you are

Drop in a photo in any format and download a JPG a few seconds later.

Choose photos
Choose photos