Our take
- Activity
- 60
- Community
- 58
- Issues
- 56
- Pull requests
- 53
+574 stars in the last 30 days
Project history
Daily GitHub snapshots since Oct 7, 2026. History covers stars and forks; health signals are not tracked historically.
Stars
19,710Forks
1,136Change since Nov 13, 2026: +12 stars·0 forks
Overview
ConvertX provides a web interface for converting files on a server you control. It brings together a broad set of conversion tools for documents, images, video, e-books, and other file types, reducing the need to use separate online converters.
It is a practical fit for home labs and small teams that want shared access to file conversion while keeping uploaded files within their own deployment. The project is written in TypeScript and uses Bun and Elysia.
Key Features
- Convert files between supported formats across many media and document categories.
- Process multiple files at once.
- Support accounts and password protection.
- Run as a Docker container, with data stored in a mounted volume.
- Configure registration, authentication behavior, branding, and web root through environment variables.
- Automatically remove old files on a configurable schedule.
- Limit the number of concurrent conversion processes if desired.
Use Cases
- Home-lab users can run a browser-accessible converter without sending files to a third-party conversion website.
- Small teams can provide a shared conversion service with individual accounts and password protection.
- Users handling mixed office documents, images, video, or e-books can use one interface instead of maintaining several converters.
- Self-hosters can integrate conversion into an existing Docker-based setup and manage storage and access themselves.
Getting Started
Deploy with Docker Compose:
services:
convertx:
image: ghcr.io/c4illin/convertx
ports:
- "3000:3000"
environment:
- PUID=1000
- JWT_SECRET=replace-with-a-long-secret
volumes:
- ./data:/app/data
Then open http://localhost:3000 and create an account. Match PUID to the host user for volume permissions, and set a strong JWT_SECRET. See the README for additional deployment options and configuration.
Considerations
- You are responsible for deployment, storage, access control, and updates. Do not expose an unconfigured instance publicly, and do not enable unauthenticated access or open registration for an internet-facing service.
- HTTP access is restricted by default. The README advises enabling its HTTP override only for local use; use HTTPS when accessing the service remotely.
- The Docker image bundles many external conversion tools, so check its storage and resource requirements against your server before deployment.
- Format support depends on the included converters. Check the project documentation for the relevant input and output formats before relying on a particular conversion workflow.
- AGPL-3.0 is a copyleft license. Review its terms if you plan to modify or redistribute the software.
Found this useful?
Share it with someone who would like ConvertX.