Image Converter

Convert HEIC, PNG, JPG, WebP, AVIF, GIF, BMP and SVG images in your browser. Resize, set a JPG background colour, batch convert and download as ZIP.

Runs in your browser

HEIC, PNG, JPG, WebP, AVIF, GIF, BMP and SVG · no photo upload · HEIC: primary still image, up to 4096 px / 16 MP.

Drop files here or click to browse
HEIC / HEIF / JPG / PNG / WebP / AVIF / GIF / BMP / SVG · Files never leave your device.

Convert to

PNG is lossless — quality does not apply.

Resize

Keeping EXIF can include GPS location and camera details. Orientation and dimensions are updated; embedded thumbnails are removed.

Large images are resized to at most 4096 px and 16 megapixels.

Preview encodes locally using your settings. The shown size is the actual downloadable file size.

Files

Add images to convert.

Files never leave your device.

What goes in, and what comes out

Input: HEIC, PNG, JPG, WebP, AVIF, GIF, BMP and SVG. Output: PNG, JPG or WebP. Raster files are decoded into a bitmap, drawn onto a canvas at the size you asked for, and re-encoded by the browser’s own encoder.

Output formats are JPG, PNG and WebP. HEIC is accepted as input using a decoder loaded on demand in the browser; HEIC and AVIF output are not offered.

Conversion is always a re-encode, never a rename. Changing a file’s extension from .webp to .jpg does not convert it — the bytes are still WebP, and roughly half the apps that open it will refuse or show a broken thumbnail.

PNG, JPG or WebP — which output to choose

  • PNG — lossless with an alpha channel. Best for screenshots, logos, UI captures, line art and anything containing text or hard edges. A photograph saved as PNG is typically 3–6× the size of a good JPEG for no visible gain.
  • JPG — lossy, no transparency, accepted absolutely everywhere. The right answer for photographs and for any system that is old, offline or fussy about extensions.
  • WebP — lossy or lossless, keeps alpha, roughly 25–35 % smaller than JPEG at matching quality and about 20 % smaller than PNG for lossless content. Supported by every current browser, but still refused by some print shops, government upload forms and older desktop software.

Rule of thumb: a photograph for a web page → WebP; a photograph you have to send someone → JPG; anything with transparency or text → PNG, or WebP if only browsers will ever open it.

Transparency and the JPG background colour

PNG, WebP, GIF and SVG can carry an alpha channel; JPG cannot. When a source with transparency is converted to JPG, every transparent pixel must become an opaque colour, and this tool asks which one instead of guessing.

The colour picker only appears when it can actually matter — output JPG plus at least one input that can hold alpha — and after conversion each row reports how much of the image was actually transparent. White (#ffffff) is the default; pick the background your image will sit on, or black for a dark interface. Getting it wrong shows up as a coloured halo around the anti-aliased edges of a logo.

For JPG output the canvas is created with alpha disabled and filled with your colour first, so semi-transparent pixels blend against that colour. A naive conversion composites them over black instead, which is why logos exported elsewhere often come back with grey fringes.

SVG: turning a vector into pixels

An SVG is code, not pixels, so it is rasterised through an <img> element rather than createImageBitmap, which browsers do not handle reliably for SVG. Whatever width, height or viewBox the file declares becomes its natural size; a file with no intrinsic dimensions is rendered at 1,024 px on the long edge, keeping the viewBox proportions.

Decide the output size before you convert: use Exact W×H or Percent to render at the resolution you actually need. Rasterising at 1,024 px and enlarging afterwards gives a blurry result, because the detail was discarded at render time. For an icon that will be displayed at 32 px, render at 128 px and let the browser scale it down.

The conversion is one-way, and external references do not travel. An SVG that pulls a font from Google Fonts, or embeds <image href="…"> from another server, can render with a fallback face or a blank rectangle. Convert the text to outlines in your editor first if the typography matters.

GIF and BMP: what survives the trip

An animated GIF decodes to its first frame only. There is no animated output format here, so a 60-frame GIF becomes one still image — exactly what you want for a poster frame, and a surprise if you expected animation.

BMP is uncompressed: a 1,920×1,080 BMP is about 8 MB, where the same picture is often under 1 MB as PNG and under 300 KB as JPG. Converting away from BMP is nearly always a large win with no visible cost.

A GIF’s 256-colour palette does not come back. Converting GIF → PNG gives you a lossless copy of the already-reduced colours, not a restoration of the original photograph.

Resizing while you convert

Five modes are available: none, percent, max width, max height, and exact W×H with an aspect lock.

Max width and Max height only ever shrink: an image already narrower than the bound passes through at its original size. That lets you run a mixed batch through “max width 1200” and change only the oversized files. Percent and Exact will enlarge if you ask them to, with the softness that always follows.

Exact W×H with the aspect lock on computes the height from the width you type, so the picture is never stretched. Turn the lock off only when you actually want distortion — this tool scales, it does not crop to fill a box.

Whatever you ask for, the output is clamped to what a canvas can rasterise — 16 megapixels of area and 4,096 px on the long edge — and rows that hit the cap are marked so the result is never silently different from what you set.

Quality — and when the slider does nothing

Quality (default 90) applies to JPG and WebP only; the value is handed to the encoder as 0.01–1.00. PNG ignores it completely because PNG is lossless, so the field is disabled with a hint rather than left there to mislead you.

90 is deliberately higher than a compressor’s default. Converting is usually about compatibility, and a conversion that visibly degrades the picture defeats its own purpose. Drop to 75–80 when the point of the conversion is a smaller file — or use the image compressor, which searches for the quality that hits a byte target.

WebP at quality 90 is close to visually lossless on photographs and is still smaller than JPEG at 85 — which is the main reason to convert a JPG library to WebP at all.

Orientation, metadata and privacy

The decoder applies the image orientation before export. EXIF is removed by default. Preserving EXIF can retain camera, date and GPS data when readable metadata is present; it is not a guarantee that every original field survives. Review this choice before sharing.

Drop as many files as you like. Each row shows the source dimensions, the output size and any warning — alpha loss, or a downscale to the canvas cap. Download them one at a time, or take the whole batch as a ZIP, stored rather than deflated because image formats are already compressed.

Conversion runs on your device; photo bytes are not uploaded. Select several files, adjust size and metadata, then download individual results or a ZIP. The displayed size estimate is a guide; actual encoded size depends on the picture and settings.

How to use

  1. Drop your images on the drop zone, or click it to browse — several files at once is fine.
  2. Choose the output format in ‘Convert to’, and set Quality for JPG or WebP.
  3. Converting to JPG? Pick a background colour — JPG has no transparency to keep.
  4. Under Resize, choose Percent, Max width, Max height or Exact W×H with the aspect lock.
  5. Press Convert, then download each file or press ‘Download all (.zip)’ for the whole batch.

FAQ

Can I convert HEIC photos from my iPhone?

Only the primary still image is supported, without motion or depth data. Inputs above 4096 pixels per side or 16 MP exceed the decoder limit; resize or export a smaller copy first.

Does PNG → WebP → PNG give me my original file back?

No. The WebP step here is lossy (quality 90 by default), so the second PNG is a lossless copy of an image that already lost detail. Round-tripping through any lossy format is a one-way trip — keep the original whenever you might need to go back.

Why is my converted PNG bigger than the JPG it came from?

PNG stores every pixel exactly, including the JPEG’s compression artifacts — and that fine, noisy texture is precisely what lossless compression handles worst. Converting a photograph from JPG to PNG usually triples the file size and adds no quality, because the quality was already gone. Convert to PNG only when you need transparency or a lossless working copy.

Can I turn images into a PDF here?

Not in this tool — the PDF tools page has an “Images → PDF” tab that places one image per page with a choice of A4, Letter or fit-to-image, automatic orientation and a margin in points. Convert or resize the pictures here first if you want them all at a consistent size.

Is there a limit on how many images I can convert at once?

If a file fails, verify it is a valid HEIC or HEIF photo, try a smaller batch, and keep this tab open until conversion finishes. Memory available on your device and browser can limit processing. A ZIP contains successful conversions; inspect any failed files separately. Only the primary still image is converted. Live Photo motion, image sequences, depth maps and HDR appearance are not preserved. The HEIC decoder supports images up to 4096 pixels per side and 16 megapixels; larger inputs must be reduced before importing.

Related tools

More Image tools: Image

Send feedback

Found a bug or have an idea? Tell us — it helps make the tools better.

Only needed if you would like a reply.

Page: /image/image-converter/