A powerful, privacy-focused browser-based audio converter that enables users to convert audio files and extract audio from video files entirely within their web browser. No uploads, no server processing, no data collectionโjust pure client-side audio conversion powered by FFmpeg.wasm.
The xsukax Audio Converter prioritizes user privacy and data security through its architecture and implementation:
- Zero Server Uploads: All file processing occurs entirely within your browser using WebAssembly technology. Your media files never leave your device, eliminating the risk of data interception during transmission or unauthorized access on remote servers.
- Privacy by Design: The application does not collect, store, or transmit any user data, metadata, or analytics. There are no tracking scripts, cookies, or telemetry systems monitoring your activity.
- Air-Gapped Operation: Once the FFmpeg.wasm library is loaded and cached, the application can function completely offline, providing an additional layer of security for sensitive media processing.
- Auditable Code: The entire codebase is publicly available for security audits and code review, ensuring transparency and allowing the community to verify that no malicious code or data exfiltration mechanisms exist.
- Sandboxed Environment: Files are processed in the browser's sandboxed environment with no persistence beyond the conversion session. Once you close the browser tab, all temporary data is automatically cleared.
- ๐ Browser-Based: No installation requiredโworks directly in modern web browsers (Chrome, Firefox, Edge, Safari)
- ๐ฌ Dual Functionality: Convert audio files between formats AND extract audio tracks from video files
- ๐ Wide Format Support:
- Audio: MP3, WAV, FLAC, AAC, OGG, M4A, WMA, OPUS
- Video: MP4, AVI, MKV, MOV, WebM, FLV, WMV, MPG, MPEG
- โ๏ธ Customizable Quality: Select audio bitrate for compressed formats (64k to 320k)
- ๐ฑ๏ธ Drag-and-Drop Interface: Intuitive file selection with drag-and-drop support
- ๐ Real-Time Progress: Live conversion progress tracking with percentage and status updates
- ๐จ Modern UI: Beautiful, responsive design with gradient themes and smooth animations
- ๐ Console Logging: Detailed conversion logs for debugging and transparency
- ๐ Smart Notifications: Visual feedback for success, errors, and warnings
- โก Fast Processing: Leverages WebAssembly for near-native performance
- ๐ Completely Free: No subscriptions, no hidden fees, no feature limitations
- Chrome/Edge: Version 90 or higher
- Firefox: Version 88 or higher
- Safari: Version 14.1 or higher
- Opera: Version 76 or higher
- RAM: Minimum 2GB available memory (4GB recommended for large video files)
- Internet Connection: Required for initial load to fetch FFmpeg.wasm library (approximately 25MB)
Visit the live application directlyโno installation needed:
https://xsukax.github.io/xsukax-Audio-Converter/ -
Clone the Repository
git clone https://github.com/xsukax/xsukax-Audio-Converter.git cd xsukax-Audio-Converter -
Deploy the Files
Simply serve the
index.htmlfile using any web server:Using Python's Built-in Server:
# Python 3 python -m http.server 8000 # Python 2 python -m SimpleHTTPServer 8000
Using Node.js (http-server):
npx http-server -p 8000
Using PHP:
php -S localhost:8000
-
Access the Application
Open your browser and navigate to:
http://localhost:8000
- Fork the repository on GitHub
- Navigate to repository Settings โ Pages
- Select the main branch as the source
- Your converter will be available at:
https://[your-username].github.io/xsukax-Audio-Converter/
flowchart TD A[Open Application] --> B[FFmpeg.wasm Loads] B --> C{Select Media File} C -->|Audio File| D[Choose Output Format] C -->|Video File| D D --> E[Select Bitrate Optional] E --> F[Click Convert] F --> G[Processing] G --> H{Conversion Successful?} H -->|Yes| I[Automatic Download] H -->|No| J[Error Notification] I --> K[File Saved to Downloads] J --> L[Check Console Logs] - Open the application in your web browser
- Wait for FFmpeg.wasm to load (indicated by a success notification)
- The console will display "FFmpeg loaded and ready!"
Choose one of the following methods:
- Click: Click the upload area and browse for your file
- Drag & Drop: Drag a file from your file manager directly onto the upload area
-
Format Selection: Choose your desired audio output format from the dropdown menu
- MP3: Best compatibility across all devices
- AAC: High quality with smaller file sizes
- WAV/FLAC: Lossless audio quality
- OGG: Open-source format with good compression
- M4A: Apple ecosystem compatibility
-
Bitrate Selection (for compressed formats):
- 320k: Maximum quality
- 192k: Balanced quality/size (recommended)
- 128k: Standard quality
- Lower bitrates: For speech or when file size is critical
- Click the "๐ Convert to Audio" button
- Monitor the progress bar and console output
- The converted file will automatically download when complete
- Check your browser's default download location
- The file will be named:
[original-filename].[new-format]
graph TB subgraph Browser Environment A[User Interface] --> B[File Handler] B --> C[FFmpeg.wasm Engine] C --> D[WebAssembly Runtime] D --> E[Audio/Video Processing] E --> F[Output Generator] F --> G[Download Manager] end subgraph User Actions H[Select File] --> A I[Configure Settings] --> A J[Start Conversion] --> B end subgraph Output G --> K[Converted Audio File] end style C fill:#667eea style D fill:#764ba2 style K fill:#4caf50 For Large Video Files:
- Ensure sufficient RAM is available (close unnecessary browser tabs)
- Be patient during the conversion processโlarge files may take several minutes
- Monitor the console for detailed progress information
For Batch Processing:
- Convert files one at a time for optimal performance
- Use browser bookmarks to quickly access the tool repeatedly
For Best Quality:
- Use WAV or FLAC formats for lossless audio extraction
- Select the highest bitrate (320k) for compressed formats
- Consider the source qualityโupsampling won't improve poor source audio
- Frontend: Pure HTML5, CSS3, and Vanilla JavaScript
- Audio Processing: FFmpeg.wasm v0.11.6
- Core Engine: FFmpeg Core v0.11.1
- UI Framework: Custom CSS with gradient design system
- Icons: Unicode emoji characters
- Architecture: Single-page application (SPA)
Issue: "Failed to load FFmpeg" error appears Solutions:
- Check your internet connection
- Clear browser cache and reload
- Try a different browser
- Disable browser extensions that might block WebAssembly
Issue: Error during file processing Solutions:
- Verify the file is not corrupted
- Ensure the file format is supported
- Try a different output format
- Check the console for specific error messages
- Reduce file size if memory issues are suspected
Issue: Conversion takes a very long time Causes & Solutions:
- Large file size โ Consider compressing the input file first
- Low system RAM โ Close other applications and browser tabs
- Browser limitations โ Try Chrome or Edge for best WebAssembly performance
Issue: Output file doesn't play in media player Solutions:
- Try a different media player (VLC is recommended)
- Verify the conversion completed successfully (check console)
- Re-convert using a more compatible format (MP3)
Contributions are welcome! To contribute:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Please ensure your code follows the existing style and includes appropriate comments.
This project is licensed under the GNU General Public License v3.0.
Developed with โค๏ธ by xsukax
- FFmpeg.wasm - WebAssembly port of FFmpeg
- FFmpeg - The underlying multimedia framework
- The open-source community for inspiration and support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
โญ If you find this project useful, please consider giving it a star on GitHub!