Skip to content

Repository files navigation

Chameleon

Chameleon logo

MIT License Tauri Svelte Rust Conventional Commits

A cross-platform file converter and compressor built with Tauri, SvelteKit, and Rust.

Convert and compress documents, images, videos, audio, and archives — all locally on your machine. No uploads, no cloud, no data leaves your computer.

Features

  • Convert between 30+ file formats across Documents, Images, Videos, Audio, and Archives
  • Compress files to reduce size while maintaining quality
  • Batch processing — convert/compress multiple files at once
  • Drag & drop support for quick file loading
  • Dark theme with Light, Charcoal, Black, and System modes
  • 100% local — no data ever leaves your device

Supported Formats

Category Input Output
Documents PDF, DOCX, XLSX, PPTX, TXT, MD, HTML, CSV PDF, DOCX, TXT, MD, HTML, ODT, EPUB, CSV, JSON
Images JPG, PNG, WebP, GIF, BMP, TIFF, SVG JPG, PNG, WebP, GIF, BMP, TIFF, ICO, SVG, PDF
Videos MP4, MKV, AVI, MOV, WebM MP4, MKV, AVI, MOV, WebM (plus audio extraction)
Audio MP3, WAV, AAC, FLAC, OGG, M4A MP3, WAV, AAC, FLAC, OGG
Archives ZIP, TAR, 7Z, RAR ZIP, TAR, 7Z (extract or convert)

Installation

Download the latest installer from the Releases page.

Build from Source

Prerequisites:

# Clone the repository
git clone https://github.com/fazelllyyy/chameleon.git
cd chameleon

# Install frontend dependencies
bun install

# Run in development mode
bun run tauri dev

# Build for production
bun run tauri build

Note: FFmpeg and Pandoc binaries are bundled with the app. See src-tauri/binaries/ for details.

Tech Stack

  • Frontend: SvelteKit 5, TypeScript, Tailwind CSS 4
  • Backend: Rust, Tauri 2
  • Conversion: FFmpeg, Pandoc, image crate, lopdf, office2pdf, vtracer, calamine, zip, tar, sevenz-rust2

Project Structure

src/                    # SvelteKit frontend
  lib/
    components/         # UI components
    constants.ts        # Format mappings & configuration
    store.ts            # Svelte stores (state management)
  routes/               # App pages
src-tauri/              # Rust backend
  src/
    converters/         # Conversion/compression modules
      image.rs          # Image processing
      ffmpeg.rs         # Media (video/audio) processing
      document.rs       # Document conversion (Pandoc, office2pdf)
      pdf.rs            # PDF manipulation
      archive.rs        # Archive extraction & compression
      svg.rs            # SVG rendering
      excel.rs          # Excel/CSV conversion
  binaries/             # Bundled sidecar binaries
  capabilities/         # Tauri security capabilities

License

MIT © 2026 Zulfazli (Fazelllyyy). See LICENSE for details.

About

A cross-platform file converter and compressor built with Tauri, SvelteKit, and Rust. Convert and compress documents, images, videos, audio, and archives — all locally on your machine. No uploads, no cloud, no data leaves your computer.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages