Skip to content
opencoredevPublic

Repository files navigation

GitHub stars Follow @leodev on X

convt

Local file conversion for your own machine. Right-click a file, pick a format, and convt writes the result next to the original. Images, video, audio, PDFs and documents stay on disk: nothing is uploaded.

  • 40 formats, routed through native engines (FFmpeg, PDFium, LibreOffice, image, resvg)
  • A desktop app built with GPUI, with a Finder menu on macOS and file manager menus on Linux. The Windows Explorer menu is built (crates/convt-shell) but not yet in the release installer
  • The convt CLI, shipped in the same install
  • Multi-hop routes of at most three steps when no engine can convert directly
  • Optional document pack for Word, Excel and PowerPoint, installed only when you ask
  • A paid cloud API and TypeScript SDK for converting files on convt's servers
  • Accounts, checkout and downloads on convt.app

Install

macOS (Apple silicon) with Homebrew:

brew tap opencoredev/convt https://github.com/opencoredev/convt
brew install --cask convt

That installs the signed app and puts the convt CLI on your PATH. Download the app from convt.app/download for a disk image, Windows MSI, or Linux packages. There is no Linux Homebrew formula yet; use the .deb, .rpm or AppImage. Packaged builds start a 7-day trial on the first conversion.

To build from source:

bun run setup
cargo run -p convt-cli -- photo.png --to webp

bun run setup installs system packages (asks for sudo on Linux and macOS), the Rust toolchain, Bun dependencies and PDFium. On Windows run scripts/setup-windows.ps1 in PowerShell. Ordinary source builds are unrestricted.

Usage

convt clip.mov --to mp4
convt photos/ --to webp -r
convt lease.pdf --to png --pages 1-3

From a checkout, prefix those with cargo run -p convt-cli --. Output lands next to each input unless you pass --out-dir.

Engines

convt registers whatever can run on this machine and picks a route:

  • FFmpeg for video and audio (MP4, MOV, WebM, MKV, AVI, MP3, WAV, FLAC, AAC, M4A, OGG, Opus)
  • LibreOffice for Word, Excel, PowerPoint and their open formats, and for saving any of them as PDF
  • PDFium to render PDF pages to PNG or JPEG
  • image and resvg for photos and SVG (JPEG, PNG, WebP, AVIF, GIF, TIFF, BMP, ICO, TGA, PPM, QOI, OpenEXR)
  • libheif, or sips on macOS, for HEIC

Office files need LibreOffice on PATH. Released Windows builds can also run convt pack install documents, which downloads the pinned pack from the GitHub release and verifies its checksum. Ordinary source builds need a system LibreOffice, or an explicit --source and --sha256. The engines never start that download themselves.

CLI

convt engines              # backends available here
convt targets photo.heic   # formats this file can reach
convt targets photo.heic --menu
convt formats
convt presets
convt pack status documents

convt --help lists quality, size, pages, DPI, video and job flags. See AGENTS.md for the rest of the commands in this repo.

Cloud API

The cloud API converts files on convt's servers for a paid plan. You upload a file, start a job, and download the result. @convt/sdk wraps those calls in TypeScript but is not on npm yet; see the API docs for keys, the host to call and the full reference. The API is crates/convt-server, and conversions run in sandboxed crates/convt-worker processes using the same engines as the app.

Documentation

  • convt.app: product site, pricing and sign-in
  • Download: desktop builds and matching source archives
  • Formats: every format and the targets it can reach
  • API docs: the cloud API, the SDK and the API reference
  • AGENTS.md: repo layout, conventions, and how to check, test and build

License

convt is open source under the GNU AGPL v3. The signed desktop builds, convt Cloud and the API are paid. "convt" and the convt logo are trademarks and are not covered by the code license.

Sponsors

Want your logo here? Become a sponsor →

Sponsors

Star History

Star history

AGPL-3.0 · Built by @leodev

Releases

Packages

Contributors

Languages