Free PNG to JPG Converter

Convert PNG images to JPG format instantly. Adjust quality, customize transparency background color, and batch convert. Your files never leave your device.

Your files never leave your device
Drop PNG files here or click to browse

Supports PNG · up to 50 MB each

What "PNG to JPG" actually does to your image

PNG and JPEG are two different families of image format with different jobs. PNG (Portable Network Graphics, IETF RFC 2083 in 1996, W3C 3rd Edition in 2023) uses DEFLATE compression (the same lossless algorithm as ZIP and gzip), keeps every pixel bit-exact, and supports an 8-bit alpha channel for transparency. JPEG (ISO/IEC 10918-1 in 1992) uses lossy DCT compression with adjustable quality, has no alpha channel, and is tuned for continuous-tone photographs. Converting PNG to JPEG means: discard the alpha channel, run the pixel data through a lossy encoder, and accept the trade-offs in exchange for usually-smaller files and universal compatibility.

The transparency loss is the most visible change. PNG can mark each pixel as fully opaque, fully transparent, or anywhere in between. JPEG has no equivalent: every JPEG pixel is fully opaque. This tool composites your PNG against a background colour you choose (white by default, black, or a custom colour via the colour picker) before encoding, so transparent areas in the source become that background colour in the output. Once the JPEG is written the alpha channel is gone permanently; you cannot recover it.

The file-size direction is not what most people assume. For photographic PNGs (a portrait, a landscape, a busy scene), JPEG output is 5-10x smaller than the source: this is the expected win. For graphic PNGs (logos, illustrations, screenshots, anything with large flat-colour regions), JPEG output is often larger than the source PNG. PNG's DEFLATE compresses long runs of identical colour to near-nothing; JPEG's DCT injects noise into those smooth regions and quantizes high-frequency colour boundaries into visible halos that themselves take bits to encode. A 50 KB logo PNG can produce a 200 KB JPEG. If your image is mostly flat colours and sharp edges, JPEG is the wrong direction; stay in PNG or convert to WebP, which handles both modes well.

How this tool works under the hood

The conversion is the HTML5 Canvas 2D API plus JSZip (Stuart Knightley, MIT/GPL dual licence) for multi-file batches. No external decoder is needed because every browser decodes PNG natively. When you drop a PNG, the File API hands the bytes to a new HTMLImageElement; the browser decompresses the DEFLATE-coded PNG bitstream into raw RGBA pixels, preserving the alpha channel.

A fresh in-memory <canvas> is sized to the image, then filled with the chosen background colour via ctx.fillRect(). The PNG is drawn on top with ctx.drawImage(); the default source-over compositing mode blends the PNG's alpha against the canvas background, so transparent pixels show the background colour and semi-transparent edges blend smoothly. After that composite, canvas.toBlob('image/jpeg', quality/100) invokes the browser's built-in JPEG encoder. The encoder converts RGBA to YCbCr, applies optional chroma subsampling, runs 8x8 DCT and quantization with the tables matching your quality slider, and emits a JPEG byte stream.

For single files, the output Blob becomes a downloadable object URL directly. For multi-file batches, JSZip collects each JPEG output and packages them into a single ZIP archive that the browser serves as one download. Nothing leaves the tab. The only network traffic is the initial page load and the JSZip library (about 95 KB on first visit, cached afterwards). Open DevTools' Network tab while you convert: no requests carry image data. Switch the browser to airplane mode after the page loads and the converter keeps working on local PNGs.

A brief history of PNG and JPEG

How It Works

  1. Upload PNGs: Drop or select one or multiple PNG files to convert.
  2. Customize: Set the quality level (60-100%) and choose a background color for any transparent areas.
  3. Convert: Click "Convert to JPG" to convert. Single images download directly; multiple files are packaged into a ZIP.

Why Convert PNG to JPG?

JPG is a lossy image format that excels at photographically complex images with many colors. It produces smaller file sizes than PNG, making it ideal for web use, email attachments, and quick sharing. Ideal for photos, illustrations, and images where transparency is not essential. PNG is best for graphics that need transparency or lossless quality.

Features

Real-world PNG-to-JPG workflows

Common pitfalls and what they mean

Privacy: images never leave your device

Every cloud-based PNG-to-JPG converter (CloudConvert, Convertio, iLoveIMG, FreeConvert, TinyJPG, and the dozens of "png to jpg online" services) uploads your file to the operator's server, runs the conversion, and returns the JPEG as a download. PNG files routinely contain content people would not want copied onto a stranger's hard drive: screenshots of internal interfaces and confidential documents, scans of ID cards and tax forms, illustrations under NDA, design mockups not yet released, family photos with faces clearly visible. Most operators publish privacy policies committing to delete uploads within an hour or two and to encrypt in transit, and the larger ones hold ISO/IEC 27001 certification. They have strong commercial reasons to honour those policies. But "deleted within an hour" is not "never seen." During that hour the image content sits in the operator's infrastructure, accessible to any process or person with appropriate permissions, and visible in logs and backups according to whatever retention policy applies.

This converter never uploads anything. The entire pipeline (file pick, PNG decode via the browser's built-in decoder, Canvas composite against the background colour, JPEG encode, optional ZIP packaging, download) runs inside your browser tab using JavaScript and the HTML5 Canvas API. No upload, no network request carrying image data, no log entry. You can verify by opening the browser developer tools to the Network tab before converting: no request fires with image content. The only network traffic is the initial page load and the small JSZip library (~95 KB) loaded once on first visit and cached afterwards. Switch the browser to airplane mode after the page loads and the converter keeps working on local PNGs.

When another tool is the right choice

Frequently Asked Questions

What happens to transparent areas in PNG?

JPG does not support transparency. You can choose a background color (white, black, or custom) to fill transparent areas. This color will replace the transparency when converting.

What quality should I use?

For most uses, 85-90% quality provides good visual results with significant file size reduction. Use 90%+ for professional photos, 75-85% for general web use, and 60-75% for thumbnails and previews.

Can I convert multiple files at once?

Yes. Upload multiple PNG files and apply the same quality and background settings to all of them. Single files download directly, multiple files are automatically packaged into a ZIP archive.

What's the file size limit?

Each PNG can be up to 50 MB. Total conversion size depends on your browser's available memory, but typically you can convert files totaling several hundred MB.

Are my images uploaded to a server?

No. All conversion happens locally in your browser using the Canvas API. Your images never leave your device, ensuring complete privacy and security.

More frequently asked questions

Why is my JPG output larger than the PNG input?

Because your PNG is graphic content rather than photographic. PNG's DEFLATE compression handles large flat-colour regions extremely well, often shrinking them to a fraction of a byte per pixel. JPEG's DCT compression is tuned for continuous-tone photographs; it injects noise into smooth regions and quantizes sharp colour edges into visible halos that themselves consume bits. A 50 KB logo PNG can become a 200 KB JPEG, complete with halo artifacts around the logo edges. For logos, screenshots, illustrations, diagrams or any flat-colour graphic, stay in PNG (or convert to WebP via the Image Converter, which handles both modes well). JPEG is the right destination only for photographic content.

What happens to the alpha channel?

It is permanently lost. JPEG has no alpha channel in the format specification. This tool composites your PNG against the background colour you select (white by default, or black, or any custom colour via the colour picker) before encoding, so transparent pixels become the background colour and semi-transparent edges blend into the background. Once the JPEG is written you cannot recover the original transparency; you would have to go back to the source PNG. If you need to preserve transparency, the conversion you actually want is PNG to WebP (lossy or lossless), not PNG to JPEG.

Should I use white, black, or a custom background colour?

Match where the image will be displayed. For a JPEG that will sit on a white page (most documents, most websites with light themes, most emails), white is the right choice and is the default. For a JPEG that will sit on a dark background (a dark-themed website, a dark presentation slide, a black documentary frame), black blends in. For everything else use the custom colour picker and match the exact background colour of the destination. Any mismatch between the chosen background and the actual destination will produce a visible coloured fringe around the previously-transparent edges of your image.

Does this tool work offline?

Yes. The PNG decoder and JPEG encoder are both built into every browser; no external library is downloaded for them. The only library this tool loads is JSZip (~95 KB) for packaging multi-file batches into a ZIP archive, fetched once from the CDN on first load and cached. Subsequent visits work entirely offline. You can verify by enabling airplane mode after opening the page once and converting a local PNG file.

Will EXIF metadata be preserved?

No. Canvas-based re-encoding strips EXIF, IPTC and XMP metadata blocks (camera model, exposure, GPS coordinates, copyright tags) along with the embedded ICC colour profile. The output JPEG carries pixel data only. For ordinary screen sharing this is usually a privacy win (GPS coordinates and device serial numbers do not leak). For archival workflows where you need to preserve metadata, use a metadata-aware desktop tool: ImageMagick with -define options, or jpegtran with -copy all, or Photoshop's Export As, all of which can preserve EXIF and ICC.

Is there a desktop or command-line equivalent?

Several. For batch automation, sharp in Node.js is the standard server-side library: sharp(buf).flatten({background:'#fff'}).jpeg({quality:90}).toBuffer(). ImageMagick on any shell: magick input.png -background white -flatten -quality 90 output.jpg. Python's Pillow: Image.open(p).convert('RGB').save(out, 'JPEG', quality=90). For one-off interactive work like this tool, Squoosh (Google Chrome Labs, also client-side) is the closest browser alternative and supports more output formats including AVIF. Photoshop, Affinity Photo and Preview on macOS handle the desktop GUI case.

Related Tools