ConvertX
Self-hosted online file converter supporting over a thousand formats
ConvertX is a self-hosted file conversion service written in TypeScript that supports more than a thousand formats, including documents, images, audio, and video. All conversions run locally on your own server via Docker.
Key features
- Over a thousand file formats
- Document and image conversion
- Batch processing
- Private local conversion
Pros & cons
Strengths
- Thousand-plus formats
- Conversions stay local
- Simple Docker setup
Trade-offs
- Single-user oriented
- Large Docker image
ConvertX replaces
Last reviewed Aug 26, 2026 · 674 words
The Docker image is several gigabytes and that is the whole design: ConvertX bundles FFmpeg, ImageMagick, GraphicsMagick, libvips, Pandoc, Calibre, LibreOffice, Inkscape, XeLaTeX, Potrace, resvg, libjxl and assimp behind one upload form, so "convert anything to anything" happens on your disk rather than on CloudConvert's. Over a thousand formats is the sum of those tools' matrices, not a marketing number. The cost is one long first pull and a container that idles at a few hundred MB; the payoff is never again uploading a contract, a passport scan or a 4 GB video to a stranger's converter.
One container, one volume, one secret
services:
convertx:
image: ghcr.io/c4illin/convertx
ports:
- "3000:3000"
environment:
- JWT_SECRET=change-me-to-a-long-random-string
- ACCOUNT_REGISTRATION=true
- HTTP_ALLOWED=true
- AUTO_DELETE_EVERY_N_HOURS=24
volumes:
- ./data:/app/data
restart: unless-stopped
Start it, open port 3000, register your account, then set ACCOUNT_REGISTRATION=false and restart so nobody else can. Uploads and outputs land in ./data, and the auto-delete setting sweeps them every 24 hours by default, which is the right default for a converter: it is a workbench, not an archive. The account database is a SQLite file in the same volume, so backup is one directory, and honestly you can skip it and re-register after a rebuild.
The HTTPS trap that looks like a login bug
If you leave out HTTP_ALLOWED=true and open ConvertX over plain http://, you will register, log in, and bounce straight back to the login page, because the session cookie is marked secure and the browser refuses to send it. Either set that variable for a LAN-only instance or put it behind a reverse proxy with a certificate, which you should do anyway if anyone but you uses it; the reverse proxy showdown gets you there in 10 minutes. There is also ALLOW_UNAUTHENTICATED=true, which removes login entirely. Fine for a household on a trusted LAN, a terrible idea on anything reachable from outside, since anyone can then burn your CPU with 4K transcodes.
What it converts well, and what it merely attempts
The image and document paths are excellent: HEIC to JPEG in bulk, WebP, AVIF and JXL in both directions, SVG to PNG, DOCX to PDF through LibreOffice, Markdown to DOCX or EPUB through Pandoc, EPUB to MOBI through Calibre. Video and audio go through FFmpeg with defaults and few knobs, so "MKV to MP4" is a remux-or-transcode decision made for you; for real encoding work you still want the command line. 3D models via assimp and LaTeX via XeLaTeX work but are best-effort. There is no OCR, no page manipulation and no compression slider; that is Stirling PDF's territory, and the two sit next to each other well. For conversions triggered by other software, Gotenberg is the API-first tool; ConvertX is for humans with a browser.
Single-user by design, and that is fine
ConvertX has accounts, but it is aimed at one person or one household: no quotas, no per-user storage limits, no admin panel beyond your own file list, one conversion queue. Batch is handled well (drop 200 photos, pick a target, download a zip), but a team of 20 will queue behind each other. If that is your situation, Nextcloud with an office integration covers the document half for a whole organisation, and ConvertX stays the odd-jobs bench.
What I'd do
Run it on the same box as your other household services, behind a reverse proxy with a real certificate, registration off after the first account, auto-delete at the default 24 hours, and a 2-CPU limit in the compose file so a video job does not starve everything else. Pair it with Stirling PDF and you have replaced every "free online converter" tab you ever nervously used. Give the image pull a few minutes and do not be alarmed by its size; the tools inside are the ones you would have installed anyway.
Similar office suites apps
Reveal.js
Office SuitesHTML Presentation Framework
Replaces Google Slides, Office 365
tldraw
Office SuitesInfinite canvas SDK for collaborative whiteboards
Replaces Miro, FigJam
drawDB
Office SuitesBrowser-based database schema design and ER diagram tool
Replaces dbdiagram.io, Lucidchart
Handsontable
Office SuitesJavaScript data grid component with spreadsheet-like editing
Replaces Google Sheets, Excel Online
Teable
Office SuitesPostgres-based no-code database and spreadsheet
Replaces Airtable
Overleaf
Office SuitesOnline real-time collaborative LaTeX editor