ABOUT

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

01
Drag & Drop

Drop your files or click to browse. Convert-it auto-detects the format and suggests available conversions.

02
Customize

Tweak quality, delimiter, bitrate, or preset settings per file before converting.

03
Download

Get your converted file instantly. Download individually or zip all results at once.

SUPPORTED FORMATS

IMAGE

JPG, PNG, WebP, GIF, BMP, ICO, SVG, HEIC, AVIF

VIDEO

MP4, WebM, AVI, MOV, MKV, FLV, M4V, 3GP, Animated WebP

AUDIO

MP3, WAV, AAC, OGG, FLAC, M4A, WMA, OPUS

DOCUMENT

TXT, Markdown, HTML, PDF, ePub

DATA

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

Convert-it is MIT-licensed and open source. The full codebase is available on GitHub. Contributions, bug reports, and feature requests are welcome.

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)

TECH STACK

Framework
Next.js 15
Language
TypeScript
CSS
Tailwind CSS
Motion
Framer Motion
Video/Audio
FFmpeg WASM
Images
jSquash WASM
SVG
resvg WASM
PNG Optimize
oxipng
PDF
PDFium WASM
HEIC/AVIF
libheif-js
Spreadsheets
SheetJS
Hosting
Cloudflare Pages + R2