A powerful Chrome extension that converts video and audio files to any format locally in your browser using FFmpeg.wasm. No server uploads, completely private and secure.
- Local Processing: All conversions happen in your browser - no data leaves your computer
- Auto Format Detection: Automatically detects uploaded file format
- Multiple Formats Supported:
- Video: MP4, MOV, AVI, MKV, WebM, FLV, WMV, MPEG, MPG, M4V, 3GP, TS
- Audio: MP3, WAV, AAC, FLAC, ALAC, OGG, M4A, AMR, MIDI
- Quality Control: Choose between High, Medium, or Low quality
- Progress Tracking: Real-time conversion progress display
- Drag & Drop: Easy file upload via drag and drop
- Fast & Efficient: Uses WebAssembly for near-native performance
-
Download the Extension
- Download this entire folder to your computer
-
Open Chrome Extensions Page
- Open Chrome browser
- Navigate to
chrome://extensions/ - Or click Menu (⋮) → More Tools → Extensions
-
Enable Developer Mode
- Toggle "Developer mode" switch in the top-right corner
-
Load the Extension
- Click "Load unpacked" button
- Navigate to the
AnyVideoConverterfolder - Click "Select Folder"
-
Pin the Extension (Optional)
- Click the Extensions icon (puzzle piece) in the Chrome toolbar
- Find "Any Video Converter"
- Click the pin icon to keep it visible
The extension uses SVG icons. To convert them to PNG for better compatibility:
- Open
icons/icon128.svgin a browser - Take a screenshot or use an SVG to PNG converter
- Create three PNG versions:
icon16.png(16x16 pixels)icon48.png(48x48 pixels)icon128.png(128x128 pixels)
- Save them in the
iconsfolder
Or use this online tool: https://cloudconvert.com/svg-to-png
-
Click the Extension Icon
- Click the Any Video Converter icon in your Chrome toolbar
-
Upload a File
- Click the upload area or drag & drop a video/audio file
- Supported formats are automatically detected
-
Choose Output Format
- Select your desired output format from the dropdown
- Choose quality level (High/Medium/Low)
-
Convert
- Click the "Convert" button
- Wait for the conversion to complete (progress bar shows status)
-
Download
- Once complete, click "Download File" to save the converted file
- Click "Convert Another File" to start over
- FFmpeg.wasm: WebAssembly port of FFmpeg for in-browser conversion
- Chrome Extension Manifest V3: Modern extension architecture
- Vanilla JavaScript: No frameworks required
- CSS3: Modern, gradient-based UI design
- All files are processed in browser memory
- No data is uploaded to any server
- Temporary files are cleaned up after conversion
- Memory-efficient streaming for large files
Video Formats:
- MP4: H.264 video + AAC audio (most compatible)
- WebM: VP9 video + Opus audio (web-optimized)
- MKV: H.264 video + AAC audio (high quality container)
- AVI: H.264 video + MP3 audio (legacy support)
Audio Formats:
- MP3: Most compatible, good quality
- WAV: Uncompressed, highest quality
- AAC: Better quality than MP3 at same bitrate
- FLAC: Lossless compression
- OGG: Open format, good compression
| Quality | Video Bitrate | Audio Bitrate | CRF | Use Case |
|---|---|---|---|---|
| High | 5000k | 320k | 18 | Best quality, larger files |
| Medium | 2500k | 192k | 23 | Balanced quality/size |
| Low | 1000k | 128k | 28 | Smaller files, quick sharing |
- Make sure Developer Mode is enabled
- Check that all files are in the correct folder structure
- Refresh the extensions page
- Check that the input file is not corrupted
- Try a different output format
- Some exotic formats may not be supported
- Ensure enough system memory is available
- Large files take longer to process
- Close other Chrome tabs to free up memory
- Try using a lower quality setting
- Some format combinations require more processing
- Create PNG versions of the SVG icons
- Make sure they're named correctly (icon16.png, icon48.png, icon128.png)
- Reload the extension after adding icons
AnyVideoConverter/
├── manifest.json # Extension configuration
├── popup.html # Main UI
├── popup.js # Conversion logic
├── styles.css # Styling
├── ffmpeg.min.js # FFmpeg loader
├── icons/ # Extension icons
│ ├── icon16.png
│ ├── icon48.png
│ └── icon128.png
└── README.md # This file
- 100% Local Processing: No files are ever uploaded to any server
- No Network Requests: Except for loading FFmpeg.wasm library (one-time)
- No Data Collection: We don't collect any user data
- Secure: Runs in Chrome's sandboxed environment
- File Size: Very large files (>2GB) may cause performance issues
- Processing Time: Complex conversions can be CPU-intensive
- Browser Memory: Limited by available RAM
- Format Support: Dependent on FFmpeg.wasm capabilities
- Mobile: Not available for mobile Chrome browsers
- Edit the source files in your text editor
- Save changes
- Go to
chrome://extensions/ - Click the refresh icon on the extension card
- Test your changes
To add support for a new format:
- Add the format to
VIDEO_FORMATSorAUDIO_FORMATSinpopup.js - Add the format option in
popup.htmlselect dropdown - Add FFmpeg arguments in
buildFFmpegArgs()function - Add MIME type in
getMimeType()function
- Open Chrome DevTools on the popup: Right-click extension → Inspect
- Check console for errors and FFmpeg logs
- Enable logging in FFmpeg config:
log: true
Feel free to:
- Report bugs
- Suggest new features
- Submit pull requests
- Improve documentation
This project uses:
- FFmpeg.wasm (LGPL-2.1)
- Chrome Extension APIs (Google)
- FFmpeg.wasm: https://ffmpegwasm.netlify.app/
- FFmpeg: https://ffmpeg.org/
If you encounter issues:
- Check the Troubleshooting section above
- Verify your Chrome version is up-to-date
- Try reloading the extension
- Check browser console for error messages
Made with ❤️ for the developer community
Convert any video, anywhere, anytime - all in your browser!