ConvertX: A Self-Hosted File Converter for 1000+ Formats
ConvertX is a private replacement for the online “convert X to Y” websites. Upload a file, pick an output format, and download the result, without sending documents, photos, or videos to a stranger’s server.
How it works
ConvertX is a web front end over more than 20 real conversion tools, including:
- FFmpeg for audio and video
- LibreOffice for office documents
- ImageMagick for images
- Pandoc for text and markup formats
- Calibre for e-books
- Inkscape for vector graphics
Together they cover more than 1000 formats. It is written in TypeScript on the Bun runtime.
Features
- Batch conversion of multiple files at once
- User accounts with password protection
- Automatic deletion of old files, on a configurable schedule
Deployment
docker run -d --name convertx -p 127.0.0.1:3000:3000 \
-e PUID=1000 -e PGID=1000 \
-v /srv/convertx:/app/data \
ghcr.io/c4illin/convertx
Security defaults are sensible: account registration and unauthenticated access are off, and it expects to be served over HTTPS or localhost. Only set HTTP_ALLOWED=true on a trusted local network. Set a strong JWT secret in production.
The image is large because it bundles every converter, and big video conversions are CPU-heavy. Give it a machine that can handle FFmpeg.
Related tools
For one-off conversions on the command line, the underlying tools are available directly; our ffmpeg guide and ffmpeg command builder cover video. For PDFs specifically, Stirling PDF and BentoPDF go deeper.
License
AGPL-3.0.