ConvertX is a self-hosted web-based file conversion tool designed for users who need to convert files between over 1,000 formats without relying on third-party online services. Built with TypeScript, Bun, and Elysia, it provides a secure, private alternative to cloud-based converters by running entirely on your infrastructure. This makes it ideal for teams handling sensitive documents, developers managing media assets, or organizations requiring compliance with data sovereignty regulations. With support for PDFs, images, videos, e-books, 3D models, and more via integrations like FFmpeg, LibreOffice, and ImageMagick, ConvertX offers enterprise-grade conversion capabilities in a lightweight containerized package.
What You Get
- 1000+ format support - Converts documents, images, videos, 3D models, e-books, and data files using integrated tools like FFmpeg, ImageMagick, LibreOffice, Calibre, and Pandoc — no external APIs required.
- Multi-user accounts with password protection - Supports registered user accounts with JWT-based authentication, enabling team collaboration and access control.
- Docker-first deployment - Official Docker images available on GitHub Container Registry and Docker Hub with pre-configured volumes for persistent storage and environment-based configuration.
- Batch file conversion - Upload and convert multiple files simultaneously, reducing manual workflow overhead for large-scale conversion tasks.
- Auto-file cleanup - Configurable automatic deletion of converted files after a set number of hours (default 24), helping manage disk space without manual intervention.
- Custom FFmpeg args - Fine-tune video/audio conversion with environment variables for hardware acceleration (e.g.,
-hwaccel vaapi) and output optimization (e.g., -preset veryfast).
- HTTP allowed for local use - Option to disable HTTPS enforcement via HTTP_ALLOWED=true, enabling development and internal network deployment without TLS certificates.
Common Use Cases
- Building a secure document processing pipeline - Legal or medical teams convert scanned PDFs, Word docs, and Excel files to standardized formats (e.g., PDF/A) without exposing sensitive content to public cloud services.
- Creating a media asset library for a design agency - Designers convert high-res image files (HEIC, SVG, JPEG XL) and video clips into web-optimized formats using ImageMagick and FFmpeg via a private interface.
- Problem: Need to convert 500+ Outlook .msg files to PDFs → Solution: Use ConvertX’s msgconvert integration with batch upload and auto-deletion to process files in bulk without installing Outlook on every machine.
- DevOps teams managing cross-platform file conversions in CI/CD pipelines - Automate conversion of documentation (LaTeX → PDF, Markdown → DOCX) during build stages using Dockerized ConvertX as a microservice.
Under The Hood
ConvertX is a unified web-based interface designed to streamline the management and execution of various file conversion tools, integrating dozens of command-line utilities into a single accessible platform. It emphasizes modularity and runtime flexibility while offering a clean, type-safe development environment.
Architecture
The project adopts a monolithic structure with well-defined modules for distinct functionalities, ensuring clear separation of concerns. It leverages design patterns such as the strategy pattern to handle diverse conversion tools and middleware-style routing for API endpoints.
- Modular organization enables scalable addition of new converters
- Strategy pattern supports extensible handling of multiple CLI tools
- Middleware routing provides structured and maintainable API endpoints
Tech Stack
Built with TypeScript, the project integrates modern web development practices and tools to support both frontend and backend operations. It utilizes Node.js runtime capabilities alongside Elysia and @kitajs/html for rendering.
- TypeScript ensures type safety and enhanced developer experience
- Elysia and @kitajs/html enable efficient backend routing and component rendering
- Bun runtime, ESLint, and Prettier support fast development and code quality
- Tailwind CSS and PostCSS provide flexible styling and processing capabilities
Code Quality
The codebase reflects a balanced emphasis on testability, consistency, and maintainability. Testing is comprehensive with extensive coverage across converter modules, and error handling follows consistent patterns.
- Comprehensive test suite includes unit and end-to-end coverage
- Consistent error handling with widespread use of try/catch blocks
- Well-defined naming conventions and architectural separation
- Some technical debt present in component structure and error propagation
What Makes It Unique
ConvertX distinguishes itself through its modular architecture and runtime adaptability, offering a unified UI for managing dozens of external CLI tools. Its design enables seamless integration and robust cross-platform support.
- Modular converter system allows easy integration of external CLI tools with consistent interfaces
- Runtime environment detection ensures compatibility across platforms and tool versions
- Unified UI supports a wide range of file formats across multiple domains
- Test-friendly structure with mockable exec functions enables reliable external tool integration