Siddharth Kumar Sah 0401900a69 chore(ui): remove technical jargon and update tool count
Remove approximate processing times from remove-bg quality options.
Update tool count from 37 to 33 across README, settings dialog, login
page, and i18n strings to reflect the accurate count.
2026-03-26 16:02:12 +08:00
2026-03-25 17:33:09 +00:00
2026-03-22 02:33:47 +08:00
2026-03-25 17:33:09 +00:00

Stirling Image

The Open-Source Image Processing Platform

Docker CI License Stars


Self-hosted image processing with 33+ tools in a single Docker container. Resize, compress, convert, watermark, remove backgrounds, run OCR, and more. Nothing leaves your server.

Inspired by Stirling-PDF, built for images.

Quick start

docker run -d -p 1349:1349 -v ./data:/data ghcr.io/siddharthksah/stirling-image:latest

Open http://localhost:1349. Default login is admin / admin.

What it does

  • 33+ image tools in one place — resize, crop, rotate, compress, convert, watermark, color adjustments, and the rest.

  • AI tools that run locally — background removal (rembg), upscaling (Real-ESRGAN), OCR (PaddleOCR), face blurring (MediaPipe), object erasing (LaMa). No external API calls.

  • Your hardware, your data — no telemetry, no tracking, no cloud. Files stay on your machine.

  • Batch processing — drop up to 200 images, apply any tool, get a ZIP back. Configurable concurrency.

  • Pipelines — chain tools into reusable workflows (resize, then compress, then convert to WebP, then strip metadata). Save them and rerun later.

  • REST API — every tool is exposed at /api/v1/tools/:toolId. Swagger docs at /api/docs.

  • Persistent file storage — save processed images server-side with version tracking. Pick up where you left off.

  • Teams and admin settings — manage users, toggle tool visibility, configure cleanup, upload a custom logo.

  • Single container — runs on Intel, AMD, and Apple Silicon (linux/amd64 + linux/arm64).

Tools

Category Tools
Essentials Resize, Crop, Rotate & Flip, Convert, Compress
Optimization Strip Metadata, Bulk Rename, Image to PDF, Favicon Generator
Adjustments Brightness/Contrast, Saturation, Color Channels, Color Effects, Replace Color
AI Tools Background Removal, Upscaling, Object Eraser, OCR, Face Blur, Smart Crop
Watermark Text Watermark, Image Watermark, Text Overlay, Image Composition
Utilities Image Info, Compare, Find Duplicates, Color Palette, QR Generator, Barcode Reader
Layout Collage/Grid, Image Splitting, Border & Frame
Format SVG to Raster, Image to SVG, GIF Tools
Automation Pipeline Builder, Batch Processing

Supported formats

In: JPG, PNG, WebP, AVIF, TIFF, BMP, GIF (animated), SVG, HEIC/HEIF, JPEG XL, ICO, RAW (CR2, NEF, ARW, DNG)

Out: JPG, PNG, WebP, AVIF, TIFF, GIF, JPEG XL, SVG, ICO, PDF

Configuration

Variable Default Description
PORT 1349 Server port
AUTH_ENABLED true Require login (admin / admin by default)
MAX_UPLOAD_SIZE_MB 100 Max file upload size
MAX_BATCH_SIZE 200 Max files per batch
CONCURRENT_JOBS 3 Parallel processing limit
FILE_MAX_AGE_HOURS 24 Auto-delete temp files after this many hours
FILES_STORAGE_PATH ./data/files Where persistent user files are stored
STORAGE_MODE local Storage backend (local or s3)

See .env.example for the full list.

Docker Compose example

services:
  stirling-image:
    image: ghcr.io/siddharthksah/stirling-image:latest
    container_name: stirling-image
    ports:
      - "1349:1349"
    volumes:
      - stirling-data:/data
    restart: unless-stopped

volumes:
  stirling-data:

Development

git clone https://github.com/siddharthksah/Stirling-Image.git
cd Stirling-Image
pnpm install
pnpm dev
# UI: http://localhost:1349

Requires Node.js 22+ and pnpm 9+.

Tech stack

React 19 + Vite frontend, Fastify + Sharp backend, SQLite via Drizzle ORM, Python sidecar for AI/ML models. Monorepo with pnpm workspaces. Multi-arch Docker builds.

Support this project

If you find this useful, consider supporting development:

GitHub Sponsors Ko-fi

Contributing

Contributions welcome. Open an issue first so we can talk about what you have in mind.

License

MIT

Languages
TypeScript 91%
Python 3.5%
JavaScript 2.4%
Shell 1.6%
Astro 1.1%
Other 0.3%