Vert - The Free Local File Converter

VERT is an open-source file converter that runs directly in your browser using WebAssembly. That means your files never leave your device (for images, audio, and documents). No cloud, no uploads, no data you didn't consent to share. And it's completely free, forever.

Ricardo Rosero
Ricardo Rosero
5 min read
Vert - The Free Local File Converter

If you’ve ever needed to convert a file — an image, a document, an audio clip — you’ve probably ended up on one of those sketchy websites that makes you upload your files to a mysterious server, forces you to wait, shows you five ads, and then makes you wonder where your data actually went. That was the old way. VERT is the new way.

VERT is an open-source file converter that runs directly in your browser using WebAssembly. That means your files never leave your device (for images, audio, and documents). No cloud, no uploads, no data you didn’t consent to share. And it’s completely free, forever.

With over 250+ supported formats and 12.5k stars on GitHub, this tool has earned its place in my toolkit — and it should be in yours too.


What Can VERT Convert?

VERT handles four main categories:

  • Images — JPG, PNG, WebP, AVIF, GIF, TIFF, and many more, all converted locally in your browser.
  • Audio — MP3, WAV, FLAC, OGG, AAC, and others.
  • Documents — PDF, DOCX, Markdown, HTML, and more using Pandoc under the hood.
  • Video — Converted via VERT’s fast servers (or you can self-host their daemon for full local privacy).

The magic behind all of this is WebAssembly — a technology that lets heavy tools like FFmpeg, ImageMagick, and Pandoc run right inside your browser at near-native speed.


Option 1: Use It Right Now (No Installation Required)

This is the easiest way. Just go to vert.sh in any modern browser on your Mac. Drop your file, choose your output format, and you’re done. Nothing to install. Nothing to configure.

This is honestly what I use 90% of the time.


Option 2: Run VERT Locally on macOS (Self-Hosted)

If you want to run VERT completely on your own machine — maybe for a team, or just for the satisfaction of owning your stack — here’s how to do it on macOS.

Prerequisites

Before you start, make sure you have the following installed:

1. Homebrew — The macOS package manager. If you don’t have it yet:

/bin/bash -c "$(curl -fsSL https://brew.sh/install.sh)"

2. Node.js and Bun — VERT uses Bun as its JavaScript runtime.

brew install node
curl -fsSL https://bun.sh/install | bash

After installing Bun, restart your terminal or run:

source ~/.zshrc

3. Git — Likely already on your Mac, but just in case:

brew install git

Step 1: Clone the Repository

git clone https://github.com/VERT-sh/VERT.git
cd VERT

Step 2: Install Dependencies

bun install

This will pull in all the required packages including Svelte, TypeScript, and the WebAssembly modules.


Step 3: Set Up Environment Variables

VERT comes with an example environment file. Copy it and configure it:

cp .env.example .env

Open .env in your editor and review the settings. For a basic local setup, the defaults work fine.


Step 4: Run the Development Server

bun run dev

Open your browser and go to http://localhost:5173. You should see VERT running locally on your machine.


Option 2b: Run with Docker (Even Simpler)

If you have Docker installed on your Mac, this is the cleanest approach:

# Make sure Docker Desktop is running first
git clone https://github.com/VERT-sh/VERT.git
cd VERT
docker compose up

Docker will handle all dependencies automatically and spin up VERT at http://localhost:3000.


How to Use VERT

Whether you’re on vert.sh or running it locally, the workflow is the same:

1. Drop or select your file — Drag a file into the upload area or click to browse. You can add multiple files at once.

2. Choose your output format — VERT will show you the compatible output formats for your file type. Click the one you want.

3. Adjust conversion settings (optional) — For images, you can adjust quality and dimensions. For audio, you can set bitrate. For documents, additional formatting options may appear.

4. Convert — Click the convert button. For images, audio, and documents, conversion happens instantly in your browser. For video, it’s sent to VERT’s server (or your self-hosted daemon).

5. Download — Your converted file downloads automatically.


Why I Like VERT

I’m genuinely picky about tools I recommend here. VERT earns its place for a few reasons:

Privacy first. Most conversion happens entirely on your device. For someone who regularly converts client documents and design assets, not having those files pass through a third-party server matters.

No friction. No account, no login, no subscription. You open the site and it works.

Open source and transparent. You can read every line of code on GitHub. The AGPL-3.0 license means it has to stay open.

250+ formats. I’ve yet to encounter a format it doesn’t support. From AVIF to OGG to Markdown to DOCX — it handles the weird edge cases that most converters choke on.


The One Caveat: Video

Video conversion is the exception to the “fully local” promise. Because video encoding is extremely resource-intensive, VERT uses its own servers for that by default. They’re fast, and the project is transparent about it. If full local video conversion matters to you, the vertd daemon is self-hostable.


Final Thoughts

VERT is the kind of tool that makes you wonder why we ever put up with the old way of doing things. It’s fast, private, free, and genuinely well-designed. Bookmark vert.sh and you’ll reach for it constantly.

If you try it out, let me know what formats you end up converting most — I’m curious to see how other people are using it.


Have a tool you think I should cover? Reach out via the contact page.

What are your thoughts?

Reading List