Repolode
snapotter-hq

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:CloudConvertSmallpdfTinyPNG

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. 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. 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