Image Format Converter

Image Format Converter

Convert PNG, JPG, WebP, and AVIF — drag, drop, download. Everything runs in your browser; the image bytes never leave your tab.

Image Format Converter — TL;DR

Convert PNG, JPG, WebP, and AVIF — drag, drop, download. Everything runs in your browser; the image bytes never leave your tab.

No. The whole tool is JavaScript that runs inside this page. The image is decoded with createImageBitmap, drawn onto a canvas, and re-encoded with canvas.toBlob — every step is browser-local. Open DevTools → Network and watch: not a single request fires while converting. Safe for personal photos, screenshots, design files, and confidential documents.

PNG is lossless — it stores every pixel exactly. JPG is lossy and best at photos with smooth gradients. If your PNG is a screenshot, line art, or has lots of solid color blocks, JPG actually compresses worse than PNG and the file gets bigger. For screenshots and UI assets, stick with PNG or use WebP. JPG shines for photographs.

Photos contain location, faces, screenshots may contain credentials, design comps are unannounced product features. Pasting any of these into someone else's server is a quiet data leak. iKit's converter is JavaScript already loaded in your browser tab.

Lossy formats only (JPG / WebP / AVIF). PNG is always lossless. 75-85% is a sweet spot for most photos.
Drop images here, or click to select
PNG, JPG, WebP, AVIF, GIF, BMP — multiple files OK. Nothing uploads.

Why iKit Image Format Converter

Built for designers, developers, and anyone who's been told the wrong file format — convert in two clicks, no waiting on a server.

Four formats, one tool

PNG, JPG, WebP, and AVIF — convert in any direction. Drop a folder of mixed formats and get them all converted to a single target format at once.

Full quality control

Adjust quality from 40% to 100% on lossy formats (JPG / WebP / AVIF) with a live slider. PNG is always pixel-perfect lossless.

Privacy by design

Conversion happens in your browser via the canvas API. No upload, no log, no third party. Verifiable in DevTools → Network: zero requests.

Modern formats supported

WebP and AVIF often produce 25-50% smaller files than JPG/PNG at equivalent quality. AVIF needs Chrome 85+ or Safari 16.4+ to encode; we feature-detect and tell you.

Batch download

Convert dozens of images at once, then click "Download all" to save them. Each file keeps its original name with the new extension.

Works offline

After the page loads, all conversion is local — works on a plane, on a train, behind a corporate firewall, or with the network unplugged.

How browser image conversion works

There's no server in this loop — your browser already ships every codec we need.

  1. 1

    Decode the source

    We call createImageBitmap(file), which uses the browser's native image codec to turn raw bytes into a paintable bitmap. PNG, JPG, WebP, AVIF, GIF, BMP — anything <img> can show, this can decode.

  2. 2

    Paint onto a canvas

    A new <canvas> is sized to the image's natural width × height, and the bitmap is drawn at full resolution. No resampling, no scaling — pixel-for-pixel.

  3. 3

    Re-encode to the target format

    canvas.toBlob('image/webp', 0.82) hands the canvas pixels to the browser's encoder for the chosen format and returns a Blob. The MIME string is the only thing we change between formats.

  4. 4

    Hand back a download

    We call URL.createObjectURL(blob) to get a local URL, attach it to a download anchor, and the user gets a file that never touched the network.

Common image conversion tasks

Real situations where you'll reach for an image converter.

Shrinking photos before posting

Phones save photos as 4-8 MB JPG or HEIC. Re-encoding as WebP at 75% quality cuts that to ~1 MB with no visible loss — perfect for blog posts, forum uploads, and email.

Stripping transparency for a CMS

Some CMSes (and many Office apps) refuse PNGs with alpha or render them with weird background bleed. Convert to JPG with a flat background, paste, done.

Modernising a website's assets

Replace your logo.png and hero.jpg with WebP / AVIF versions and serve them via <picture>. Lighthouse scores jump, LCP drops, no quality loss visible to the eye.

Accepting a designer's PNG and shipping a JPG

Got a 24 MB design comp PNG? The web doesn't need that. Convert to JPG at 88% — typically 1-2 MB and perceptually identical, with the size budget back.

Why local conversion matters

Photos contain location, faces, screenshots may contain credentials, design comps are unannounced product features. Pasting any of these into someone else's server is a quiet data leak. iKit's converter is JavaScript already loaded in your browser tab.

  • Zero network requests during conversion — verifiable in DevTools → Network.
  • EXIF metadata (camera location, device) is dropped on re-encode — accidental privacy bonus.
  • Safe for personal photos, screenshots, internal design comps, and confidential documents.

Related guides

Deep-dive tutorials and tool comparisons from the iKit blog.

Frequently Asked Questions

Is this safe? Are my images uploaded?

No. The whole tool is JavaScript that runs inside this page. The image is decoded with createImageBitmap, drawn onto a canvas, and re-encoded with canvas.toBlob — every step is browser-local. Open DevTools → Network and watch: not a single request fires while converting. Safe for personal photos, screenshots, design files, and confidential documents.

Why is my converted JPG larger than the original PNG?

PNG is lossless — it stores every pixel exactly. JPG is lossy and best at photos with smooth gradients. If your PNG is a screenshot, line art, or has lots of solid color blocks, JPG actually compresses worse than PNG and the file gets bigger. For screenshots and UI assets, stick with PNG or use WebP. JPG shines for photographs.

When should I use WebP vs AVIF vs JPG?

JPG: universal compatibility (every device, every CMS), good for photos. WebP: ~25% smaller than JPG at equal quality, supported in every modern browser, the safest "better-than-JPG" pick. AVIF: another 20-30% smaller than WebP, but encoding is slower and only Chrome/Safari/Firefox decode it (Safari needed 16.4+). Use AVIF on the web if you serve `` with a JPG fallback; use WebP if you want a single drop-in format; use JPG if compatibility trumps everything else.

Why does AVIF show "not supported" in my browser?

AVIF encoding via canvas.toBlob requires Chrome 85+, Safari 16.4+, or recent Firefox (with image.avif.compliance_strictness flipped). Decoding (display) is more widely supported, but writing AVIF needs the encoder built in. iKit feature-detects and disables the option if your browser cannot encode it. Workaround: switch to WebP, or use a Chromium-based browser.

Will my image keep its transparency?

PNG, WebP, and AVIF all keep alpha-channel transparency. JPG does NOT — converting a transparent PNG to JPG fills the background with white (or whatever the canvas defaults to). If you need transparency, convert to WebP or PNG, never JPG.