Every image format. Zero cloud.
Convert 70+ formats, crop per file, compress in bulk, and remove backgrounds with local AI. UI in 12 languages.
Everything runs inside your container, so your files never leave your server.
Website · Docs · Installation Guide · Docker Hub · Issues
Featured & Listed On
ImgCompress is a self-hosted image processing server that runs entirely inside a single Docker container. It handles compression, format conversion, and AI-powered background removal, all locally on your own hardware. No cloud APIs, no third-party uploads, no tracking.
Built for people, homelab enthusiasts, and anyone who values privacy and owns their data.
| Feature | Details |
|---|---|
| 70+ Image Formats | HEIC, HEIF, PSD, AVIF, EPS, PDF, WebP, TIFF, BMP, GIF, and 60+ more |
| Local AI Background Removal | Bundled model runs on your CPU. No API key, no subscription, no upload |
| Bulk Compression | Multi-core parallel processing across entire photo libraries |
| Format Conversion | HEIC to WebP, PSD to JPG, image batches to paginated PDF, and more |
| Per-File Cropping | Crop each upload before conversion with ratio presets (Free, 1:1, 16:9, 4:3) or custom pixel dimensions |
| Web UI + CLI | Browser dashboard for day-to-day use; CLI for scripting pipelines |
| Single Container | Every codec and library pre-bundled, zero host dependencies |
| Air-Gap Ready | Once pulled, runs fully offline. No internet required, ever |
Stop uploading personal or client photos to cloud-based removers. ImgCompress ships a bundled AI model that runs background removal on your own hardware. No API call, no subscription, no file ever leaves your server.
| Original | Background Removed |
|---|---|
![]() |
![]() |
Every upload gets its own crop overlay before conversion. Pick a ratio preset (Free, 1:1, 16:9, 4:3) or type exact pixel width and height. Selections are saved per file, so one batch can mix square thumbnails with 16:9 covers without re-uploading.
- Drop your images into the upload area as usual.
- On any file row, click the crop icon to open the editor.
- Pick an aspect ratio preset (1:1, 4:3, 16:9, …) or set width and height manually.
- Zoom and crop to frame the shot exactly the way you want it.
- Click Save to keep the crop, Discard to back out, or Remove to clear a previously saved crop.
- Convert as normal. The crop is applied first, then your chosen format, quality, resize, and background-removal settings.
Note
Server-rendered formats: Some formats (e.g. PSD, EPS) are rendered server-side into a crop-friendly bitmap so you can still crop them in the browser.
Full walkthrough and demo video: Image Crop Editor docs.
Pull the image, open localhost:3001, start converting. About 60 seconds total.
docker run -d \
--name imgcompress \
-p 3001:5000 \
karimz1/imgcompress:latestPrefer Docker Compose? Ready-made configurations live in docker/compose/:
- advanced.docker-compose.yaml for home or LAN use. Reachable from any device on your network out of the box, with container best practices applied (log rotation, healthcheck, no-new-privileges).
- proxied.docker-compose.yaml for hosting under a domain with HTTPS, behind a Traefik reverse proxy with TLS, security headers, and optional Let's Encrypt.
Step-by-step instructions for both are in the compose guide.
For environment variables and deploying without the mascot, see the full installation guide.
I was tired of the "software loop." Every time I needed something simple, I had to install another app:
- PSD files: Needed specialized software just to convert them to an image file.
- HEIC files: Needed another converter for regular photo files.
- Image to PDF: Needed another app just to share a screenshot for work, since a PDF is often better for emails and easy for others to print.
- AI Backgrounds: I realized I needed one more app for that too.
I thought to myself: "Why can't one tool just do it all?" Plus, uploading personal photos to random online converters never felt right to me.
So I built a single toolbox that can take over 70 different formats and fix them all in one place. Whether you need to convert PSD or HEIC files to an image, turn a screenshot into a PDF for a work email, or shrink a massive 4K photo, this tool does it automatically.
The community has now pulled the image tens of thousands of times, which shows the pain is real.
I chose Docker because it keeps your computer clean. Instead of you having to install 70 different messy libraries on your system, I packed everything into one Ready-to-go Box that you can run anywhere called imgcompress. It just works.
| No cloud processing | Conversions, compression, and AI inference all run locally. Images never leave your machine. |
| No telemetry | No analytics, no crash reporting, no feature flags phoning home. Completely silent on the network after startup. |
| Offline after pull | Once the image is pulled, no internet connection is ever needed again. No license checks, no expiry. |
| Open source | GPL-3.0. Audit the code, fork it, self-host it forever. |
ImgCompress is built with a security-hardened, minimal image, aligned with common container security standards out of the box.
| Minimal Surface | No shell (bash, sh), no network tools (curl, wget, etc.), no package manager. The attack surface is drastically reduced. |
| Minimal Components | System dependencies are aggressively pruned to maintain a minimal runtime environment. |
| Non-root User | Runs as a non-root user nonroot by default. |
| DHI Base Images | Using Docker Hardened Images from the official DHI project for build phases and runtime Image. |
| SBOM and Provenance | The Docker Image is built with a full Software Bill of Materials (SBOM) and build provenance attestation. |
ImgCompress supports multiple frontend languages and welcomes community improvements to every locale. See the translation guide to add a new language, improve an existing translation, or get credited for meaningful language updates.
Supported languages:
- English
- Spanish
- Spanish (Mexico)
- Chinese (Simplified)
- Hindi
- Arabic
- French
- Portuguese (Brazil)
- Russian
- Japanese
- German
- Hungarian
ImgCompress is recognized across the self-hosted community and featured on curated lists and deployment platforms:
- Awesome Self-Hosted
: Community-curated index of self-hosted software.
- Coolify
: Open-source PaaS — available as an official Coolify service.
- SelfHostedWorld & selfh.st: Featured directories and registries for self-hosting enthusiasts.
- xCloud: Offers one-click deployment of ImgCompress on a cloud server. ImgCompress itself is free — you only pay for the cloud server provided by xCloud. (I'm not affiliated with xCloud.)
- AlternativeTo & PitchHut: Listed as a privacy-respecting local image processing alternative.
A note from the creator:
A huge thank you to everyone who has supported ImgCompress and helped it reach more people! Seeing so many people embrace privacy-focused tools and use ImgCompress in their everyday workflows makes all the time and effort worthwhile. Thank you for being part of this journey! ❤️
— Karim Zouine, Creator of ImgCompress
Know another platform featuring ImgCompress, or want to add it? Get in touch.
- Installation & Configuration: Docker setup, environment variables, reverse proxy examples
- Developer Guide: VS Code Dev Containers, architecture overview, local env setup
- imgcompress-chan (Bot): Custom helper bot that repairs Dependabot pnpm lockfiles and auto-merges dependency PRs
- E2E Testing with Playwright: How offline stability is verified across all 70+ formats
- Credits & Libraries: The open source projects that power ImgCompress
- Hall of Fame: Sponsors and contributors
Contributions are welcome: bug reports, format requests, or pull requests.
Tip
New contributor? The project ships a VS Code Dev Container with all 70+ image libraries and the AI environment pre-configured. Working local setup in under a minute. See the Developer Guide.
- Read the Contributing Guide before opening a PR
- Browse
good-first-issuelabels for a starting point - Every change is verified by a Playwright E2E suite that covers all supported formats
Note
Meet imgcompress-chan, the repo's custom helper bot. She auto-merges Dependabot PRs once CI passes, and if a frontend dependency update leaves a broken pnpm-lock.yaml.
ImgCompress is an independent open-source project built and maintained in my free time. If ImgCompress saves you time or server resources, consider supporting its continued development:
Donations are completely optional — starring the repo, sharing it, and contributing are already greatly appreciated!
Author: Karim Zouine
License: GPL-3.0
Docker Image: hub.docker.com/r/karimz1/imgcompress
If ImgCompress saves you time, a GitHub star helps others discover it.


