Convert-it Convert-it is a free, open-source universal file converter that runs entirely in your browser. No uploads, no servers, no signups — your files never leave your device.
Built for developers, designers, and anyone who needs quick, private file conversions without the hassle of sketchy online tools or bloated desktop software.
HOW IT WORKS
Drop your files or click to browse. Convert-it auto-detects the format and suggests available conversions.
Tweak quality, delimiter, bitrate, or preset settings per file before converting.
Get your converted file instantly. Download individually or zip all results at once.
SUPPORTED FORMATS
JPG, PNG, WebP, GIF, BMP, ICO, SVG, HEIC, AVIF
MP4, WebM, AVI, MOV, MKV, FLV, M4V, 3GP, Animated WebP
MP3, WAV, AAC, OGG, FLAC, M4A, WMA, OPUS
TXT, Markdown, HTML, PDF, ePub
CSV, JSON, XML, YAML, TSV, Excel
PRIVACY
Your files never leave your browser. All conversion happens locally using WebAssembly and the Canvas API. We don't upload, store, or have any access to your data.
We run no analytics or tracking scripts — no cookies, no fingerprinting, and nothing tied to your files. The only things stored on your device are your theme and language preferences. Video and audio conversion downloads a ~31MB FFmpeg engine from our own CDN the first time you use it; your files are never part of that request. File size limits (100MB images, 500MB video, 200MB audio) prevent browser memory exhaustion.
OPEN SOURCE
RECENT IMPROVEMENTS
HEIC and AVIF decode — convert iPhone and modern web photos (lazy-loaded WASM)
ePub export — convert TXT, Markdown, and HTML to e-books
Animated WebP output from all video formats via FFmpeg
Error boundary — caught errors show a fallback UI instead of a white screen
Automated CI pipeline — typecheck, lint, test, and build on every push
Real-time FFmpeg progress tracking for video/audio conversions
File size limits with early rejection (100MB images, 500MB video, 200MB audio)
FFmpeg WASM error handling with graceful failure recovery
Auto-generated conversion map — no manual sync between registry and UI
Extracted job management into reusable useJobManager hook
i18n support with 5 languages and dynamic locale loading
Dark/light theme toggle with system preference detection
Preview panel with copy-to-clipboard for text results
Conversion history persisted in localStorage
PWA support with manifest and app icons
Deduplicated FFmpeg progress tracking and MIME-type logic across video/audio conversion
Unit test suite covering converters, job management, and i18n
Self-hosted FFmpeg core on Cloudflare R2 — no third-party CDN in the conversion path
No theme or language flash on first paint
Works with browser storage blocked — theme, language, and history degrade instead of crashing
Browser smoke suite that checks the downloaded bytes, not just that the UI turned green
Removed all server-side code and visit tracking — the app is a pure static export
Large-file warning before you convert, with limits tuned to what browser memory actually survives
Fixed stale preview content when switching between converted results
Image output encoded via jSquash WASM codecs (mozjpeg/libpng/libwebp) instead of canvas.toBlob — better quality, smaller files
Lossless PNG optimization with oxipng (Rust) as a post-pass — smaller PNGs with zero quality loss
SVG rasterization via resvg-wasm with a bundled Noto Sans font — renders real glyphs, no browser font variance
PDF as input — convert PDF pages to PNG/JPG/WebP and extract text to TXT/HTML (pdfium-wasm)
Multi-page PDF → image zip with 1×/2×/3× render scale (jszip)