I got tired of Googling 'resize,compress ,optimize image online ' so I built a CLI for it

Published: (June 14, 2026 at 03:30 AM EDT)
2 min read
Source: Dev.to

Source: Dev.to

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. 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. 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. 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. 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.

0 views
Back to Blog

Related posts

Read more »