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

> Source: <https://dev.to/kushal1o1/i-got-tired-of-googling-resizecompress-optimize-image-online-so-i-built-a-cli-for-it-3lle>
> Published: 2026-06-14 07:30:03+00:00

Every time I need to resize a batch of images, strip metadata, or convert to WebP, I end up in the same loop:

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.

`pip install imagex`

PRs welcome. Even if it's just a feature in 20 lines.
