A modern, user-friendly file conversion tool that supports multiple formats including images, documents, audio, and video files. Now fully deployable on Vercel with serverless functions!
- Multi-format Support: Convert between images (PNG, JPG, WebP, GIF, etc.), documents (PDF, TXT), audio (MP3, WAV), and video formats
- Drag & Drop Interface: Easy-to-use interface with drag and drop functionality
- Real-time Progress: Track conversion progress with live updates
- Batch Processing: Convert multiple files at once
- Client-side Processing: Image conversions happen locally for privacy and speed
- Modern UI: Clean, responsive design built with React and Tailwind CSS
- Serverless Architecture: Fully deployable on Vercel with serverless functions
- Frontend: React, Vite, Tailwind CSS, Radix UI
- Backend: Node.js Serverless Functions (Vercel)
- File Processing: Client-side Canvas API for images, server simulation for other formats
- Deployment: Vercel (Full Stack)
- Node.js 18+
- Yarn or npm
- Clone the repository:
git clone <repository-url>
cd fileswitch- Install dependencies:
# Frontend dependencies
cd frontend
yarn install
# API dependencies
cd ../api
npm install- Start the development servers:
Frontend:
cd frontend
yarn dev- Open http://localhost:3000 in your browser
- Using the deployment script:
./deploy.sh- Manual steps:
# Install Vercel CLI
npm install -g vercel
# Login to Vercel
vercel login
# Deploy
vercel --prod- Environment Variables (Optional):
VITE_MAX_FILE_SIZE: Maximum file size in bytes (default: 104857600 = 100MB)
- PNG ↔ JPG ↔ WebP ↔ GIF ↔ BMP
- Real-time conversion with progress tracking
- PDF → PNG/TXT
- TXT → PDF/HTML
- MP3 ↔ WAV ↔ AAC
- MP4 → PNG (first frame)
- AVI/MKV/MOV → PNG/GIF
- Frontend: React app running on localhost:3000
- Backend: Python FastAPI on localhost:8001 (optional)
- Frontend: Static React build served by Vercel
- Backend: Node.js serverless functions in
/apidirectory - File Storage: Temporary storage in
/tmp(Vercel limitation)
fileswitch/
├── frontend/ # React frontend
├── api/ # Vercel serverless functions
├── backend/ # Python backend (development only)
├── vercel.json # Vercel configuration
├── deploy.sh # Deployment script
└── README.md
- No tracking or analytics
- Files processed locally (images) or temporarily (other formats)
- Automatic cleanup of temporary files
- Open source - audit the code yourself
Chrome 90+, Firefox 88+, Safari 14+, Edge 90+
- Fork the repository
- Create a feature branch
- Make your changes
- Test locally with
yarn dev - Deploy to Vercel for testing
- Submit a pull request
MIT License - see LICENSE file for details