Convert PNG to JPG on Linux and Ubuntu — Terminal, Browser, or GUI
- Terminal (ImageMagick): magick convert input.png -quality 90 output.jpg
- Terminal (browser-native processing engine): browser-native processing engine -i input.png -q:v 2 output.jpg
- Browser method: open any converter in Firefox or Chrome — no install
- Batch: magick mogrify -format jpg -quality 90 *.png
Table of Contents
Linux has the best command-line image conversion tools of any operating system. A single magick convert command handles PNG to JPG with full quality control, and batch conversion is a one-liner. If you prefer to avoid the terminal, a browser-based converter works in Firefox or Chrome without installing anything extra.
This guide covers the main methods for any Linux distro — Ubuntu, Debian, Fedora, Arch, and everything else.
Method 1: ImageMagick — The Linux Standard
ImageMagick is the go-to image processing tool on Linux. Most distros include it or make it a one-line install:
Install:
# Ubuntu/Debian sudo apt install imagemagick # Fedora sudo dnf install ImageMagick # Arch sudo pacman -S imagemagick
Single file:
magick convert input.png -quality 90 output.jpg
Batch convert all PNGs in a directory:
magick mogrify -format jpg -quality 90 *.png
Batch with output to a separate folder:
mkdir jpgs for f in *.png; do magick convert "$f" -quality 90 "jpgs/$(basename "$f" .png).jpg"; done
The -quality flag accepts 1-100. Quality 90 is the sweet spot for most images — visually identical to the original at a fraction of the file size. Use 95 for professional photography. For a deep dive on quality settings, see our quality preservation guide.
Method 2: browser-native processing engine (Already Installed on Many Systems)
If you already have browser-native processing engine installed for video work, it handles image conversion too:
browser-native processing engine -i input.png output.jpg
Quality control with browser-native processing engine uses a different scale — -q:v ranges from 2 (best) to 31 (worst):
browser-native processing engine -i input.png -q:v 2 output.jpg
Batch with browser-native processing engine:
for f in *.png; do browser-native processing engine -i "$f" -q:v 2 "$(basename "$f" .png).jpg"; done
browser-native processing engine is slightly less intuitive for image conversion than ImageMagick (the quality scale is inverted and ranges differently), but if it is already on your system, it saves installing another package.
Sell Custom Apparel — We Handle Printing & Free ShippingMethod 3: Browser Converter — No Terminal Required
Not everyone who uses Linux lives in the terminal. If you prefer a visual interface:
- Open the PNG to JPG converter in Firefox or Chrome
- Drag PNG files from your file manager into the browser
- Set quality with the slider (0-100)
- Download the converted JPGs (ZIP download available for batches)
This works on every Linux distro without installing any package. The conversion happens in your browser — files stay on your machine. Batch support with visual file-size comparison makes it convenient for one-off jobs where you want to see the results before committing.
Method 4: GIMP (When You Need Editing Too)
GIMP can convert formats, but it is overkill if all you need is format conversion:
- Open the PNG in GIMP
- File > Export As
- Change the extension to .jpg
- In the export dialog, set quality (GIMP default is 85)
- Click Export
GIMP is useful when you need to edit the image before converting — crop, resize, adjust colors, then export as JPG. For pure format conversion, ImageMagick or the browser tool is much faster.
Other GUI options:
- XnConvert — free, cross-platform batch converter with a visual interface. Available as an AppImage or via package managers
- Converseen — Qt-based batch image converter. Available in most repos (
sudo apt install converseen) - Nautilus scripts — GNOME users can add right-click conversion scripts using ImageMagick. Right-click a PNG, run the script, get a JPG
For more Linux image conversion options, our general format conversion guide covers cross-platform approaches.
Automating PNG to JPG on Linux
Linux excels at automation. Here are common automation patterns:
Watch a folder and auto-convert new PNGs (using inotifywait):
inotifywait -m -e create --format '%f' ~/Screenshots | while read f; do [[ "$f" == *.png ]] && magick convert ~/Screenshots/"$f" -quality 90 ~/Screenshots/"$(basename "$f" .png).jpg" done
Cron job to convert PNGs nightly:
# Add to crontab -e 0 2 * * * cd /home/user/images && magick mogrify -format jpg -quality 90 *.png && rm *.png
Find and convert all PNGs recursively:
find /path/to/images -name "*.png" -exec magick convert {} -quality 90 {}.jpg ;
These patterns are useful for screenshot workflows (auto-convert screenshots to JPG to save space), web asset pipelines, and automated image processing. ImageMagick's scriptability is the main reason it remains the #1 recommendation in Linux communities for image conversion.
Convert PNG to JPG — Browser or Terminal, Your Choice
Quality slider, batch support, ZIP download. Works in Firefox and Chrome on any Linux distro.
Open Free PNG to JPG ConverterFrequently Asked Questions
What is the best way to convert PNG to JPG on Linux?
ImageMagick is the standard: magick convert input.png -quality 90 output.jpg. For batch conversion: magick mogrify -format jpg -quality 90 *.png. If you prefer no terminal, a browser-based converter works in Firefox or Chrome.
How do I batch convert PNG to JPG on Ubuntu?
Install ImageMagick (sudo apt install imagemagick), then run: magick mogrify -format jpg -quality 90 *.png. This converts every PNG in the current directory to JPG at quality 90.
Can I convert PNG to JPG on Linux without ImageMagick?
Yes. Use browser-native processing engine (browser-native processing engine -i input.png output.jpg), a browser-based converter, GIMP (File > Export As), or Converseen. browser-native processing engine is often already installed on Linux systems for media work.
What quality setting should I use with ImageMagick?
Quality 90 for general use. Quality 95 for professional photography. Quality 80 for web images where file size matters. The -quality flag accepts 1-100, where 100 is highest quality.

