π¬ A powerful, browser-based video converter built with SvelteKit and FFmpeg WebAssembly. Convert videos between multiple formats directly in your browser without uploading files to any server.
- Client-Side Processing: All video conversion happens in your browser using FFmpeg WebAssembly
- Privacy First: No files are uploaded to servers - everything stays on your device
- Multiple Formats: Support for MP4, AVI, MOV, MKV, FLV, WMV, and GIF
- Real-time Progress: Live conversion progress tracking
- Modern UI: Beautiful, responsive design with gradient backgrounds and animations
- Quality Optimization: Optimized encoding settings for each format
- Fast Performance: Efficient video processing with WebAssembly
| Format | Extension | Description |
|---|---|---|
| MP4 | .mp4 | Most compatible format with H.264 encoding |
| AVI | .avi | Classic format with MP3 audio |
| MOV | .mov | Apple QuickTime format |
| MKV | .mkv | Open-source Matroska container |
| FLV | .flv | Flash video format |
| WMV | .wmv | Windows Media Video |
| GIF | .gif | Animated GIF with optimized palette |
- Frontend: SvelteKit 2.x with TypeScript
- Styling: TailwindCSS 4.x
- Video Processing: FFmpeg WebAssembly (@ffmpeg/ffmpeg)
- Build Tool: Vite
- Package Manager: npm
- Clone the repository:
git clone https://github.com/sw3do/video-converter-site.git
cd video-converter-site- Install dependencies:
npm install- Start the development server:
npm run dev- Open your browser and navigate to
http://localhost:5173
npm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production buildnpm run check- Run TypeScript and Svelte checksnpm run check:watch- Run checks in watch mode
- Load FFmpeg: Click the "Load FFmpeg" button to initialize the WebAssembly module
- Upload Video: Select a video file from your device
- Choose Format: Select your desired output format from the dropdown
- Convert: Click "Convert Video" to start the conversion process
- Download: Once complete, download your converted video
- No Server Upload: All video processing happens locally in your browser
- No Data Collection: We don't collect, store, or transmit your videos
- Offline Capable: Works without internet connection after initial load
- Open Source: Full transparency with open source code
- Video: H.264 (libx264), CRF 20, High profile
- Audio: AAC, 128k bitrate
- Optimizations: Fast start for web playback
- Video: H.264 (libx264), CRF 20
- Audio: MP3 (libmp3lame), 128k bitrate
- Video: H.264 (libx264), CRF 20, High profile
- Audio: AAC, 128k bitrate
- Optimizations: Fast start for web playback
- Video: H.264 (libx264), CRF 20
- Audio: AAC, 128k bitrate
- Video: H.264 (libx264), CRF 22
- Audio: AAC, 128k bitrate
- Video: H.264 (libx264), CRF 22
- Audio: AAC, 128k bitrate
- Optimized palette generation
- 10 FPS for smaller file size
- 320px width (maintains aspect ratio)
- Chrome 57+
- Firefox 52+
- Safari 11+
- Edge 16+
Note: Requires browsers with WebAssembly support
The application is fully responsive and works on:
- Desktop computers
- Tablets
- Mobile devices
- Fork the repository
- Create a feature branch:
git checkout -b feature/new-feature - Commit your changes:
git commit -am 'Add new feature' - Push to the branch:
git push origin feature/new-feature - Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- FFmpeg - The powerful multimedia framework
- FFmpeg.wasm - FFmpeg WebAssembly port
- SvelteKit - The amazing web framework
- TailwindCSS - Utility-first CSS framework
If you encounter any issues or have questions:
- Check the Issues page
- Create a new issue if your problem isn't already reported
- Provide detailed information about your browser and the issue
Made with β€οΈ by sw3do
Convert videos with confidence - your privacy is our priority!