ConvertX: A Self-Hosted File Converter for 1000+ Formats

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.

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.