DEV Community

Mate Technologies
Mate Technologies

Posted on

JPGify v1.2.0: A Production-Ready Desktop Image Converter Built with Python & Tkinter

Image conversion sounds simple—until you need to process hundreds of files, preserve folder structures, avoid overwrites, and still know what’s happening while the job runs.

That’s the problem JPGify v1.2.0 was built to solve.

JPGify is a class-based, production-ready desktop application for batch image-to-JPG conversion, written in Python using Tkinter, ttkbootstrap, and Pillow. It’s designed for reliability, performance, and real-world workflows.

Why I Built JPGify

Most image converters fall into one of two categories:

Online tools with file limits, privacy concerns, and ads

Desktop tools that are slow, opaque, or poorly structured

As a developer, I wanted a tool that:

Handles large batches

Preserves folder hierarchy

Provides live progress feedback

Avoids accidental overwrites

Can be shipped as a portable desktop app

So I built JPGify.

Core Features
Drag & Drop (Files and Folders)

JPGify supports full drag & drop using tkinterdnd2, allowing users to drop:

Individual image files

Entire folders (recursive or top-level only)

This makes bulk workflows much faster.

Batch Conversion with Folder Preservation

When converting folders, JPGify can preserve the original directory structure inside the output folder.

This is especially useful for:

Photo archives

Client deliverables

Organized asset libraries

Internally, relative paths are calculated safely, with fallbacks if needed.

Skip Existing JPGs (Safe by Default)

To prevent accidental data loss, JPGify can:

Skip existing JPG files

Or auto-rename outputs when collisions occur

This behavior is configurable and handled before conversion begins.

Live Progress, Speed & ETA

The app provides real-time feedback:

Progress bar

Files per second

Estimated time remaining (ETA)

This is handled using:

Background threads for conversion

A thread-safe UI queue for updates

Clean separation between UI and processing logic

No frozen UI, no guessing.

Adjustable JPG Quality

Users can control output quality (1–100), allowing:

High-quality exports

Web-optimized images

Storage-friendly compression

Images are converted using Pillow with RGB conversion, optimization, and progressive JPG output.

Portable & Lightweight

JPGify:

Requires no installation

Can run from any folder or USB drive

Stores logs and settings locally

It’s designed to be simple to deploy and easy to maintain.

Supported Image Formats

JPGify supports all common formats:

PNG

GIF

TIF / TIFF

BMP

WEBP

JPEG

HEIC (via pillow-heif)

Technical Highlights

Python (class-based architecture)

Tkinter + ttkbootstrap UI

Threaded conversion engine

Logging with rotation

Safe file handling & auto-renaming

Cross-platform support (Windows, macOS, Linux)

The codebase is structured to be readable, extensible, and production-safe.

Who Is This Tool For?

JPGify is useful if you:

Work with large image datasets

Need predictable, repeatable conversions

Care about file organization

Prefer offline, desktop-first tools

Want transparency in what your app is doing

It’s built for developers, designers, photographers, and power users.

Get JPGify v1.2.0

If you’re looking for a reliable desktop JPG converter that respects your files and your time, JPGify is available here:

👉 https://gum.new/gum/cmksd0wad000l04k43709amov

Final Thoughts

JPGify isn’t trying to be flashy.
It’s trying to be correct, fast, and stress-free.

If you have ideas for improvements or features you’d like to see, feedback is always welcome.

Happy converting 👋

Top comments (0)