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...
Overview
FFmpeg power. Without the command line. EncodeX — the free, open-source FFmpeg GUI for Windows, macOS & Linux. Download · Website · Documentation EncodeX brings the full power of 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 . Want an AI assistant to do the work? EncodeX also ships a built-in , 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. Everything runs — no accounts, no uploads, no watermarks, no subscriptions.
README
👋 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 isrules(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
💻 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:
- Right-click (or Control-click) the EncodeX app and select Open
- 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:
- Click More info in the SmartScreen warning
- 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 systemffmpegif 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:
- Vite — serves the React renderer on
http://localhost:5173with HMR - 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
- encodex.in — product site, features tour, and release blog
- Guides — FFmpeg GUI, Video converter, Compressor, Extract audio
📚 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
🤝 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
Install
This server does not publish a one-line install command.
Open the repository installation guide New to MCP? Start with the mcpskill.org guide →