The convt command
One command-line tool for every kind of file
convt is a command-line file converter for images, video, audio, PDFs and Office documents. Every conversion is the same command: the file or folder, then --to and the format. It picks the engine for you (FFmpeg, PDFium, LibreOffice, libheif or resvg) and runs on your computer. The convt command never uploads a file.
It comes with the convt desktop app for macOS, Windows and Linux. A Desktop license is $39 once.
One command for images, video, audio and documents
Run on convt 0.5.0, the current release.
You don't need to remember which tool handles which file, or its flags. These five lines cover a photo, a video, a recording, a Word file and a PDF:
convt photo.png --to webpconvt clip.mov --to mp4 --video-height 720convt memo.wav --to mp3convt report.docx --to pdfconvt notes.pdf --to png --pages 1 --dpi 150photo.png -> ./photo.webp
clip.mov -> ./clip.mp4
memo.wav -> ./memo.mp3
report.docx -> ./report.pdf
notes.pdf -> ./notes.pngOur 28.8 MB ProRes MOV came out as a 1.0 MB MP4 at 720p. The original file always stays as it was. To see what a file can become, ask convt:
convt targets clip.movconvt formatsconvt targets clip.mov listed MP4, WebM, MKV, AVI, GIF, the sound formats (MP3, M4A, WAV, FLAC, AAC, OGG, Opus) and still images. When convt can't go straight from one format to another, it chains up to three steps, such as SVG to PNG to WebP.
Install convt on Mac, Windows or Linux
Mac (Apple silicon): Homebrew puts convt on your PATH. If you install the disk image from the download page instead, the command is /Applications/convt.app/Contents/MacOS/convt.
brew tap opencoredev/convt https://github.com/opencoredev/convtbrew install --cask convtWindows (x86_64): the installer doesn't add convt to your PATH, so in PowerShell type its full path: & "$env:LOCALAPPDATA\Programs\convt\convt.exe" photo.png --to webp.
Linux (x86_64): a .deb, .rpm, AppImage and tarball are on GitHub releases. The tarball has convt next to the FFmpeg and libraries it uses.
Word, Excel and PowerPoint files need LibreOffice. On Windows, convt pack install documents downloads it once as convt's document pack. On a Mac, install LibreOffice from libreoffice.org into Applications and convt finds it; on Linux, install it from your package manager. Run convt engines to see which engines are ready on your machine.
Convert whole folders
Run on convt 0.5.0, the current release.
Give convt a folder instead of a file. -r takes the subfolders too, and -o writes the results into a separate folder with the same layout:
convt Photos --to webp -r -o webpPhotos/a.png -> webp/a.webp
Photos/2026/b.png -> webp/2026/b.webp
2 converted, 0 failedconvt converts several files at once, one per CPU core unless you set -j. Files already in the target format are skipped. It never overwrites: running the same command again wrote a (1).webp next to a.webp. A folder input converts every file that can become the target, so a folder of mixed files to --to jpg also turns videos and PDFs into images.
Options
Options that don't apply to a file are ignored for it, so one set of options can cover a folder of photos and videos. convt --help prints the same list:
-t, --to- The target format, such as png, mp4, mp3 or pdf.
-o, --out-dir- Where results go. Without it, each lands next to its original.
-r, --recursive- Include subfolders of folder inputs.
-q, --quality- Lossy quality from 1 to 100 for JPEG, HEIC, AVIF and video.
--max-size- Longest edge of image output, in pixels.
--pages, --dpi- Which PDF pages to render (2, 1-3 or 4-) and at what resolution.
--video-height- Maximum video height in pixels. It never enlarges.
--video-codec- h264 (the default) or hevc for MP4, MOV and MKV.
--audio-bitrate- Audio bitrate in kbit/s.
--no-audio- Leave the sound out of video output.
--background- What transparent areas become: white, black, transparent or #rrggbb.
-j, --jobs- How many files at once. Videos always run one at a time.
Save your settings as a preset
Run on convt 0.5.0, the current release.
A preset is a small TOML file with a target format and options. Pass its path with -p, or save it in convt's presets folder and use its name. convt presets lists the saved ones.
to = "webp"
quality = 80
max_size = 1200convt photo.png -p web.toml -o webphoto.png -> web/photo.webpUse it in scripts
Run on convt 0.5.0, the current release.
--json prints one JSON event per line on stdout, so a script or another app can show progress and read the output paths:
convt logo.svg --to webp -o out --json{"event":"started","index":0,"input":"logo.svg"}
{"event":"progress","index":0,"fraction":0.5}
{"event":"progress","index":0,"fraction":0.75}
{"event":"progress","index":0,"fraction":1.0}
{"event":"done","index":0,"input":"logo.svg","outputs":["out/logo.webp"]}
{"event":"summary","done":1,"failed":0,"cancelled":0}convt exits with 0 when every file converted and 1 when any failed, such as a file it can't read or a conversion it has no route for. convt formats --json lists every format with its extensions and MIME type. The Raycast extension runs the same command.
Give it to an AI coding agent
Run on convt 0.5.0, the current release.
convt --skill prints a SKILL.md: every command, option and format, and how to check which engines are installed. Save it where your agent reads skills, and the agent can convert files on your machine without uploading them anywhere.
convt --skill > SKILL.mdconvt, FFmpeg, ImageMagick, LibreOffice and Pandoc
The tools people usually reach for each cover one kind of file, and they go much deeper than convt does there. convt is the one command across all of them:
FFmpeg, ImageMagick, LibreOffice and Pandoc are free. If you already know their flags and only work with one kind of file, they may be all you need.
What convt doesn't do yet
As of convt 0.5.0, the current release:
- It can't shrink a file without changing its format: MP4 to a smaller MP4 or JPEG to a smaller JPEG isn't possible in 0.5.0.
- HEIC to JPEG drops the photo's EXIF data: the date taken, the camera and the location.
- It doesn't turn PDFs into Word files, images into SVG, or SVG into PDF.
- It doesn't edit: no cropping, trimming, filters or merging files.
- The Mac build needs Apple silicon; there is no Intel Mac build.
Step-by-step guides
Each guide does one job, built-in tools first, with every convt command tested. For Finder's right-click menu, see the Mac file converter page.
- How to convert HEIC to JPG on a MacConvert iPhone HEIC photos to JPG on a Mac with free built-in tools (Finder, Preview, Photos and sips), or batch-convert folders with subfolders using the convt CLI.
- How to batch convert HEIC to JPG on WindowsConvert iPhone HEIC photos to JPG on Windows 11: one at a time in the Photos app, or whole folders with subfolders in one tested convt command.
- How to convert MOV to MP4 on a MacConvert MOV videos to MP4 on a Mac: rename H.264 files, export from iMovie, remux with FFmpeg without losing quality, or batch-convert and shrink folders with convt.
- How to convert WebP to PNG or JPGSave WebP images as PNG or JPG with Preview on a Mac or Paint on Windows, or convert whole folders at once with convt, keeping transparency in PNG.
- How to convert a PDF to PNG on Mac or WindowsSave PDF pages as PNG images with Preview on a Mac or a screenshot on Windows, or convert every page, chosen pages or whole folders at a set DPI with convt.
- How to convert MP4, FLAC and WAV to MP3 on a MacTurn an MP4 or WAV into MP3 on a Mac with QuickTime and the Music app, or use convt for FLAC files and whole folders, at the bitrate you pick.
- How to convert SVG to PNG on a MacConvert SVG files to PNG on a Mac with the built-in qlmanage command, or use convt to pick the size, keep transparency and convert whole folders of icons.
Questions
- Is convt free?
- No. The source code is open (AGPL-3.0), but the signed app and command-line tool are $39 once for a Desktop license. The command-line tool starts a trial the first time it converts a file, so you can try it first.
- Does the convt command upload my files?
- No. It converts on your computer and makes no network calls, except
convt pack installon Windows, which downloads the document pack when you ask for it. convt's paid cloud API is a separate service that does receive files. - Is it a wrapper around FFmpeg?
- For video and audio, yes: it runs the FFmpeg that ships with it. Images, SVG, PDFs, HEIC and documents go through other engines, and convt picks the one that fits.
- Does it run on a server?
- The Linux build runs from a terminal on x86_64, so it works over SSH or in a script. The cloud API is the other option when files should be converted on convt's servers; see the API docs.