This is a client-side file conversion service. No files are uploaded to any server - all processing happens directly in your browser.
This is provided as-is without any guarantee, but is non-destructive by nature (original files will remain unchanged). Enjoy!
Minimal analytics and errors are collected solely to track site usage and identify issues and are not shared with any third parties.
Media conversions powered by ffmpeg WASM. Document conversions are powered by various open source libraries. Read more about our Privacy Policy & Terms of Service.
cnvrt.tools uses FFmpeg for video, audio, and some image conversions.
The desktop app ships an FFmpeg build under the GNU General Public License, version 2 or later (GPL v2+), which includes libx264 and libx265 for H.264 and H.265 encoding. A managed download from ffmpeg.cnvrt.tools keeps the bundled binary in sync. You can override with any system FFmpeg in settings.
cnvrt.tools does not modify FFmpeg; binaries are repackaged from BtbN/FFmpeg-Builds (Linux + Windows) or built directly from upstream FFmpeg source (macOS).
Browser conversions use ffmpeg.wasm, a WebAssembly port of FFmpeg by the ffmpegwasm project. The wasm core is loaded from the upstream npm CDN with a self-hosted fallback at ffmpeg.cnvrt.tools/wasm/. Source: v0.12.10.
Other open source
This app is built on many other open source libraries, including PDF.js, Mammoth, Marked, Turndown, pdfmake, JSZip, Tauri, and the broader Rust and JavaScript ecosystems. Their respective licenses apply.
cnvrt.tools documentation
Welcome to cnvrt.tools!
This is an offline file converter - your files never leave your device!
Drag & drop or click to select files
Configure output formats in settings
Convert multiple files (mixed types supported) at once
Supports images, videos, audio, and documents with a file size limit over 1gb.
Droplet mode for quick specific conversions via URLs (/png, /mp4, /mp3, etc).
After the first time loading the converter, it will work offline.
Report an Issue / Send Feedback
Please describe the issue you encountered or any feedback you have. If reporting a bug or formatting issue, include steps to reproduce if possible and any errors you see.
Note: There are limits to the file sizes and types that can be converted locally in your browser. Please see the help page for more information.
Settings
Folders
Engine
ActiveChecking…
Browser engine (WASM)
Threading
AdvancedBlank = automatic. Sets FFmpeg's -threads for in-browser jobs.
FFmpeg powers video, audio, and some image conversions.
Downloads & privacy
Files are always processed locally and never uploaded. Both are anonymous and used only in aggregate to fix bugs and improve performance. Bug reports you send yourself always go through, even with both off.
100%
6
4
ⓘ
ⓘ
15 FPS
Audio Settings
Local document conversions are in beta. If you encounter formatting issues or general errors, please check help for more information and next steps.
Print Dialog: Perfect rendering, smaller files, allows setting of page size and margins. Requires user interaction per PDF.
Direct PDF: Automatic generation, larger files, may have rendering differences
1 inch = 72 points
Applies only when the input is a PDF. Rasterize turns each page into an image — the text layer is removed and no longer selectable or searchable.
Base64: Images embedded directly in document (larger file size, self-contained)
Placeholders: Images replaced with placeholder text (smaller file size, external images)
Route: pi0 / pi1
Route: pt0 / pt1
Embed PDF pages as images: Converts all PDF pages to base64 images (preserves exact layout, larger file size)
Only embed pages without text: Only converts image-only pages to base64 images, keeps text pages as extracted text (mixed approach)
Route: rh0 / rh1
Route: rf0 / rf1
These cleanup options improve readability by removing page headers/footers repeated across pages during PDF→HTML/Markdown/Text extraction.