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)