WebP converter
Convert images to WebP, or a WebP back to PNG or JPG, in your browser with nothing uploaded, and see exactly what each conversion changed.
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
When WebP is not in the question and you are simply moving a photograph between JPG and PNG, that page opens on PNG and is written about what that move costs you.
JPG to PNG converterA WebP is only ever as sharp as the pixels it was made from, so a drawing is worth rasterising at the size you really need. On that page the size is the subject rather than a setting: where a drawing’s own size came from, and what a rasterised copy can no longer do.
SVG to PNG converter
What a WebP is, and why something on your machine will not open one
WebP is an image format Google published to make web pages lighter, and it is now what a great many sites serve their pictures as. That is usually how a reader ends up with one without ever having chosen it: you save an image from a page and what lands in your downloads folder is a file ending in .webp, which is not the JPG or PNG you were expecting. Nothing is wrong with the file. It is simply a newer container for the same picture.
Browsers have displayed WebP for years, which is exactly why sites use it and exactly why the trouble starts elsewhere. Software off the web caught up later and unevenly: an older image editor, an office application, a photo printing service or a form that only accepts certain uploads may refuse the file outright, and the refusal rarely explains itself. Converting it to something older is the whole of the remedy, and there is nothing to recover or repair on the way.
- WebP is two formats under one name. It has a lossy mode built on much the same ideas as JPEG, and a lossless mode closer in spirit to PNG. Which one a particular file uses was decided when it was written, and you cannot tell from the outside by looking at it.
- It carries transparency in either mode, which JPEG cannot do at all. That is one of the two reasons a site would choose it over a JPG, and it is the reason a logo saved from a page often comes as a WebP rather than as a PNG.
- It can hold an animation, in the way an old GIF does. A great many animated WebP files on the web are exactly that: a GIF somebody re-saved for a page, keeping the frames and shedding most of the bytes.
- This page decides what a file is from its contents and never from its name, so a WebP somebody renamed with a JPG extension is still read and converted as a WebP — and you are told about the disagreement, because it is a true thing about your file.
Taking a WebP out to PNG or JPG
This is the direction most people arrive for, and the page opens on the other one because a page can only preselect a single setting; the format control is one click away and no direction is a special case. What you are choosing between is a format that stores the picture exactly and one that is small, and the right answer depends on what the picture is rather than on where it came from.
- Choose PNG when the picture has transparency you need to keep. JPG has nowhere at all to put it, so converting a transparent logo to JPG really means choosing a background colour for it, and the tool will paint one and tell you which.
- Choose PNG for a screenshot, a diagram, a chart, or anything with text or a hard edge in it. Lossy compression of any kind lands hardest on high-contrast boundaries, so lettering picks up a grey fringe in a JPG that a PNG simply never has.
- Choose PNG when you are going to edit the picture again or keep it for a long time. It is the only format written here that loses nothing, so it can be opened and saved back as many times as you like without accumulating damage.
- Choose JPG for a photograph you are going to send, upload or store in quantity. It is smaller, everything on earth reads it, and the picture in a lossy WebP had already been through a lossy encode before it reached you, so the discarding is not starting from a pristine original in any case.
- Choose JPG when something at the other end insists on it. Upload forms, older printing services and a few document formats accept a shorter list of formats than your own machine does, and JPG is on every one of those lists.
One thing this direction cannot do is undo what the WebP already lost. If the file was written in the lossy mode — and most WebP files on the web are — then the softness on hard edges and the mottling in flat areas are part of the picture by the time you have it, and a PNG stores them as faithfully as it stores everything else. What a PNG does buy you is an exact copy of what that WebP decodes to, and a file that will not degrade any further however many times it is opened and saved. It will not be a small file: PNG is written here by the browser’s own compressor, which is decent rather than exhaustive, so a dedicated optimiser could still shave a slice off it afterwards without touching a single pixel.
Making a WebP, and what it costs you
The other direction is the one this page opens on, and it is a size decision. Any file the page can read as pixels — JPG, PNG or WebP — can be taken to WebP, and at a comparable quality the result is usually smaller than either of the others would be. Usually is doing real work in that sentence: the honest version of the claim is the number beside your own result, which is a measurement of your picture rather than a rule of thumb about pictures in general. A drawing saved as an SVG is read here too, and it is the one source that 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.
- A photograph for a web page is the case WebP was made for, and the one where the saving is normally worth having against the same picture as a JPG.
- A logo or an interface element with transparency is the other good case. WebP carries the transparency across, so nothing is flattened, no background is painted, and the file is smaller than the PNG it came from.
- A screenshot or a diagram is the case to think twice about here. WebP’s lossless mode would be the right tool for it and is not available on this page, so what you get instead is a lossy encode of exactly the content lossy encoding handles worst — which is when PNG is the better answer even though it is bigger.
- A picture you intend to edit again is a poor candidate in either direction. Every save of a lossy format discards a little more, the losses accumulate over a few rounds, and nothing here can write the WebP mode that would avoid it.
Whichever direction you are going, a file that is already a grid of pixels leaves here at the dimensions it arrived with. This converts and does not edit: nothing is scaled, cropped, sharpened or put through a second round of compression, and the only thing that changes is how the same picture is stored. There is one exception among those — a photograph whose own file declares that it is lying on its side, which in practice means a JPG straight off a phone. That one is turned upright, so its width and height trade places, and the row says so rather than leaving the new numbers to be discovered.
The quality control is on screen only for a Target that has something to give up, which here means WebP and JPG. PNG discards nothing, so there is nothing to trade and no control at all rather than one sitting there doing nothing. Wherever you leave it, the row beneath your file reports the size it started at, the size it came out at and the difference between them, so what you are trading is a figure you can read instead of something you have to take on faith. Moving the control re-encodes a picture already drawn wherever it can, instead of reading your file again, which is why the figures keep pace with the slider.
Why a WebP made here is never lossless
This is the ceiling worth knowing about before you rely on the page, and it follows from what the page is made of. 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 run with nothing uploaded, nothing installed and nothing downloaded beyond the page itself, and it is also what fixes what can be asked of the encoder.
The whole of what that machinery accepts is the name of a format and a number between zero and one. Nowhere in it is there a way to say which of WebP’s two modes you meant, and lossless is not the one it reaches for, so the mode is simply unavailable from a page — every WebP made here is a lossy encode, the top of the quality control included. Some browser versions have quietly treated the very top of the range as something better and others have not, and nothing obliges any of them either way, so this page holds the control to what it is guaranteed to be and puts a notice on the row saying so.
- PNG is the answer whenever certainty matters more than size. It is the only lossless format written on this page, it is lossless for every picture and at every size, and there is no setting that could make it otherwise.
- A file that arrived as a lossless WebP leaves as a lossy one. There is no passing it through untouched: it is decoded and encoded again like everything else, so the result will not match it byte for byte, and the top of the quality control makes no difference to that.
- For a photograph, none of this matters very much. It had already been through a lossy encode long before it reached this page, so the live question is only which encode looks better at a given size — and the size beside each result is what answers that, for your file rather than for files in general.
The gap could be closed 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 the mode they wanted, and until it arrived the page would not work at all, on a site where every other page works the moment it renders. It would also put two encoders behind one control, so that every size, every quality and every notice on this page would have to say which of them produced it. A converter that states its ceiling plainly is worth more than one that hides it behind a download, and this is the page where that ceiling most needed stating.
An animated WebP comes out as a single picture
A WebP can hold a sequence of frames, and plenty of the ones on the web do — an animation that used to be a GIF is very often a WebP now. Nothing on this page writes an animated file in any format, so what gets converted is the first frame, and every other frame is gone. That is exactly the kind of loss a converter can inflict in silence and be believed about, so the row says it happened.
It is worth being clear that this is true whichever format you convert to, WebP included. The animation is not lost because the destination cannot hold one; it is lost because the conversion decodes the file, draws one frame and hands the encoder that. Converting an animated WebP to WebP therefore loses the animation exactly as converting it to PNG does, which is the opposite of what the format names would lead you to expect.
- The notice appears only for a file that actually declares more than one frame, so a still WebP converts with nothing said about frames at all.
- If the animation is what you need, keep your original file. There is no setting on this page that preserves it, and there is no format on this page that could carry it.
- If a single picture was what you wanted all along — a still to put in a document, or a thumbnail of an animation — then the first frame is the useful one and this is the tool for it.
What each result row tells you, and when it refuses
A converter that works in silence is the reason people find out about a sideways photograph, a black background or a missing animation days later and somewhere else entirely. Every row here carries a short account of what was actually done to that file — and carries nothing at all when nothing notable was done, which is what makes the notices worth stopping for rather than scrolling past.
- The picture was turned upright, and its width and height swapped. Phones record which way up a photograph should be looked at instead of turning the pixels; a conversion here draws the picture from its decoded pixels, so that note cannot travel any further and the turning has to be done for real. The dimensions on the row are then not the ones your file manager showed you, which is exactly why the swap is stated rather than left for you to puzzle over.
- Metadata was dropped. Camera details, the location a phone recorded, an embedded colour profile and any comments travel alongside the pixels rather than inside them, and drawing the picture leaves them behind. The notice appears only for a file that carried some, which is the whole reason it means something when you see it. The colour profile is the one of those with a visible consequence: the output is ordinary sRGB carrying no profile at all, so a photograph taken in a wider space can come out with its most saturated colours a little duller.
- Transparency was flattened, and onto which colour. This is measured and not assumed. A great many pictures carry a transparency channel without a single transparent pixel in them, so the notice waits until a genuinely see-through pixel has been found in the drawn picture — and an opaque WebP taken to JPG raises nothing.
- The name and the contents disagree. Since the bytes decide and the extension never does, a WebP that somebody saved with a JPG extension is read and converted as the WebP it is — and the disagreement is reported, because it is something true about your file that you had no way of knowing.
- Only the first frame was kept. It appears for a Source that declares more than one, whatever you are converting it to, for the reason the section above gives.
- 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. The general statement — that WebP here is never lossless — is made once on the page itself, rather than repeated on every row.
When a file cannot be converted, the tool says why rather than handing you something. It names and refuses a file that is none of the formats it reads; it does the same for a file that is one of them but whose header is damaged or cut short; and it does the same again for a file your browser turns out to be unable to decode, however sound the header looked. Nothing is guessed at and nothing half-finished is passed off as finished — the rule behind every notice above, applied where it counts for most.
One refusal deserves explaining in advance, since it is the failure converters are notorious for. Every browser has a ceiling on the size of picture it will actually hold, the ceiling differs between a phone and a desktop and between two browsers on the same machine, and crossing it raises no error whatever: what you get is a silently blank image of a few kilobytes that passes for a successful conversion until somebody opens it. So this tool allocates the picture at its real output size, writes a known pixel into it and reads that pixel back, all before anything is drawn. If the surface is not really there the conversion is refused, the size is named, and no file is made. The question is put for each file at its own size on your own device, so nothing is ever refused here on account of a limit chosen for somebody else’s machine.
Why your file never reaches a server
This page has no server behind it, and that is a description of the thing rather than a promise about conduct. The conversion runs in the tab you are reading this in, on your own processor; your file goes nowhere, because there is nowhere for it to go — this site has no means of receiving one, and no third party is involved at any point. There is no version of the tool that works differently and no setting that would change it.
None of that has to be believed on trust, which is the reason for saying it this way round. Open the network panel in your browser’s developer tools and convert something while you watch: nothing goes out. The whole page is a handful of static files with no code running anywhere else, so you can disconnect from the network once it has loaded and carry on converting for as long as you like.
- A .webp that arrived from somewhere else and will not open on your machine is read and converted entirely on it, whether what is inside turns out to be an invoice, a medical scan or a page a colleague saved for you.
- The converted file lives in this tab and nowhere else until you download it. Closing the tab is the whole of deleting it, and nothing about it is remembered from one visit to the next.
- Since camera metadata cannot survive a conversion, the file you download carries no coordinates and no device identity, whatever the file you began with was carrying.
Frequently asked questions
- Something on my computer will not open a .webp file. Is that what this page is for?
- Yes, and it is the most common reason people arrive here. WebP is the format a great many websites now serve their pictures as, so it is easy to end up with one you never chose. Browsers have displayed it for years; software away from the web caught up later and unevenly, so an older image editor, an office application or an upload form may still refuse it. Convert the file to PNG or to JPG and whatever refused it will open it. Nothing needs recovering on the way — the picture inside a WebP is an ordinary picture, and the problem is only which container it is in.
- Should I convert my WebP to PNG or to JPG?
- It depends on what the picture is rather than on what it came from. Choose PNG if it has transparency you need to keep, if it is a screenshot, a diagram or anything containing text or a hard edge, or if you are going to edit and save it repeatedly — PNG stores the picture exactly, so nothing more is lost however often you open it. Choose JPG for a photograph you are sending, uploading or keeping a lot of, or when whatever you are giving it to insists on that format. Expect the PNG to be considerably the larger of the two for a photograph, and expect it to be larger than a specialist tool would manage even so — the browser’s own compressor writes it, and there is no way to ask that compressor to try harder. If you are unsure, convert it both ways and compare the sizes on the two rows; both are free and neither touches your original file.
- Can this page make a lossless WebP?
- No, and it is the single most useful thing to know about this page. WebP does have a lossless mode; a browser simply cannot be asked for it, because the drawing surface takes a media type and a number between zero and one and accepts nothing else. Every WebP made here is a lossy encode, and the top of the control is a lossy encode too — which is why a notice appears at that position specifically, rather than trusting the position to speak for itself. PNG is the only certainly lossless format this page writes. And a file that was already a lossless WebP does not survive as one: converting it to WebP here re-encodes it like anything else.
- My animated WebP came out as a single still picture. Can I keep the animation?
- Not on this page. A WebP can hold a sequence of frames, and nothing here writes an animated file in any format, so the conversion decodes the file, draws the first frame and encodes that. The row tells you it happened, because a lost animation is exactly the kind of thing a converter can do in silence and be believed about. It is the same whichever format you choose, WebP included: the animation is not lost because the destination cannot hold one, but because only one frame was ever drawn. If you need the animation, keep your original file.
- Does converting a WebP to PNG make the picture look better?
- No, and it is a common hope. Most WebP files on the web were written in the lossy mode, which reaches its size by discarding detail when the file is made, and that detail is not recorded anywhere afterwards. A PNG stores whatever it is given exactly, so it preserves the softness and the mottling as faithfully as it preserves everything else. What the conversion does buy you is that nothing further is lost: the PNG can be cropped, edited and saved again without accumulating the damage another lossy round would add. If the WebP happened to be a lossless one, the PNG is an exact copy of what it decodes to, which is as good as the picture gets here — the one thing that does not survive either way is an embedded colour profile, which is why a photograph from a wide-gamut camera can look very slightly duller afterwards.
- My WebP has transparent parts. What happens to them?
- It depends entirely on what you convert it to. PNG and WebP both carry transparency, so converting to either keeps it and nothing is painted behind the picture. JPG cannot store transparency at all — there is no channel in the format for it — so something has to go behind the picture, and the tool paints a background and tells you which colour it used. White is the default, on the grounds that white is what a document, a slide or an upload form usually is; a colour control appears the moment a file in your list genuinely needs one, so choosing another colour redoes the conversion. The notice itself waits for a genuinely see-through pixel to be found, so a picture that merely carries a transparency channel and never uses it raises nothing.
- I converted a file here, put the result back in, and it says metadata was dropped. Why?
- Because the browser’s own WebP encoder commonly writes a small colour-profile block into the file it produces, and this tool reports that block honestly when it reads the file back. So the notice is true rather than confused: your first conversion did drop the camera details and the location that the original held, and the WebP it wrote then carried a block of its own that the second conversion in turn dropped. Nothing accumulates and nothing of yours survives either round. If you want a file with no camera details and no location in it, one pass through this page is enough, and the second notice is not a sign that something was left behind.
- Does my file get sent anywhere, and does this work with the network off?
- It is not sent anywhere, and yes it does. A .webp you drop here is decoded and encoded again by the tab you are looking at, using your own processor; this site has no server that could take a file even if the page tried to hand one over. Watching that is quick — open the network panel in your browser’s developer tools and convert something with it open. The page itself is the only thing that ever travelled, so once it has arrived you can switch the network off altogether and keep converting. Nothing about your files is stored, carried from one visit to the next, or left behind when the tab closes.