A modern, privacy-focused file conversion tool that runs entirely in your browser. Convert images, audio, and video files without uploading anything to a server.
- Next.js 15
- React 19
- FFmpeg WebAssembly
- Tailwind CSS 4
- next-themes
-
Clone the repository
git clone https://github.com/vinegm/FileWell.git cd FileWell -
Install dependencies
npm install
-
Start development server
npm run dev
-
Open in browser Navigate to http://localhost:3000
- Upload Files - Drag and drop files or click to select
- Choose Format - Select your desired output format
- Convert - Click convert and wait for processing
- Download - Download your converted files
The conversion engine can also be used programmatically:
import converter from "@/utils/convert";
// Convert a file
try {
const { blob, mime } = await converter.convertFile(originalFile, "mp4");
// Create download URL
const url = URL.createObjectURL(blob);
// Use the converted file...
} catch (error) {
console.error("Conversion failed:", error.message);
}// Get file extension
const ext = converter.getFileExtension("video.mp4"); // 'mp4'
// Remove file extension
const name = converter.removeFileExtension("video.mp4"); // 'video'
// Universal conversion
const result = await converter.convertFile(file, "targetFormat");npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLintContributions are welcome! Please feel free to submit a Pull Request.
This project is open source and available under the MIT License.