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.
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
- JPEG, 1992. ITU-T T.81 / ISO/IEC 10918-1, standardised by the Joint Photographic Experts Group (formed 1986). 8x8 DCT blocks, YCbCr colour with optional chroma subsampling, quantization tables tuned for human vision. No alpha channel, lossy compression. The format that made the photo-rich web possible.
- The LZW patent crisis, 1994-1995. Unisys began asserting patent claims over the LZW compression algorithm used by GIF, demanding licence fees from software that creates GIF files. The web community organised around a replacement that would be free of patents.
- PNG 1.0, January 1996. Thomas Boutell, Mark Adler and a CompuServe-led working group published PNG at the IETF as RFC 2083. DEFLATE compression (the same LZ77+Huffman algorithm as zlib and ZIP, also patent-free) replaced LZW. Full 8-bit alpha channel, always lossless, royalty-free. W3C Recommendation followed in 1997.
- PNG becomes the web's lossless format, late 1990s. Browser support stabilised across IE 4-6 and Netscape 4+ by around 1999. PNG quickly became the standard for logos, screenshots, icons, and any graphic that needed transparency or pixel-exact rendering. JPEG remained the standard for photographs.
- ISO standardisation and APNG, 2003-2010. PNG became ISO/IEC 15948 in 2003. Mozilla developed APNG (animated PNG) in 2004 as a Firefox extension; it gained Safari support in 2014 and Chrome in 2017, but the W3C PNG group only formally adopted it in the 3rd Edition in 2023.
- PNG 3rd Edition, 2023. W3C published the 3rd Edition of PNG with formal HDR support (cICP chunk), APNG animation, and standardised EXIF metadata blocks (eXIf chunk). Over thirty years after JPEG, both formats remain the dominant image formats on the web, with WebP and AVIF gaining ground but not displacing them.
How It Works
- Upload PNGs: Drop or select one or multiple PNG files to convert.
- Customize: Set the quality level (60-100%) and choose a background color for any transparent areas.
- 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
- Batch conversion: Convert multiple PNG files at once. Single images download directly, multiple images are zipped.
- Quality control: Choose your compression quality from 60% to 100% to balance file size and visual quality.
- Transparency handling: Set a background color (white, black, or custom) to replace transparent areas in PNG.
- Privacy: All conversion happens locally in your browser. No uploads to any server.
- Size preview: See before and after file sizes to understand the compression impact.
Real-world PNG-to-JPG workflows
- Shrinking photographic PNGs for the web. A camera, design app, or rendering pipeline exported a photo as PNG. Hosting size caps or page-weight budgets need it smaller. JPEG at quality 85 cuts the size 5-10x with no visible quality change on photographic content. This is the canonical use case and the one where JPEG is unambiguously the right destination format.
- Email attachments. Gmail, Outlook and Apple Mail cap attachments at 25 MB per message. A folder of high-resolution PNGs from a phone or DSLR hits the limit fast. Converting to JPEG at quality 85 typically buys you the headroom to send everything in one message instead of splitting across multiple sends or moving to a cloud-share link.
- Social-media uploads. Twitter/X, Facebook, Instagram and LinkedIn all re-compress images to JPEG on upload using their own algorithms. Converting first lets you control the quality trade-off rather than ceding the decision to the platform's encoder. Posts uploaded as pre-compressed JPEG at quality 85-90 typically look better than letting the platform recompress your PNG from scratch.
- E-commerce product photos. Etsy, eBay, Shopify, Amazon and most marketplaces display product photos at fixed display sizes. JPEG is the universal accepted format and reduces page weight on product listings. Catalogues with hundreds or thousands of product photos see big CDN bandwidth savings and faster Largest Contentful Paint when stored as JPEG instead of PNG.
- Photo-print services. Walgreens, CVS, Snapfish, Mpix, Costco Photo, and most photo-print kiosks accept JPEG everywhere; PNG support is patchy especially at smaller services and older kiosks. Converting before upload to a print service avoids surprises about which files the print queue can read.
- Document scans for archival or portal upload. Multi-page scans saved as individual PNG files can become a much smaller folder of JPEGs for archival or upload to a portal that only accepts JPEG. For scans of typed or printed text with sharp edges, use higher quality (90-95) to keep edges crisp; for handwritten notes and continuous-tone photographs, 80-85 is fine.
Common pitfalls and what they mean
- The JPEG output can be larger than the PNG input. For photographic PNGs the JPEG is 5-10x smaller. For logos, illustrations, screenshots and anything with large flat-colour regions or sharp colour boundaries, the JPEG is often bigger because JPEG's DCT injects noise into the flat areas and quantizes the sharp edges into visible halos that themselves take bits to encode. If your PNG is graphic content rather than photographic, stay in PNG or convert to WebP instead.
- Transparency is replaced, not preserved. JPEG has no alpha channel. Transparent PNG pixels are composited against your chosen background colour and baked into the output pixels. Once the JPEG is written, the alpha information is gone permanently and cannot be recovered. If you need to keep transparency, stay in PNG, convert to WebP, or use a format with alpha like TIFF or AVIF.
- Sharp text and line art show JPEG halos. JPEG quantization produces visible halos and blocking near hard colour boundaries. For UI screenshots, design mockups, diagrams, typography samples, and any content where pixel-exact reproduction of edges matters, stay in PNG. The visual artifacts are most obvious in flat backgrounds adjacent to sharp coloured shapes.
- Re-encoding compounds loss. Each pass through the JPEG encoder loses image data. One conversion (PNG to JPEG) is fine; re-saving the JPEG several times visibly degrades the image, especially in flat areas and at chroma boundaries. Always convert from the highest-quality source PNG you have, not from a JPEG you exported yesterday.
- ICC colour profiles may be stripped. An embedded ICC colour profile (sRGB, Adobe RGB, ProPhoto) tells displays how to interpret the pixel values. Canvas-based re-encoding may discard the profile and tag the output as sRGB. For ordinary screen use this is invisible; for print-prep work or wide-gamut deliverables, use a colour-aware desktop tool that explicitly preserves profile data.
- Very large PNGs can crash a mobile browser tab. Decoding a PNG to RGBA pixels needs RAM proportional to its dimensions: a 24-megapixel PNG (6000x4000) needs about 96 MB just for the source pixel buffer, plus a separate buffer for the canvas, plus working memory for the encoder. Mobile devices with 1 to 2 GB of RAM available to the browser may have the tab terminated by the OS before the encode completes.
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
- You need to keep transparency. Stay in PNG, or convert to WebP (which supports both lossy and lossless modes with full alpha at typically 25% smaller files than PNG), or to AVIF for the smallest file with alpha. Any format other than JPEG. Use the Image Converter for the WebP route.
- Your image is a logo, screenshot, or flat-colour illustration. JPEG handles photographs well and graphics badly. For logos, screenshots, diagrams, UI mockups and anything with sharp colour boundaries or large flat areas, the JPEG output is often larger and lower quality than the source PNG. Stay in PNG and run it through the Image Compressor for tighter DEFLATE compression instead, or convert to WebP-lossless.
- Batch automation across hundreds of files. Use Sharp in Node.js (the canonical server-side image library built on libvips), ImageMagick or GraphicsMagick on the command line, or Pillow in Python. CLI tools handle thousands of files without browser memory limits and run from CI jobs, deploy hooks or cron tasks.
- Print-grade colour-managed workflows. Use Photoshop's Export As (preserves ICC profile, supports soft-proofing and CMYK output), Affinity Photo, or RawTherapee. Canvas-based browser conversion may strip the embedded colour profile, which is fine for screen use but not for print prep.
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.