JPG to PNG converter

Convert JPG, PNG, WebP and SVG images to PNG, JPG or WebP without uploading anything, and see exactly what each conversion changed.

or drop them here
Convert to

Nothing is uploaded

Every conversion runs in this browser tab, on your own machine. No file is sent to this site or to anyone else — there is no server here to send one to — so a confidential image stays confidential, and you can watch your browser’s network tab while you convert it and see for yourself.

WebP here is never lossless

WebP has a lossless mode, and a browser canvas cannot write one — there is no way to ask it for one. Every WebP produced here is a lossy encode, at the top of the quality control just as much as below it, so the result is never a lossless copy of what went in.

Colours may shift

The picture is redrawn here and written out as ordinary sRGB, carrying no embedded colour profile. A photograph taken in a wider space — Display P3 on a recent phone, or Adobe RGB — comes out looking the same in most places, but its most saturated colours can end up a little duller.

The other converters

  • A PNG heavy enough to slow a page down is the case WebP was made for — and a WebP that nothing on your machine will open goes back the other way just as easily. That page opens with WebP already chosen.

    WebP converter
  • If what you have is a drawing rather than a photograph — a logo or an icon saved as SVG — it has no pixels at all until somebody picks a size. That page is the one written around choosing it.

    SVG to PNG converter

What a JPG and a PNG actually are

The two formats were built for different pictures, and they compress in ways that have almost nothing in common. JPEG divides the image into small blocks and throws away the detail your eye is least likely to miss; the discarding is the compression, which is why a JPG of a photograph is a fraction of the size of anything lossless, and why every fresh save of one costs a little more. PNG does the opposite. It looks for repetition — runs of identical pixels, a row that resembles the row above it — and stores the picture exactly, so what comes out is what went in, to the last pixel.

That difference decides everything else about them, including the thing most people come to a converter hoping for. Converting a JPG to a PNG cannot restore what the JPEG encoder already removed. The blocky edges around text, the faint halo along a hard boundary, the mottling in what should be a clear sky — those are in the pixels now, and a lossless format stores them as faithfully as it stores everything else. What you get is the same picture in a container that will not degrade it any further, which is a genuinely useful thing to have, and is not an improvement in quality.

  • JPEG holds no transparency at all. The format has no fourth channel and never had one, so a picture with see-through parts must be laid onto some colour before it can be written as a JPG — which is what the background control on this page is for.
  • PNG stores the picture exactly and carries transparency, which is why it is the right format for screenshots, diagrams, interface captures and anything with text or a sharp edge in it. It is also why a PNG of a photograph is usually several times the size of the JPG it came from.
  • WebP is the newer format that tries to be both. It has a lossy mode built on much the same ideas as JPEG, a lossless mode closer in spirit to PNG, and it carries transparency in either — but only the lossy half of it is reachable from a browser, which is what a section below is about.
  • Changing a file’s extension is not converting it. Renaming a picture from a JPG extension to a PNG one leaves every byte of it exactly as it was, and whatever opens it next finds a JPEG under a PNG name — which is precisely why this page decides the format from the contents of the file rather than from what it is called.

One practical thing follows from all of this, and it is worth knowing before you convert a folder of files: a file that is already a grid of pixels comes out of here at the dimensions it went in with. This is a converter and not an editor — nothing is scaled, cropped, sharpened or recompressed twice, and the only thing that changes is how the same picture is stored. The single exception among those is a photograph whose own file says it is lying on its side, which is turned upright, and whose width and height therefore swap; the tool says so on the row rather than letting the new numbers surprise you.

Choosing what to convert to

This page is called JPG to PNG because that is the conversion most people arrive looking for, and that is only the setting it opens on. Any file it can read as pixels — JPG, PNG or WebP — can be taken to any of the three formats it writes, so the format control is the whole of the difference and no direction among them is a special case. It reads an SVG as well, and that one is not simply another direction: a drawing has no pixels at all until somebody picks a size, so an SVG in your list puts a width and a height on this page, and the SVG to PNG converter on this site is the door written around that decision, with a guide of its own. Which format you want is a question about the picture rather than about the file you happen to have.

  • A photograph, where size matters: choose JPG. It is what the format was designed for, everything on earth reads it, and at a sensible quality the difference from the original is hard to see at normal viewing size.
  • A screenshot, a chart, a diagram, anything containing text or a hard edge: choose PNG. JPEG’s discarding lands hardest exactly on high-contrast boundaries, so lettering in a JPG picks up a grey fringe that a PNG simply never has.
  • Anything with transparency you need to keep: choose PNG or WebP. JPG has nowhere to put it, so choosing JPG for a logo is really choosing a background colour for it instead.
  • A picture for a web page where bytes matter: choose WebP, which at a comparable quality is usually smaller than either of the others. Move the quality control and watch the size beside the result — that is a measurement of your own file, rather than a rule of thumb about files in general.
  • A picture you are going to edit again, or keep: choose PNG. Every save of a JPG discards a little more and the losses accumulate over a few rounds, while a lossless file can be opened and written back as many times as you like without changing.

The place JPEG is most often the wrong answer is the one where it gets chosen most casually: a screenshot on its way into a document, a bug report or a slide. Text is precisely the content JPEG handles worst; the file is frequently no smaller than the PNG would have been, because there is so little for the encoder to smooth away; and the artefacts around the letters are permanent, so nobody downstream can undo them. If you already have such a screenshot as a JPG, converting it to PNG will not repair it — but it will stop the damage happening a second time, which is often the reason to convert at all.

The quality control appears only when the format you are converting to has one, which means JPG and WebP. PNG has nothing to trade away, so no control is offered rather than one that sits there doing nothing. Whatever you set it to, each row shows the original size, the converted size and the change between them, so the bargain you are striking is a number in front of you instead of a guess — and where it can, moving the control re-encodes a picture that has already been drawn rather than reading the file again, which is why the sizes keep up with you.

What this converter drops, and why it cannot keep it

Everything here is done with the picture-drawing machinery already built into your browser: the file is decoded, drawn once, and written back out in the format you asked for. That is what lets the tool work with nothing uploaded, nothing installed and nothing downloaded beyond the page itself — and it sets a ceiling that is better stated plainly here than discovered later somewhere else.

  • Camera metadata is gone. EXIF — the camera model, the exposure, the date, and the GPS coordinates if the phone recorded them — travels alongside the pixels rather than inside them, and drawing the picture leaves it behind. There is no format and no setting here under which any of it survives.
  • The embedded colour profile goes with it. The output is ordinary sRGB carrying no profile of its own, so a photograph taken in a wider space — Display P3 on a recent phone, or Adobe RGB — will look the same in most places, and can lose a little intensity in its most saturated colours.
  • PNG output is not optimised. The browser’s own compressor writes it and there is no way to ask for a better one, so a PNG produced here is typically somewhat larger than one a dedicated tool would make of the same picture. It is still lossless: the picture is exact, and only the packing of it is ordinary.
  • The bytes are not reproducible. Two browsers handed the same picture at the same quality produce two different files, both perfectly correct. What this tool can promise you is a particular picture, never a particular file.

Some of that could be lifted by shipping a real encoder compiled to run inside the page, and this tool deliberately does not. Such an encoder is a few hundred kilobytes that every visitor would download so that some of them get a slightly smaller PNG, and it is machinery for producing an answer the browser is already able to produce. The decoding half would still be the browser’s in any case, so the colour handling above would not actually be bought back by it; and the tool would stop working at all until the download arrived, on a site where every other page works the moment it renders. A converter that states its ceiling is worth more than one that hides it behind a download.

It is worth saying that most of what is lost here is lost in the direction people want. A file converted on this page carries no location, no device serial number and no editing history, whatever the file you started from held — so if what you needed was a copy of an image with none of that attached to it, that is a guarantee rather than something to verify afterwards. The row for a file that carried any of it says so, and the row for a file that carried none says nothing at all, which is exactly what keeps the notice worth reading.

Why a lossless WebP is not on offer here

WebP contains two quite different formats under one name. The lossy mode works broadly as JPEG does, discarding detail to save space; the lossless mode works more as PNG does, and a file written that way can be opened and rewritten indefinitely without changing. Which of the two a given WebP uses is decided when the file is written, and it is not something you can tell by looking at the file from the outside.

A browser’s drawing surface can be asked for a media type and a number between zero and one, and that is the entire interface. There is no way to ask it for WebP’s lossless mode, so every WebP this page produces is a lossy encode. The top of the quality control is not an exception to that: it is the best lossy encode available here and not a lossless copy. Whether a particular browser quietly treats the very top of the range as something better is unspecified and has differed between versions, which is precisely why this tool does not rely on it, and says so on the row when you are standing there.

  • If you need a copy that is certainly lossless, choose PNG. It is the only lossless format this page writes, and it is lossless at every size and for every picture.
  • A WebP written in the lossless mode does not stay lossless through this tool. Converting it to WebP re-encodes it lossily, so the result will not match the original byte for byte, and putting the quality control at the top does not change that.
  • For a photograph the distinction matters far less, because it was lossy long before it arrived here. The only real question there is which encode looks better at a given size, and the size shown beside each result is what answers it for your particular file.

What each result row tells you

Most converters do their work in silence, which is how a picture ends up sideways, or on a black background, or missing its animation, and the person who converted it finds out much later and somewhere else. Every conversion here carries a short list of what actually happened to that particular file — and, just as importantly, says nothing whatever when nothing notable happened, which is what keeps the notices worth reading rather than scrolling past.

  • The picture was turned upright, and its width and height swapped. A phone usually stores the photograph the way the sensor read it and records separately which way up to look at it; a conversion here redraws the picture from its decoded pixels, so no such note can travel with it to any format, and the turning is therefore done for real. After that the numbers on screen are not the ones your file manager showed you, which is why the swap is announced rather than left to be noticed.
  • Metadata was dropped. It appears only for a file that actually carried some, which is the whole reason it means something when you see it rather than being a line on every conversion anybody makes.
  • Transparency was flattened, and onto which colour. This one is measured rather than assumed: most screenshots are stored with a transparency channel and never use a single pixel of it, so the notice waits until a genuinely see-through pixel has been found in the drawn picture. An opaque PNG taken to JPG says nothing.
  • The name and the contents disagree. The format is always decided by the bytes and never by the extension, so a JPEG somebody named with a PNG extension is read and converted correctly as a JPEG — and you are told, because it is a true thing about your file that you almost certainly did not know.
  • Only the first frame was kept. WebP is not the only format that can hold a sequence of frames: an animated PNG is a PNG like any other, and moves in a browser just as an animated WebP does. Nothing on this page writes an animated file, so the first frame is what gets converted — and that is the same whichever format you convert it to, the one it came from included.
  • WebP at this setting is still lossy. This one appears at the top of the quality control and nowhere else, because the top is the only place the belief it corrects can be held.

Where a file cannot be converted, the tool says why instead of producing something. A file that is none of the formats it reads is named and refused; so is one that is a supported format whose header is damaged or cut short; and so is one your browser turns out to be unable to decode, however sound its header looked. Nothing is guessed at, and nothing half-worked is handed back as though it were finished — which is the same rule as the notices above, applied at the one moment it matters most.

One refusal is worth knowing about in advance, because it is the failure this kind of tool is famous for. Browsers have a ceiling on how large a picture they will hold; it is not the same on a phone as on a desktop, nor the same between two browsers on one machine, and going past it raises no error at all — it quietly yields a blank image of a few kilobytes that looks like a successful conversion until somebody opens it. So before drawing anything, this tool allocates the picture at its real output size, writes a known pixel into it and reads that pixel back. If the surface is not genuinely there, the conversion is refused with the size named and no file is produced. That question is asked for each file at its own size rather than against a fixed number, so a picture your own device can manage is never refused on account of a limit chosen for somebody else’s.

Why nothing here leaves your machine

There is no server behind this page. The conversion happens in the browser tab you are reading this in, on your own machine’s processor, and the file is never sent anywhere — not to this site, which has nothing to receive it with, and not to anybody else. That is not a policy that could be changed quietly one day; it is what the tool is made of, and there is no version of it that works differently.

You do not have to take that on trust, which is rather the point of putting it this way round. Open your browser’s developer tools, watch the network panel, and convert a file: nothing leaves. The page is a handful of static files with no code running anywhere else, so once it has loaded you can disconnect from the network entirely and go on converting for as long as you like.

  • A picture you would not send to a stranger — a contract, a medical scan, a screenshot of something internal — can be converted here without it leaving your machine at all.
  • The converted file exists only in this tab until you download it. Closing the tab is the whole of deleting it, and nothing about it is remembered between visits.
  • Because camera metadata cannot survive the conversion, the file you download carries no location and no device details, however much the file you started from held.

Frequently asked questions

Does converting a JPG to a PNG make it look better?
No, and it is the most common thing people hope for. JPEG discards detail when the file is written, and that detail is not recorded anywhere — the artefacts around text, the softness on a hard edge, the mottling in a plain area of colour are part of the picture by the time you have the JPG. A PNG stores whatever it is given exactly, so it preserves the artefacts as faithfully as it preserves everything else. What converting does buy you is that nothing further is lost: the PNG can be edited, cropped and saved again without accumulating the damage another round of JPEG would add.
Why is the PNG so much larger than the JPG it came from?
Because it is lossless and the JPG was not. JPEG reaches its size by throwing information away, and PNG reaches its size only by finding repetition it can pack more tightly, which a photograph has very little of. A few times the size is entirely normal for a photograph, and for a screenshot the gap is usually much smaller because a screenshot is full of flat areas and repeated rows. It is worth knowing that PNG output here is written by the browser’s own compressor, which is decent rather than exhaustive, so a dedicated optimiser could shave a further slice off the file without changing a pixel of it.
My phone photo came out the right way up, but its width and height swapped. Why?
Because the photograph was stored on its side with a separate note saying which way up to look at it. Phones do that constantly: the sensor reads the scene in its own orientation and the camera writes a tag saying how far to turn it, rather than turning the pixels. A conversion here decodes the picture and draws it once, so no tag travels with it whichever format you choose — and PNG and WebP have nowhere to keep one in any case — which means the turning has to be done for real. A picture turned a quarter of the way round is as tall as it used to be wide. The row tells you the swap happened so that the new numbers are an explanation rather than a surprise, and the picture itself is now upright everywhere, with no viewer needing to be told.
What happened to the camera details and the location in my photo?
They are gone, on every conversion and to every format. That information lives in an EXIF block travelling alongside the pixels rather than in the pixels themselves, and this tool works by decoding the picture, drawing it once and writing it back out — which carries the picture across and nothing else. The same is true of an embedded colour profile, of XMP, and of comments. For most people this is the outcome they wanted: the file you download carries no GPS coordinates and no device identity, and that holds whatever you converted and whatever you converted it to. If you need the metadata kept, this is not the tool for the job, and no setting here will change that.
My transparent logo came out on a white background. Why, and can I change the colour?
Because you converted it to JPG, and JPEG cannot store transparency at all — there is no channel in the format to put it in. Something has to be behind the picture, so the tool paints a background first and tells you which colour it used. White is the default because it is what most documents, slides and upload forms are, and a colour control appears as soon as a file in your list actually needs one, so you can pick something else and the conversion is redone. If you would rather keep the transparency, convert to PNG or WebP instead — both carry it, and then no background is painted and no notice appears.
Is WebP at the top of the quality control a lossless copy?
No. WebP does have a lossless mode, and a browser cannot be asked for it: the drawing surface takes a media type and a number, and there is no way to request anything else. Every WebP produced here is therefore a lossy encode, at the top of the control exactly as much as in the middle, which is why a notice appears there rather than letting the position speak for itself. If you need something certainly lossless, PNG is the only format on this page that qualifies. And if the file you started from was itself a lossless WebP, converting it to WebP here will not preserve that — it is re-encoded like anything else.
It refused a very large image instead of converting it. Why not just try?
Because trying is what produces a blank file. Every browser has a ceiling on the size of picture it will actually hold, the number differs between phones, desktops and browser versions, and exceeding it raises no error — the surface is silently there but empty, and what you download is a few kilobytes of nothing that looks like a successful conversion until you open it. So the tool allocates the picture at its real output size, writes a pixel and reads it back before drawing anything, and refuses with the size named if the surface is not really there. That test is run for your device on your file, which is why the same image may be refused on a phone and convert on a laptop.
Is anything uploaded, and does this work without a network?
Nothing is uploaded, and yes it does. The conversion runs in your browser tab using your own machine, there is no server here to send a file to, and you can confirm it in a few seconds by opening the network panel of your browser’s developer tools and converting something while you watch. Once the page has loaded, it needs no connection at all: disconnect entirely and every conversion still works. Nothing about the files is stored, remembered between visits, or left behind when you close the tab.