C4illin

ConvertX: Convert Files on Your Own Server

ConvertX is a self-hosted web app for converting files across more than 1,000 formats. It suits individuals and teams who want a private, Docker-deployed conversion service with accounts and batch processing.

TypeScriptAGPL-3.0Self HostedDockerWeb App
View on GitHub Compare
Stars
19.1k
Forks
1.1k
Stars, last 30 days
+574

Our take

Health score

57/100

How it is scored
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.

Selected snapshot

Stars

19,710

Forks

1,136

Change 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.

Comparisons