Files
k-convert/README.md

57 lines
1.6 KiB
Markdown

# K-Convert
A privacy-first file converter that runs entirely in your browser using WebAssembly. No uploads, no servers—your files never leave your device.
## Features
- **100% Client-Side** — All conversions happen locally using WASM
- **Image Conversion** — JPEG, PNG, WebP, GIF, BMP, TIFF, HEIC, ICO, AVIF, JXL, SVG, PSD, RAW, TGA
- **Audio Conversion** — MP3, WAV, OGG, M4A, FLAC, AAC, AIFF, ALAC, WMA, Opus, M4R, AMR
- **Drag & Drop** — Simple file upload with batch support
- **Progress Tracking** — Real-time conversion progress
- **Dark Mode** — Beautiful dark theme enabled by default
## Tech Stack
- **Frontend:** React + TypeScript + Vite
- **UI:** Shadcn UI + Tailwind CSS
- **Image Processing:** [ImageMagick WASM](https://github.com/dlemstra/magick-wasm)
- **Audio Processing:** [FFmpeg WASM](https://github.com/nicholasrobinson/ffmpegwasm/ffmpeg.wasm)
- **HEIC Support:** [heic2any](https://github.com/nicholasrobinson/heic2any)
## Getting Started
```bash
# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build
```
## Architecture
The app uses a Worker-Broker model for efficient processing:
```
Main Thread (UI) ←→ ConversionBroker ←→ Web Workers (WASM)
```
- **Image Worker** — Handles all image conversions via ImageMagick WASM
- **Audio Worker** — Handles all audio conversions via FFmpeg WASM
- **Adapters** — Clean abstractions for each conversion type
## Browser Requirements
Requires a modern browser with:
- WebAssembly support
- Web Workers
- SharedArrayBuffer (for FFmpeg)
## License
MIT License - see [LICENSE](LICENSE) for details.