Convert image

Export PNG, JPG or WebP. JPG flattens transparency.

Converting an image means decoding it to pixels and encoding those pixels again in another format — renaming .png to .jpg does not do that. Nerulio opens PNG, JPG, WebP, AVIF, BMP and single-photo HEIC in your browser and writes PNG, JPG or WebP (AVIF only where the browser can encode it; Chromium 153 cannot). Width and height stay the same; transparency survives in PNG and WebP and is filled with a background colour in JPG. Pick the target by what the picture is: photos → JPG or WebP, screenshots, logos and pixel art → PNG or lossless WebP.

Drop image files hereProcess many files at once
No upload · processed on this device

What a format change really changes

Every format stores the same grid of pixels in its own way. PNG is lossless: decoding it gives back exactly the pixels that went in. JPG is lossy — it drops the detail the eye misses most easily — and it has no alpha channel at all. WebP can be either lossy (VP8, colour kept at half resolution) or lossless, and keeps alpha in both. AVIF is lossy or lossless with alpha, but only some browsers can write it.

Quality therefore only ever goes one way. Turning a JPG into a PNG makes the file several times larger and keeps every JPG artefact exactly; going from one lossy format to another (JPG ↔ WebP) re-encodes and loses a little more each time.

In Nerulio the browser does the encoding. The quality slider (20–100, default 92) drives JPG, WebP and AVIF; PNG ignores it. In Chromium a WebP at quality 100 is written lossless — measured pixel-exact on the files below.

Lossless
Decoding returns the exact pixels that were encoded (PNG, lossless WebP).
Lossy
The encoder discards detail to save bytes; the loss cannot be undone later (JPG, lossy WebP, most AVIF).
Alpha channel
Per-pixel opacity. PNG, WebP and AVIF have it; JPG does not.
Re-encoding
Decode to pixels, encode again. Every lossy re-encode adds a small new error.

One photo, four outputs (measured)

NASA's public-domain astronaut portrait from the repository's test fixtures (512 × 512, opaque), converted with Nerulio's own code in Chromium 153 on 2026-09-28. SSIM compares the result with the decoded source (1.0 = identical).

Source: astronaut.png   791,555 bytes   512 × 512

Output               Bytes      of source   SSIM
JPG  quality 92      73,755      9.3 %      0.9874
WebP quality 92      59,824      7.6 %      0.9883
WebP quality 100    379,076     47.9 %      1.0000 (lossless)
PNG  re-encoded     575,694     72.7 %      1.0000 (lossless)

The re-encoded PNG is smaller only because the fixture was saved with weak compression; its pixels are identical. Pixel art turns the ranking around — see PNG to WebP, where the lossless WebP of a sprite sheet is a third of the size of the lossy one.

Which target for which picture

PictureConvert toWhy
Photo from a camera or phoneJPG (widest support) or WebPLossy loss is hard to see on continuous tone; see PNG to JPG
Screenshot, chart, textPNG, or WebP at quality 100Lossy encoders blur letters and add coloured fringes
Logo or cut-out with transparencyPNG or WebPJPG has no alpha: transparent areas become the background colour
Pixel art, spritesPNG, or WebP at quality 100Lossy WebP changed 8,481 of 16,576 pixels of a Kenney sprite sheet
AVIF or WebP an app refusesJPG (photo) or PNG (graphic)See AVIF to JPG and WebP to PNG
BMPPNG (lossless) or JPGBMP to PNG kept every pixel and saved 27 %

Check the result

  • Open the result in a second program (the system image viewer or another browser): it must open as the new format and have the same width and height as the source.
  • For transparency, look at the PNG or WebP on a coloured background; a JPG shows the background colour you picked instead.
  • Compare the byte counts in the result list. If the new file is bigger (WebP → JPG usually is), keep the original unless the destination demands the new format.

Troubleshooting

SymptomLikely causeHow to checkFix
The site still says "unsupported format"The file was renamed instead of converted, or the site wants another format than the one chosenA real PNG starts with the bytes ‰PNG, a JPG with ÿØÿ, a WebP with RIFF….WEBPConvert here to the format the site lists; JPG is the safest choice for photos
The transparent background turned whiteJPG cannot store alpha; the converter fills it with the JPG background colour (default #ffffff)The chosen target is JPGChoose PNG or WebP, or set another background colour under Advanced
The converted file is much largerLossy → lossless (JPG → PNG) or a lossy re-encode at a higher quality than the source usedCompare the sizes in the result listKeep the original, or lower the quality for JPG/WebP; for a byte limit use compress
AVIF is missing from the target listThe list only shows formats this browser can encode; Chromium 153 has no AVIF encoder for canvas—Use PNG, JPG or WebP; AVIF input still opens
An animated GIF or WebP is refusedThis is a still-image converter; multi-frame input is rejected instead of silently keeping frame 1—Export one frame first; for clips from video use video to GIF

Other ways to do it

OptionWhen it is the better choice
Keep the originalThe destination already accepts the current format — every lossy-to-lossy conversion costs a little quality.
The app that made the file (camera, phone share sheet, the editor's own export)You need the capture date, GPS or a wide-gamut colour profile kept: Nerulio writes no EXIF, and its JPG/WebP carry an sRGB profile.
Compress to a sizeThe real goal is a smaller file, not a particular extension: it compares PNG, JPG and WebP candidates and keeps the best-looking one under your limit.

What this page does not cover

  • EXIF (camera, date, GPS) is not written to any output; JPG and WebP from Chromium carry an sRGB colour profile, PNG output carries none.
  • Animated GIF, APNG and WebP and multi-image HEIC are rejected; SVG input is not supported.
  • Output formats depend on the browser's encoders: PNG, JPG and WebP in Chromium, no AVIF output there.

Versions and sources

Measured on 2026-09-28 with Nerulio's src/image.js encoder path in Playwright Chromium 153, on tests/fixtures/astronaut.png (public domain) and Kenney's CC0 sprite sheet in tests/fixtures/kenney/. What each format can store follows the MDN format guide.

Official documentation used

Example

Original geometric sample · 96 × 64
Original geometric sample · 96 × 64
Processed sample · 96 × 64
Processed sample · 96 × 64

Example generated with this tool. ZIP tools show their preview; inspect the downloaded archive for every file.

Convert image

Export PNG, JPG or WebP. JPG flattens transparency.

How it works

  1. Open an image
  2. Select PNG, JPG or WebP
  3. Convert and download the new file

Supported formats

PNG / JPG / WebP / AVIF / HEIC → PNG / JPG / WebP — Input decoding and output encoding depend on browser support. Animated inputs are rejected; select a still frame first.

What this tool does

Re-encodes the image into the selected format rather than renaming its extension.

Implementation and verified quality

advanced · browser image codecs. Quality qualification is in progress. Pro/Flagship quality has not been established.

Before you export

JPG has no transparency. Canvas export does not promise preservation of metadata, color profiles or animation.

Frequently asked questions

Which format keeps a transparent background?

Choose PNG or WebP. JPG flattens transparency onto the selected background color.

Are my files uploaded?

This tool processes the files you open on your device without uploading them. Images you explicitly attach to community posts are uploaded separately. Optional engines and models are downloaded from third parties; those requests expose connection information such as your IP address.

Will my work be saved automatically?

No. Images and editing state stay in this tab; media output can use local temporary storage. Changing language preserves your work; reloading, closing the tab, or following a link to another page can clear it.