Self-Hosted ConvertX: Convert Almost Anything Without Sketchy Websites

Client sends a .heic photo, a .mobi ebook, and a screen recording in some codec your MacBook pretends doesn't exist. Your options: install four different apps, google "free online converter," and upload their product launch video to a random server in Nevada. Hard pass.

ConvertX is the self-hosted answer — one web UI, 1000+ format combinations, and the heavy lifting done by tools you already trust (FFmpeg, ImageMagick, LibreOffice, Pandoc, Calibre) bundled inside a Docker container. ~17k GitHub stars, AGPL-3.0, built with TypeScript and Bun. Upload, pick output format, download. Files never touch a sketchy converter site.

What it actually does

ConvertX is a browser-based file conversion service you run yourself. Drag files in, choose target formats, get results back — batch processing included.

Format breadth. Not just PDFs. Video and audio through FFmpeg (~472 input formats). Images through ImageMagick, GraphicsMagick, libvips, libheif, libjxl. Documents through LibreOffice and Pandoc. E-books through Calibre. 3D assets through Assimp. Outlook .msg files, LaTeX, SVG, HEIF, JPEG XL — the README lists twenty backend converters and the matrix runs deep.

Batch jobs. Queue multiple files at once. Conversion history in the UI so you can re-download recent outputs without re-uploading.

Access control. Password-protected accounts, optional registration lockdown (ACCOUNT_REGISTRATION=false after you create the admin user). JWT auth — set JWT_SECRET in production. Don't leave a fresh instance open; first registrant owns the box.

Auto cleanup. Converted files auto-delete after 24 hours by default (AUTO_DELETE_EVERY_N_HOURS) — sensible for a shared converter that would otherwise fill disk with one-off uploads.

Hardware acceleration. Pass custom FFMPEG_ARGS for VAAPI or other ffmpeg hwaccel if your server has a GPU — big win for video batches.

ConvertX vs Stirling-PDF

We covered Stirling-PDF — 50+ PDF-specific tools, merge, OCR, redact, sign.

Overlap exists on document-to-PDF paths, but the focus differs:

  • Stirling-PDF — PDF workshop for teams that live in Acrobat workflows
  • ConvertX — general-purpose format kitchen sink — video, audio, images, ebooks, 3D models, office docs, data files

Run both if you want. Many agencies use Stirling for contract PDFs and ConvertX for "client sent us a .wmv and we need .mp4 by standup."

Why self-host?

Sensitive files stay off random websites. HR videos, unreleased product shots, legal discovery exports — uploading to a free converter is how data leaks happen. Self-hosted means the file touches your container and your disk, then gets deleted on schedule.

No upload size games. Online converters cap file size and throttle free tiers. Your VPS disk and CPU are the limits — size the box for your worst-case video transcode.

Canadian residency. Client media and internal docs processed on a Toronto or Montreal VPS — relevant when contracts mention where file processing occurs.

AGPL-3.0. Open source, inspectable, forkable. Check license terms if you're reselling conversion as a service to clients.

What running it takes

Docker is the practical path — the image bundles all converters so you're not apt-installing FFmpeg and ImageMagick by hand:

docker run -p 3000:3000 \
  -e JWT_SECRET=yourLongSecretString \
  -v ./convertx-data:/app/data \
  ghcr.io/c4illin/convertx

UI on port 3000. Visit once, create your account immediately, then disable open registration. Put HTTPS in front — login over plain HTTP fails unless you set HTTP_ALLOWED=true, and you shouldn't do that on the public internet.

Video transcoding is CPU-hungry. A 2-vCPU VPS handles documents and images fine; batch 4K ffmpeg jobs want 4+ cores and patience. Set MAX_CONVERT_PROCESS if you need to cap concurrent jobs so one giant upload doesn't starve everything else.

Volume permissions bite sometimes — if SQLite complains about the database file, fix ownership on the mounted /app/data path per the README.

Who it's for (and who should skip it)

Good fit: agencies handling weird client file formats, media teams needing internal transcoding, homelabbers who refuse cloud converters, dev shops converting docs/ebooks in CI-adjacent workflows via the web UI.

Maybe skip it: you only ever touch PDFs — Stirling-PDF alone might suffice. You need pixel-perfect Adobe workflows — proprietary tools still win some edge cases. You won't lock down the first account — an open ConvertX instance becomes everyone's free conversion bot.

Hosting it in Canada

ConvertX wants CPU for video, disk for temp files, and TLS on the web UI. We run it on Canadian Docker hosting with auto-delete configured and registration locked after setup.

Tell us what formats you convert most — we'll size cores for ffmpeg and make sure one client's 2 GB upload doesn't flatten the whole box.

Tags:
  • ConvertX
  • Converter
  • FFmpeg
  • Files
  • Self-Hosted

Need Help With Your Hosting?

Tell us about your application — we respond within 1 hour with honest recommendations.