{"slug": "i-got-tired-of-googling-resize-compress-optimize-image-online-so-i-built-a-cli", "title": "I got tired of Googling \"resize,compress ,optimize image online \" so I built a CLI for it", "summary": "A developer built ImageX, a cross-platform CLI tool for batch image processing tasks like resizing, compressing, converting to WebP, and stripping metadata. The tool uses interactive menus and a plugin architecture where each feature is a separate Python file. It is available via pip and welcomes contributions.", "body_md": "Every time I need to resize a batch of images, strip metadata, or convert to WebP, I end up in the same loop:\n\nOr I open GIMP. Or I write yet another 10-line Pillow script that I'll lose by tomorrow.\n\nSo I built **ImageX**. It's the dumbest, simplest thing:\n\n```\npip install imagex\ncd ~/Pictures # works cross-platform with Python installed\nimagex\n```\n\nA menu pops up. Pick what you want. Done. No uploads, no ads, no \"premium\" upsells.\n\nRotate, 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.\n\nEvery feature is its own `.py`\n\nfile in a folder. Drop a new one in with a `NAME`\n\n, `DESCRIPTION`\n\n, and a `run()`\n\nfunction, and it shows up in the menu automatically. That's it.\n\n```\nNAME = \"Rotate\"\nDESCRIPTION = \"Rotate images 90° Left, 90° Right, or 180°\"\n\ndef run(file, output_path, args):\n    img = Image.open(file)\n    rotated = img.transpose(args[\"method\"])\n    rotated.save(output_path)\n    return True\n```\n\nAdded in 20 lines. No config, no registration, no boilerplate.\n\nIf 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.\n\n`pip install imagex`\n\nPRs welcome. Even if it's just a feature in 20 lines.", "url": "https://wpnews.pro/news/i-got-tired-of-googling-resize-compress-optimize-image-online-so-i-built-a-cli", "canonical_source": "https://dev.to/kushal1o1/i-got-tired-of-googling-resizecompress-optimize-image-online-so-i-built-a-cli-for-it-3lle", "published_at": "2026-06-14 07:30:03+00:00", "updated_at": "2026-06-14 07:58:54.536002+00:00", "lang": "en", "topics": ["developer-tools", "artificial-intelligence"], "entities": ["ImageX", "Pillow", "Python", "GIMP"], "alternates": {"html": "https://wpnews.pro/news/i-got-tired-of-googling-resize-compress-optimize-image-online-so-i-built-a-cli", "markdown": "https://wpnews.pro/news/i-got-tired-of-googling-resize-compress-optimize-image-online-so-i-built-a-cli.md", "text": "https://wpnews.pro/news/i-got-tired-of-googling-resize-compress-optimize-image-online-so-i-built-a-cli.txt", "jsonld": "https://wpnews.pro/news/i-got-tired-of-googling-resize-compress-optimize-image-online-so-i-built-a-cli.jsonld"}}