Shrink it down, then send it on
Take a multi‑megabyte camera photo or full‑resolution screenshot, shrink it with one click to something you can actually attach to an email or drop into a chat, ticket or forum — then edit or fine‑tune it along the way, all on a server you control. Get images in from anywhere: share straight from your phone with the Android app, capture with the browser extensions, drag‑and‑drop, or let your AI coding agent pull them in via MCP.
Key features
The job it exists for: turn a huge camera‑size photo or screenshot into a small, sendable file — for an email attachment, a chat message, a support ticket or a forum post — without losing what you actually need to see.
Compression presets
One‑click presets built for actually sending things on: Email (800×600, 85% quality), Web (1200×900, 80%), Thumbnail (200×200, 75%), plus a Custom preset for precise control of dimensions, quality and format. Before/after sizes, savings % and ratio shown per image, so you can see it's small enough to attach before you send it.
Bulk operations
Select multiple images with checkboxes and apply a preset to all of them simultaneously, with individual results on each card. Export everything as a ZIP, download individually, or copy to clipboard.
Image editing
Built-in editor (TUI Image Editor) with crop and aspect ratios, flip/rotate, freehand drawing, text overlays, shapes, filters (grayscale, sepia, blur, sharpen, emboss…) and adjustments (brightness, contrast, saturation, exposure, hue).
AI features
Background removal, advanced filters and an AI chat interface for natural-language image manipulation — powered by your own OpenRouter account via OAuth2 PKCE. Keys are encrypted at rest and never exposed to the frontend.
Undo / redo
Full history tracking for every modification. Compress, edit, remove a background — then revert any step. The original is always preserved.
Get images in, from anywhere
Drag‑and‑drop in the web UI, or share photos straight from your phone's gallery, camera or any other app to the server with the Android app (paired once via QR code). Capture screenshots with the browser extensions, or let your AI coding agent pull images in via the MCP server — everything lands in the same gallery, ready to shrink.
A capture pipeline for every workflow
Get images into ImageTools however you work — then compress, edit and export in one place.
Explore the ecosystem
The web app is just the centre of the project — get images in from your phone, your browser or your agent.
Web app
Drag‑and‑drop upload, compression presets, the built‑in editor, AI tools and undo/redo — the core of ImageTools, in your browser.
→ Self-host it
Android app
Share photos from your gallery, camera or any app directly to your ImageTools server — paired once with a QR code, then it's just the normal Android share sheet. Grab the APK from GitHub Releases on the setup page.
→ Android setup
Browser extensions
Capture visible area, full page or a selected region in Chrome & Firefox. Copy to clipboard or upload with tags.
→ Extensions
MCP server
Give Claude Code and other AI agents access to your last screenshots over streamable HTTP.
→ MCP server
Docker deployment
One container, one volume. docker-compose up and you have the full app with frontend included.
→ Docker
Get started
Run locally with ./run-all.sh, or self-host with Docker on your own server.
→ Install
Built on boring, reliable tech
No external databases, no cloud dependencies you don't control.
Architecture
- Frontend: Vue 3 + Vite + TUI Image Editor
- Backend: Python FastAPI with async operations
- Database: SQLite (file-based, no external dependencies)
- Image processing: PIL (Pillow), rembg for background removal
- AI integration: OpenRouter API with OAuth2 PKCE
- Real-time: WebSocket support for live updates
Ready to stop emailing 8 MP photos?
Run your own in a couple of minutes.