png · jpg · webp · any direction · local

Convert between PNG, JPG, WebP

One tool for all combinations. Auto-detects source format, lets you pick target with quality and background controls. Everything runs locally.

WebP Converter
Source
—
no file
Output
—
—
Target
WebP
90%
Status
idle
live
Target:
Quality:90%
input · image

image/png,image/jpeg,image/webp · runs locally · nothing uploaded

output · preview
Preview appears here
Quick Start

How it works

Pick an image, tune the options, then download the result. Everything runs in your browser.

  1. 01

    Pick any image

    PNG, JPG, or WebP — source format is detected automatically.

    Files stay in memory as an HTMLImageElement — the original bytes are never uploaded, and EXIF metadata is preserved until you explicitly transform it.

    uploadcanvaslocaldecode
    input · bytesauto · loaded
    image.png | .jpg | .webp
    loaded · decodedcanvas · ready
  2. 02

    Choose target format

    Pick PNG (lossless), JPEG (lossy, no alpha), or WebP (lossy + alpha).

    Encoder quality is exposed where the format supports it — JPEG and WebP get a 0–1 quality slider; PNG is lossless. Options re-render the canvas immediately.

    targetoptionslive previewencoderquality
    target · tunableWebP · live
    encode(WebP)
    options applied · liveencoder · live
  3. 03

    Tune quality & background

    Quality slider for lossy targets; background color for JPEG transparency fill.

    Pixel work runs on the Canvas 2D context — drawImage resamples with the browser’s bilinear filter and getImageData/putImageData back per-pixel passes.

    optionsrenderCanvas 2Dpreviewpx-perfect
    quality · resampled90% · px-perfect
    q=0.90, bg=#ffffff
    preview · livepx-perfect
  4. 04

    Download

    Save the converted file. Everything ran locally.

    Downloads ship via a hidden anchor with an object URL — no server round-trip, and the file on disk is untouched. The output filename inherits a sensible suffix.

    exportdownloadblobclient-sideobject URL
    ok · blobready · saved
    output.webp
    shipped · ready to shipsuccess
Pro tips

Browser-only image work that scales

Convert with quality control

JPEG/WebP let you pick a 0–1 quality. Default 0.92 is a good compromise of size and visible quality.

PNG isn’t free

Use PNG only for transparency or sharp edges. For photos, WebP is smaller at the same perceived quality.

Strip EXIF for privacy

Photo EXIF often contains GPS, camera model, and timestamps. Strip before sharing public uploads.

Watch the colour profile

Convert to sRGB before web export. Wide-gamut images render oversaturated in non-managed browsers.

AVIF when it’s available

AVIF beats WebP on size at the same quality. Detect support via <picture> with fallbacks.

Lazy-load below the fold

Add loading="lazy" on <img>. The browser handles scheduling — no IntersectionObserver needed.

Use Cases

When to use this tool

Common workflows it speeds up.

Format normalization

Convert mixed assets to a single target format. Decoded into a Canvas 2D context — original bytes never leave the tab, so you can process customer-uploaded photos, internal screenshots, or sensitive diagrams without privacy concerns.

px-perfect

Compatibility fixes

Quick reformat when a tool rejects an upload. Encoders expose quality 0–1 where the format supports it (JPEG, WebP); PNG and AVIF stay perceptually lossless. Pick 0.85 for web, 0.95 for archival, 0.7 for thumbnails.

quality-tunable

Web optimization

Move PNG/JPG to WebP for smaller payloads. Pair with the EXIF Stripper before sharing user-uploaded photos publicly. Camera serial numbers, GPS coordinates, and timestamps often hide in image metadata and leak more than the picture itself.

format-aware

Editing pipeline

Go from WebP back to PNG before editing. Output preserves colour profile (sRGB) so it renders consistently across browsers, monitors, and print pipelines. Wide-gamut workflows can opt into Display P3 for modern Apple devices.

EXIF-safe

Archival prep

Standardize to PNG for long-term storage. Re-runs only on option changes, never on window resize, so the canvas stays responsive on large images. drawImage uses the browser's bilinear filter for fast resampling.

client-side

Sharing

Pick whatever format your recipient supports. Downloads as .png, .jpg, .webp, or .avif with the correct MIME so editors apply native handling on save. The filename inherits a sensible suffix derived from the input.

compression-ready
FAQ

Frequently asked questions

PNG, JPEG, and WebP — anything the browser decodes natively.
Only when you pick a lossy target (JPEG/WebP). PNG output is lossless.
JPEG has no alpha — transparent areas need a solid color to render onto.
Yes — WebP supports alpha, so transparent PNGs to WebP keep their transparency.
No. Conversion runs entirely in your browser.
Suggest a tool

Something missing?

Tell us what you need. We ship the top requests every two weeks.

Sent straight to the maintainers · no account needed
47 in queue·8 shipped this month
Request queued. Thanks!