4.6 KiB
4.6 KiB
Transmute
Universal file converter that runs entirely on your machine. No uploads, no servers, 100% private.
Transmute converts files between 70+ formats — images, documents, audio, video, data, fonts, and spreadsheets. Use it as a web app in your browser or as a CLI tool in your terminal.
Features
- 70+ formats supported — Images, documents, audio, video, data, fonts, spreadsheets
- 100% client-side — Files never leave your machine
- Web app — Beautiful browser-based interface at Transmute Web
- CLI tool — Full-featured terminal interface for power users
- Batch conversion — Convert multiple files at once
- Smart defaults — Automatically suggests the best output format
- Open source — Inspect the code, contribute, or fork
Quick Start
Web App (Browser)
Visit Transmute Web — just open in your browser and start converting. No installation needed.
CLI (Terminal)
# Install
curl -fsSL https://raw.githubusercontent.com/noauf/Transmute/main/install.sh | bash
# Start transmute
transmute
Format Support
| Category | Formats |
|---|---|
| Images | PNG, JPG, JPEG, GIF, BMP, TIFF, WebP, AVIF, ICO, PSD, HEIC, HEIF, RAW (CR2, NEF, ARW, DNG) |
| Documents | PDF, DOCX, DOC, TXT, HTML, MD, RTF, ODT, EPUB, MOBI, CSV, TSV |
| Audio | MP3, WAV, FLAC, OGG, AAC, M4A, WMA, OPUS |
| Video | MP4, WebM, AVI, MOV, MKV, GIF |
| Data | JSON, XML, YAML, TOML, CSV, TSV, SQL |
| Fonts | TTF, OTF, WOFF, WOFF2 |
| Spreadsheets | XLSX, XLS, CSV, ODS |
Installation
CLI Installation
The installer detects your OS and architecture:
curl -fsSL https://raw.githubusercontent.com/noauf/Transmute/main/install.sh | bash
Or manually:
- Download the latest release for your platform from GitHub Releases
- Extract the archive
- Move
transmuteto your PATH (e.g.,/usr/local/bin/)
Requirements:
- macOS, Linux, or Windows
- For audio/video: FFmpeg (auto-installed on first use)
Web App
No installation needed — just visit Transmute Web.
To run locally:
# Clone the repo
git clone https://github.com/noauf/Transmute.git
cd Transmute
# Install dependencies
npm install
# Run development server
npm run dev
Open http://localhost:3000 to use the app.
CLI Keybindings
When running the TUI:
| Key | Action |
|---|---|
↑/↓ or j/k |
Navigate files |
←/→ or h/l |
Change target format |
space |
Toggle file selection |
a |
Select/deselect all |
p |
Preview file |
d |
Remove file from list |
x |
Delete converted output |
c or enter |
Start conversion |
? |
Show help |
q |
Quit |
Development
Project Structure
Transmute/
├── src/ # Next.js web app
│ ├── app/ # App router pages
│ ├── components/ # React components
│ ├── hooks/ # Custom hooks
│ ├── lib/ # Utilities
│ └── types/ # TypeScript types
├── cli/ # Go CLI tool
│ ├── cmd/ # CLI commands
│ └── internal/ # Core logic
│ ├── converter/ # File conversion
│ ├── detect/ # Format detection
│ ├── ffmpeg/ # FFmpeg manager
│ ├── theme/ # TUI styling
│ └── tui/ # Bubble Tea TUI
└── public/ # Static assets
Tech Stack
- Web App: Next.js 14, TypeScript, Tailwind CSS, Framer Motion
- CLI: Go 1.25, Bubble Tea, Lip Gloss
- Conversion: FFmpeg, pdf.js, pdf-lib,libvips, and more
Building the CLI
cd cli
go build -o transmute .
License
APACHE 2.0
Contributing
Contributions are welcome! Here's how to help:
- Report bugs — Open an issue with details
- Suggest features — We'd love to hear your ideas
- Add formats — Check the converter package for where to add new format routes
- Improve the UI — The web app needs your design skills
Links
- Web App: Transmute Web
- CLI Docs: See
--helpafter installation - Issues: github.com/noauf/Transmute/issues
- Releases: github.com/noauf/Transmute/releases
Made with love. Runs on your machine.