Every time I need to resize a batch of images, strip metadata, or convert to WebP, I end up in the same loop:
- Google "resize image online"
- Pick a site, upload my photos (hope they don't keep them)
- Wait for download
- Repeat for the next thing
Or I open GIMP. Or I write yet another 10-line Pillow script that I'll lose by tomorrow.
So I built ImageX. It's the dumbest, simplest thing:
pip install imagex
cd ~/Pictures # works cross-platform with Python installed
imagex
A menu pops up. Pick what you want. Done. No uploads, no ads, no "premium" upsells.
What's in the box
Rotate, resize, convert, compress, watermark, strip metadata, rename batch, add noise. That covers 90% of what I ever need. Each one is an interactive prompt , no flags or command to memorize.
How it works
Every feature is its own .py file in a folder. Drop a new one in with a NAME, DESCRIPTION, and a run() function, and it shows up in the menu automatically. That's it.
NAME = "Rotate"
DESCRIPTION = "Rotate images 90Β° Left, 90Β° Right, or 180Β°"
def run(file, output_path, args):
img = Image.open(file)
rotated = img.transpose(args["method"])
rotated.save(output_path)
return True
Added in 20 lines. No config, no registration, no boilerplate.
Why you should contribute
If you've ever thought "I should make an open source PR someday" β this is a great place to start. The codebase is small, pure Python + Pillow, no framework, no build system. Adding a feature is literally writing one file. Want to add auto-color correction? Blur? Border? Side-by-side merge? Go for it.
Links
- GitHub: github.com/kushal1o1/ImageX
- PyPI:
pip install imagex - CONTRIBUTION.md in the repo for the quickstart
PRs welcome. Even if it's just a feature in 20 lines.

Top comments (5)
Hello my not so Digital friend, @kushal1o1 ,π. i will download right now : pip install imagex , from: GitHub: github.com/kushal1o1/ImageX , and testing we will do ! As i State: Thank you, it ImageX has a FutureX like look, Cyberpunk style, good coolers , π
We r Friend bro :)
a cli solves the repeat-use problem, browser solves the one-off - interesting how this space splits. we went the web route with swapfile.live (resize, convert, compress images in-tab, no upload) for people who won't install anything. what made you skip the browser path?
ImageX went the CLI route because itβs meant for processing files on your own device , nothing ever leaves your machine.
Fast, offline, no upload/download hassle, easy bulk processing across folders, and no trust concerns around sending files to a web app.
The browser is great for one-off edits; ImageX is more about repeat and bulk workflows.
Some comments may only be visible to logged-in visitors. Sign in to view all comments.