How to Convert PNG to JPG (Free, No Quality Loss)
PNG files preserve every pixel — and that perfection costs you. A 12-megapixel photo saved as PNG weighs 10-15 MB. The same image as JPG? Around 2-4 MB. If you need to know how to convert PNG to JPG, you're staring at oversized files that need to go on a website, into an email, or onto social media where nobody will notice the difference.
Here are the best free methods on every platform.
When to Convert PNG to JPG (And When NOT To)
Not every PNG should become a JPG. Converting at the wrong time creates problems you didn't have before.
Convert when:
- You're publishing photos to the web and need smaller file sizes
- You're attaching images to email and hitting size limits
- Your PNG is a photo that was saved in the wrong format — common with screenshots of photos or images exported from design tools
- You don't need transparency and file size matters
Don't convert when:
- Your image has transparency — JPG doesn't support alpha channels. Transparent areas fill with a solid color. If you need transparency with smaller files, convert to WebP instead.
- Your image contains sharp text, line art, or diagrams — JPG artifacts blur hard edges and create smudgy halos around text.
- You plan to edit the image further — every JPG save introduces more artifacts. Keep your working copy in PNG (lossless) and export to JPG at the end.
- The PNG is already small — under 100 KB, converting to JPG saves negligible space and may actually increase file size for simple graphics.
| Scenario | Convert to JPG? | Why |
|---|---|---|
| Photo for a blog post | Yes | 60-80% size reduction, no visible quality loss |
| Logo with transparent background | No | Transparency destroyed, artifacts on edges |
| Screenshot of a code editor | No | Text artifacts, minimal size savings |
| Camera photo accidentally saved as PNG | Yes | PNG is the wrong format for photos |
| Image for email attachment | Yes | Smaller files, universal compatibility |
| Graphic with text overlays | Depends | Fine if text is large; avoid if text is small or thin |
Convert between any image format instantly — free, instant, no signup. Your images never leave your browser.
Convert Images →Method 1: Pixotter (Browser, Batch, Free)
The fastest approach — no install, no signup, no upload.
- Open Pixotter's PNG to JPG converter.
- Drop your PNG files onto the page — batch supported.
- Adjust the quality slider (85% default is good for most photos; 90-95% for near-lossless, 70-75% for aggressive web optimization).
- Click Convert and download your JPG files.
Everything runs in your browser via WebAssembly. Your images never leave your device — no server, no privacy concerns.
Transparent PNGs: Since JPG doesn't support transparency, Pixotter fills transparent areas with white by default. You can pick a different background color if needed.
If you just want a smaller PNG without changing formats, Pixotter's compression tool reduces PNG file sizes by 50-80%.
Method 2: macOS (Preview and sips)
macOS has two built-in options, no downloads required.
Preview (GUI)
- Open the PNG in Preview (double-click usually works).
- File → Export (not "Save As" — that keeps the original format).
- Select JPEG from the Format dropdown, drag the Quality slider.
- Click Save.
Preview preserves EXIF metadata during conversion. Its "Best" quality setting is roughly 90%.
sips (Command Line)
macOS includes sips out of the box:
# Convert a single file
sips -s format jpeg input.png --out output.jpg
# Convert all PNGs in a directory
for f in *.png; do sips -s format jpeg "$f" --out "${f%.png}.jpg"; done
sips preserves EXIF metadata by default. It doesn't expose a quality parameter for JPEG output — the default is high (roughly 90%).
Method 3: Windows (Paint and Photos)
Two built-in tools, no downloads required.
Paint
- Open the PNG in Paint (right-click → Open with → Paint).
- File → Save as → JPEG picture.
- Choose your filename and click Save.
Paint uses a fixed quality setting (around 75%) with no slider and strips EXIF metadata. If metadata matters, use the Photos app instead.
Photos App
- Open the PNG in the Photos app.
- Click ... (three dots) → Save as → select JPEG.
- Click Save.
The Photos app preserves EXIF metadata, making it the better built-in choice when camera data matters.
Method 4: Command Line (ImageMagick and ffmpeg)
For batch conversions and automation, command-line tools are unbeatable.
ImageMagick
# ImageMagick 7.1.1-29+
# Convert a single PNG to JPG at 85% quality
magick input.png -quality 85 output.jpg
# Batch convert every PNG in the current directory
magick mogrify -format jpg -quality 85 *.png
# Convert and strip all metadata
magick input.png -quality 85 -strip output.jpg
# Handle transparent PNGs — set white background before converting
magick input.png -background white -flatten -quality 85 output.jpg
The -flatten flag matters for transparent PNGs — without it, transparent areas become black. mogrify creates new .jpg files alongside the originals; it won't delete your PNGs.
ffmpeg
# ffmpeg 6.1+
# Convert a single PNG to JPG
ffmpeg -i input.png -q:v 2 output.jpg
# -q:v ranges from 1 (best quality) to 31 (worst)
# 2 is roughly equivalent to 90% quality in other tools
Less intuitive than ImageMagick for images, but if ffmpeg is already in your toolchain, it works fine.
Method 5: Python (Pillow)
For scripted workflows and automated pipelines:
from PIL import Image # Pillow 10.2.0
# Open PNG and convert to RGB (drops the alpha channel)
img = Image.open("input.png")
rgb = img.convert("RGB")
rgb.save("output.jpg", quality=85)
# Batch convert all PNGs in a directory
from pathlib import Path
for png_file in Path(".").glob("*.png"):
img = Image.open(png_file)
rgb = img.convert("RGB")
rgb.save(png_file.with_suffix(".jpg"), quality=85)
The .convert("RGB") call is critical — PNG files can be RGBA, and JPG only supports RGB. Without it, Pillow raises an error. Transparent areas become black by default. For white backgrounds instead:
from PIL import Image # Pillow 10.2.0
img = Image.open("input.png")
if img.mode == "RGBA":
background = Image.new("RGB", img.size, (255, 255, 255))
background.paste(img, mask=img.split()[3]) # Use alpha as mask
background.save("output.jpg", quality=85)
else:
img.convert("RGB").save("output.jpg", quality=85)
PNG vs JPG: What Changes After Conversion
| Feature | PNG | JPG |
|---|---|---|
| Compression | Lossless — every pixel preserved | Lossy — some detail discarded |
| Transparency | Yes (alpha channel) | No |
| File size (typical 12 MP photo) | 10-15 MB | 2-4 MB |
| Best for | Graphics, screenshots, text, logos | Photos, gradients, complex imagery |
| Color depth | Up to 48-bit (16 bits/channel) | 8-bit per channel (24-bit color) |
| Quality on re-save | Stays identical every time | Degrades with each save |
| Browser support | Universal | Universal |
| Metadata support | Limited | Full EXIF, IPTC, XMP |
The key takeaway: a 12 MB PNG photo becomes 2-3 MB as JPG at 85% quality with no visible difference. For a deeper comparison, see our full JPG vs PNG breakdown.
Choosing the Right Quality Setting
Every method above includes a quality parameter. Here's what the numbers mean:
- 95-100% — Near-lossless. Barely smaller than PNG. Use for print production or archival.
- 85-90% — The sweet spot. File size drops dramatically with virtually undetectable quality loss.
- 70-80% — Artifacts visible on close inspection, but fine for thumbnails and social media.
- Below 70% — Visible degradation. Blocky artifacts in gradients and around text. Avoid unless file size is the only priority.
Quick guide: web publishing → 80-85%. Printing → 90-95%. Email under a size cap → start at 85% and lower until it fits.
FAQ
Does converting PNG to JPG lose quality?
Yes, but the loss is controllable. At 85-90% quality, the difference is invisible for photographs. Quality loss is most noticeable in images with sharp text, line art, or flat color blocks — which is why those should stay as PNG. JPEG and JPG are the same format, so this applies to both file extensions.
What happens to transparency when I convert PNG to JPG?
JPG does not support transparency. Transparent areas get filled with a solid color — usually black, which surprises people who expected white. Pixotter and ImageMagick (with -flatten) let you choose the background color. If you need transparency with smaller files, WebP is a better target than JPG.
Can I convert JPG back to PNG without losing quality?
You can change the format back, but you cannot recover lost quality. Converting a JPG to PNG creates a lossless copy of the already-degraded image — it won't restore discarded pixel data. Always keep your original PNG if you might need the full-quality version later. For the full walkthrough, see How to Convert JPG to PNG.
Is there a file size limit for browser-based converters?
Most online converters cap at 5-20 MB because they upload your image to a server. Pixotter processes entirely in your browser — no upload, no server limit. The practical limit is your device's RAM, and modern browsers handle files well over 100 MB.
Should I use JPG or WebP instead of PNG for web images?
For photos on the web, both beat PNG. WebP produces files 25-30% smaller than JPG at the same visual quality and supports transparency. The trade-off: some older software and email clients don't handle WebP. For web publishing you control, WebP wins. For sharing via email or uploading to platforms with uncertain format support, JPG is safer. Our PNG vs WebP comparison covers this in detail.
Why is my converted JPG larger than the original PNG?
This happens with simple graphics — large areas of flat color, few colors, or geometric patterns. PNG's lossless compression is extremely efficient for these images, sometimes producing smaller files than JPG. If your JPG is larger, the image probably shouldn't be converted. Keep it as PNG, or compress the PNG directly without changing formats. If you need your PNG as a document instead, see How to Convert PNG to PDF.
Convert between any image format instantly — free, instant, no signup. Your images never leave your browser.
Convert Images →