Self-hosted Docker web toolbox for converting 70+ image formats, bulk compression, per-file cropping, and local AI background removal.
snapotter-hq/SnapOtter
A self-hosted file-processing suite that converts, compresses, edits and OCRs images, video, audio, PDFs and documents, via a web UI, REST API or pipelines.
Open-source alternative to:CloudConvert
Smallpdf
TinyPNG
- Stars
- 2,837
- Forks
- 162
- Open issues
- 316
- Last commit
- 15 hours ago
What is it?
SnapOtter is an open-source, self-hosted file-processing tool that covers image, video, audio, PDF and document workflows in one place. It provides over 200 tools, including format conversion, compression, resizing, watermarking, background removal, upscaling, OCR, audio transcription, PDF merge and split, and CSV, JSON and YAML conversion. Tools can be used through a browser UI, a REST API with API key authentication, or chained pipelines.
The project runs as a Docker container, with a single-command quick start that embeds Postgres and Redis, or a Compose stack for production. AI features such as background removal, OCR and transcription run locally on the host, and files are processed on your own server rather than sent to external services. It supports AMD64 and ARM64 hosts, optional NVIDIA CUDA acceleration, OIDC/SSO login, and a UI in 21 languages.
Key features
- 01Covers image, video, audio, PDF and document conversion and editing in one stack.
- 02Offers a browser UI, REST API with interactive docs, and reusable tool pipelines.
- 03Runs local AI features such as background removal, upscaling, OCR and transcription.
- 04Supports OIDC/SSO login with providers such as Google, GitHub and Okta.
- 05Deploys as a single Docker container or a Compose stack with Postgres and Redis.
- 06Runs on AMD64 and ARM64 hardware, with optional NVIDIA GPU acceleration.
Use cases
- Compressing and converting images or PDFs without uploading them to a third-party website.
- Running OCR and transcription on sensitive documents in an air-gapped or internal network.
- Batch-processing media files on a home lab or NAS server.
- Providing a shared, self-hosted file-processing service for a team, with API access for scripts.
Quick start
- 1
Run the single-container quick start with Docker
docker run -d --name SnapOtter -p 1349:1349 -v SnapOtter-data:/data snapotter/snapotter:latest - 2
Open http://localhost:1349 and log in with admin / admin, then change the password
Things to know
- AI tools need local models, and Intel/AMD iGPU acceleration is not supported for AI inference.
- Dual-licensed: AGPLv3 requires sharing source for modified network services, and proprietary or SaaS use needs a paid commercial license.
- The default admin credentials are admin / admin and must be changed after first login.
In collections
Topics
FAQ
- What is SnapOtter?
- A self-hosted file-processing suite that converts, compresses, edits and OCRs images, video, audio, PDFs and documents, via a web UI, REST API or pipelines. SnapOtter is an open-source, self-hosted file-processing tool that covers image, video, audio, PDF and document workflows in one place. It provides over 200 tools, including format conversion, compression, resizing, watermarking, background removal, upscaling, OCR, audio transcription, PDF merge and split, and CSV, JSON and YAML conversion. Tools can be used through a browser UI, a REST API with API key authentication, or chained pipelines.
- Is SnapOtter free to use? What license does it have?
- SnapOtter is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
- Is SnapOtter still maintained?
- Actively maintained. The last commit to SnapOtter was on Oct 24, 2026.
- What can I use SnapOtter for?
- Compressing and converting images or PDFs without uploading them to a third-party website. Running OCR and transcription on sensitive documents in an air-gapped or internal network. Batch-processing media files on a home lab or NAS server. Providing a shared, self-hosted file-processing service for a team, with API access for scripts.
- How do I install SnapOtter?
- Run the single-container quick start with Docker: docker run -d --name SnapOtter -p 1349:1349 -v SnapOtter-data:/data snapotter/snapotter:latest Open http://localhost:1349 and log in with admin / admin, then change the password
- Where can I get SnapOtter?
- The source code and installation instructions are on GitHub: https://github.com/snapotter-hq/SnapOtter
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A self-hosted online file converter supporting over a thousand formats, built with TypeScript, Bun and Elysia.
Self-hosted web app bundling many browser-based utilities for images, PDFs, video, text, dates, math and data, with files processed locally.
Self-hosted, open-source PDF editing platform for editing, signing, redacting, converting and automating PDFs in the browser, desktop or via API.
A privacy-first PDF toolkit that runs entirely in the browser, offering 50+ tools to edit, merge, convert and secure PDFs, and self-hostable.
Self-hosted document management system that scans, OCR-indexes and archives paper documents into a searchable online archive.