Skip to content
Sandeepv68Public

About

A free and open-source multimedia toolkit built on FFmpeg. Convert, compress, extract, cut and batch-process audio, video and images, or drive the same engine from the CLI, an MCP server or the AI Copilot.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

20 stars

Watchers

1 watching

Forks

Latest commit

 

History

187 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EncodeX Logo

FFmpeg power. Without the command line.

EncodeX — the free, open-source FFmpeg GUI for Windows, macOS & Linux.

Download · Website · Documentation

Ask DeepWiki CI codecov License Release Downloads Stars Forks Watchers Issues Pull Requests Last Commit Contributors Repo Size Languages Top Language TypeScript Electron React Vite MUI FFmpeg Vitest Node.js PRs Welcome

👋 Introduction

EncodeX brings the full power of FFmpeg to a modern, intuitive desktop app — no command line required. Convert video and audio between formats, extract music from videos, trim clips, compress images, and batch-process whole folders. Developer? The same engine is available headless through the EncodeX CLI.

Want an AI assistant to do the work? EncodeX also ships a built-in MCP server, so tools like Claude Desktop, Cursor, VS Code, and custom agents can convert and manage your media for you over the Model Context Protocol — still entirely on your own machine.

Conversion runs locally on your computer — no accounts, no media uploads, no watermarks, no subscriptions. The Copilot assistant contacts a cloud AI provider only if you configure one.

Why EncodeX?

  • ✅ Free forever — open source (MIT), no paid tier
  • ✅ Local conversion — media is processed on your machine
  • ✅ No account, no sign-up
  • ✅ Opt-out telemetry — error reporting and usage analytics are on by default and can be turned off in Settings
  • ✅ No watermarks, no file-size limits, no ads
  • ✅ FFmpeg powered — 51 video codecs, 27 audio codecs, 56 pixel formats
  • ✅ Hardware acceleration — NVIDIA, Intel, AMD, Apple Silicon for fast encodes
  • ✅ Batch processing — convert whole folders at once
  • ✅ AI-ready MCP server — drive EncodeX from Claude, Cursor, VS Code, and custom agents
  • ✅ Cross-platform — Windows, macOS, and Linux (x64 and arm64)
  • ✅ 56 locales with RTL support

✨ Features

  • 🔄 Media Conversion — 51 video codecs, 27 audio codecs, 56 pixel formats with codec/bitrate/scale/quality controls
  • 🌀 Rotation & Mirror — Rotate videos and images 90°, 180°, or 270° clockwise and flip them horizontally or vertically; in stream-copy mode, MP4/MOV/MKV outputs store rotation as lossless metadata
  • 🎛️ Conversion Profiles — 115 pre-configured presets across 8 categories (YouTube, Instagram, TikTok, Apple, Android, ProRes, HLS, and more) with custom profile creation and recently-used tracking
  • ⚡ Hardware Acceleration — NVIDIA NVENC, Intel QSV, AMD AMF, VAAPI, Apple VideoToolbox, Media Foundation, auto-detected
  • ✂️ Video Cutting — Frame-accurate trimming with a built-in player (rawvideo + PCM pipes, Canvas + Web Audio) and zoomable timeline (waveform + thumbnail montage)
  • 🤖 Copilot — AI assistant page (/copilot) with 13 operations; AI provider is rules (offline, default), OpenAI, Anthropic, Gemini, or a local model
  • 🎞️ Remux & Demux — change containers with stream copy, add subtitles, audio, cover art, or chapters, or extract individual streams
  • 🎛️ Video Filters — 8 filter presets (crop, framerate, deinterlace, denoise, sharpen, color, grayscale, blur) plus custom filter chains
  • 🧭 Getting Started — dashboard card with six goals: Ask Copilot, Convert, Compress, Extract audio, Trim, Remux
  • 📜 Terms & Conditions — a first-run terms dialog gates the app
  • 📋 Batch Queue — Parallel processing (up to 4 concurrent jobs, default 1) with real-time progress, per-job errors, pause/resume, drag-and-drop reordering, job option editing, status filters, JSON export/import, and when-done power actions (shutdown/sleep/hibernate)
  • 🖼️ Image Compression — JPEG/PNG/WebP/BMP/GIF/TIFF with quality/scale, EXIF viewer, RGB/luma histograms
  • 🎵 Audio Extraction — Any of 27 audio codecs from any video file
  • ℹ️ Media Info — Full per-stream probe: codec, profile, resolution, color metadata, frame rate, etc.
  • ⌨️ CLI Mode — Headless scripting with subcommands (convert, info, capabilities, compress, extract-audio, remux, demux, batch)
  • 🤖 MCP Server — Built-in Model Context Protocol server: 36 model-visible tools, 3 resources, and 4 prompts over stdio (encodex --mcp), plus an optional embedded localhost HTTP endpoint (off by default) that adds 6 GUI-parity tools (live queue, preview, timeline, system info, updates) for 42 model-visible tools in total. Run one-off conversions or manage async jobs from Claude Desktop, Claude Code, Cursor, VS Code, or any MCP client
  • ⚙️ 3 Transcoder Cores — FFmpeg API (fluent-ffmpeg), FFmpeg CLI (child_process), BMF Framework
  • 🌍 56 Locales — with RTL support (Arabic, Hebrew)
  • ⌨️ Keyboard Shortcuts — 82 shortcuts in 11 help sections, with an in-app help dialog (Ctrl+/)
  • 🔄 In-App Updates — Checks GitHub Releases, downloads the platform installer when you ask (never installed automatically), real-time progress
  • 🛡️ Error Handling — 28 typed error codes, global snackbar, inline banners, React error boundaries
  • 🌗 Dark/Light Theme — System-aware with manual toggle, persistent preferences

See docs/FEATURES.md for the full feature breakdown, supported formats, and codec lists.

📸 Screenshots

Home Dashboard

🏠 Home Dashboard

Media Conversion
🔄 Media Conversion
Audio Extraction
🎵 Audio Extraction
Video Cutting
✂️ Video Cutting
Image Compression
🖼️ Image Compression
Batch Queue
📋 Batch Queue
Media Info
ℹ️ Media Info

💻 CLI Usage

Simple enough for everyday users. Powerful enough for developers. The GUI and CLI share the same engine:

encodex convert input.mp4 output.avi --video-codec libx265 --audio-codec aac
encodex info input.mp4 --json
encodex compress photo.png -f jpg -q 30
encodex extract-audio input.mp4
encodex batch 'videos/**/*.mov' --concurrency 2 --output-dir converted

# Run as an MCP server for AI assistants and automation
encodex --mcp

See docs/CLI.md for all subcommands, options, and exit codes.

📥 Downloads

Pre-built installers are available on the Releases page — or the friendly version at encodex.in/download.

macOS

EncodeX releases are not code-signed and not notarized (no Apple Developer account). macOS Gatekeeper will block the app on first open.

Option 1 — Right-click to open:

  1. Right-click (or Control-click) the EncodeX app and select Open
  2. Click Open in the confirmation dialog

Option 2 — Remove quarantine via Terminal:

xattr -cr /Applications/EncodeX.app

Windows

Download the .exe installer from the Releases page and run it.

EncodeX releases are not code-signed, so Windows SmartScreen may show a "Windows protected your PC" warning with an "Unknown publisher" message. This is expected and does not mean the download is corrupt.

To run the installer:

  1. Click More info in the SmartScreen warning
  2. Click Run anyway

SmartScreen cannot confirm who published the file, because there is no code signature on the build.

Linux

Download the .AppImage installer from the Releases page and run it.

📌 Prerequisites (for contributors)

  • Node.js 22+
  • FFmpeg — bundled via ffmpeg-static; falls back to system ffmpeg if the bundled binary is unavailable

🚀 Install (from source)

npm install

🧑‍💻 Development

# Start Vite dev server + tsc watch (no Electron window)
npm run dev

# Full dev environment with Electron window
npm run electron:dev

# Quick start (build then launch)
npm run dev:start

npm run dev starts two processes concurrently:

  1. Vite — serves the React renderer on http://localhost:5173 with HMR
  2. tsc — watches and compiles the main process TypeScript to dist/main/

npm run electron:dev waits for Vite to be ready, compiles both main and preload, then launches Electron with the --dev flag pointing at the Vite dev server URL. DevTools open automatically.

🔨 Build

# Production build (renderer + main + preload)
npm run build

# Package for current platform (no installer)
npm run pack

# Create distributable installer
npm run dist
Script Description
npm run dev:renderer Vite dev server only
npm run dev:main tsc -p tsconfig.main.json --watch
npm run build:renderer Vite production build — outputs to dist/renderer/
npm run build:main tsc -p tsconfig.main.json — outputs to dist/main/
npm run build:preload tsc -p tsconfig.preload.json — outputs to dist/preload/
npm run build All three in sequence
npm run start Launch compiled app from dist/ via electron .
npm run electron:dev Vite + Electron dev environment
npm run dev:start Build then launch
npm run format prettier --write on TypeScript/JS in src, e2e, perf, scripts, bin, and root
npm run format:check prettier --check on the same patterns
npm run pack Build + electron-builder --dir
npm run dist Build + electron-builder (NSIS/DMG/AppImage)

🧪 Testing

npm test           # Run unit tests (314 test/spec files under src/)
npm run test:watch
npm run test:coverage
npm run test:unit
npm run test:integration
npm run test:e2e   # Requires build

See docs/TESTING.md for the full test suite breakdown, test setup, and E2E specs.

🌐 Website & Docs

📚 Documentation

Document Description
docs/FEATURES.md Features, supported media formats, codec tables, validation utilities
docs/CLI.md CLI usage, subcommands, all option tables, exit codes
docs/MCP.md MCP server tool catalogue, client configs, embedded HTTP server, security
docs/TESTING.md Test suite, test setup, E2E specs
docs/IPC.md IPC channels, electronAPI bridge, all methods and events
docs/PROJECT_STRUCTURE.md Full directory tree with annotations
docs/ARCHITECTURE.md Internal architecture overview and links to deep dives
docs/ARCHITECTURE_PROCESSES.md Process model, build system, startup sequence, CLI mode
docs/ARCHITECTURE_TRANSCODERS.md Transcoder abstraction, FFmpeg/BMF cores, hardware acceleration
docs/ARCHITECTURE_RENDERER.md Render tree, pages, stores, queue, player, i18n, theming
docs/UPDATE_MANAGER.md In-app update manager implementation details
Wiki Community wiki (mirrors the docs in a browsable form)
CONTRIBUTING.md Contribution guidelines
SECURITY.md Vulnerability reporting
CODE_OF_CONDUCT.md Code of conduct

🧰 Tech Stack

EncodeX tech stack

🤝 Contributing

See CONTRIBUTING.md for guidelines. All contributions are welcome — please open an issue first for significant changes.

This project is governed by a Code of Conduct.

🔒 Security

Report security vulnerabilities to the project maintainers via the security advisory process. See SECURITY.md.

📄 License

MIT

About

A free and open-source multimedia toolkit built on FFmpeg. Convert, compress, extract, cut and batch-process audio, video and images, or drive the same engine from the CLI, an MCP server or the AI Copilot.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

20 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages