Free, private file conversion — entirely in your browser.
No account. No upload. No file size limits. Your files never leave your device.
You've probably used CloudConvert, Zamzar, or similar tools and run into this:
| The problem with most converters | LocalConvert |
|---|---|
| ❌ Must create an account | ✅ No account needed |
| ❌ Uploads your file to their server | ✅ File never leaves your device |
| ❌ 100MB file size limit on free tier | ✅ No size limits |
| ❌ Slow — wait for upload + processing | ✅ Runs on your own CPU |
| ❌ Pay for bulk conversions | ✅ Always free |
| ❌ Your files stored on someone's server | ✅ 100% private |
LocalConvert runs the entire conversion inside your browser using WebAssembly — the same technology that powers browser-based games and desktop-class apps in the browser.
Supported output formats: MP4 · WebM · AVI · MOV · GIF · MP3
Works with most common video and audio inputs: MP4, MOV, MKV, AVI, WebM, and more.
Extra features:
No signup, no waiting, no limits.
| Browser | Status |
|---|---|
| Chrome / Edge | ✅ Full support |
| Firefox | ✅ Full support |
| Safari | ⚠️ May have issues (SharedArrayBuffer restrictions) |
| Mobile | ⚠️ Works but slow on large files |
Chrome or Edge recommended for best performance.
LocalConvert is free and open source. If it saved you time, a small tip means a lot:
your_upi@bank — for Indian users (zero fees)Traditional converters upload your file to a remote server, process it, then send it back. LocalConvert works differently:
Your file → ffmpeg.wasm (runs inside your browser tab) → Converted file
↑
No server involved
When the page loads, the ffmpeg WebAssembly binary (~30MB) downloads once and is cached by the browser. All subsequent conversions happen entirely on your machine — as fast as your CPU allows.
| Technology | Purpose |
|---|---|
| Svelte + TypeScript | Frontend framework |
| ffmpeg.wasm | In-browser video/audio processing |
| Vite | Build tool |
| Vercel | Deployment |
git clone https://github.com/Gokul-Raj-R-Coder/local-converter.git
cd local-converter
npm install
npm run dev
Open http://localhost:5173. Requires Node.js 18+.
The CORS headers required for WebAssembly threading are pre-configured in
vite.config.tsfor local dev andvercel.jsonfor production.
Add vercel.json to your project root:
{
"headers": [
{
"source": "/(.*)",
"headers": [
{ "key": "Cross-Origin-Opener-Policy", "value": "same-origin" },
{ "key": "Cross-Origin-Embedder-Policy", "value": "require-corp" }
]
}
]
}
Then run vercel to deploy.
MIT — free to fork, modify, and deploy your own version.