Skip to content

FFmpeg Web CLI

Browser-based video editor powered by ffmpeg.wasm. Convert, trim, compress, and add effects.

Not yet verified
Report issueDemo online
tejaswigowda/ffmpeg-webCLIGPL-3.0★ 1100

Open the official app on tejaswigowda.com

This tool is hosted by its maintainers. Click below to open tejaswigowda.com in a new tab — it's their official demo.

Browse converters tools →

What's next with FFmpeg Web CLI?

Choose how you want to get started.

Use it free

Open the official tool or demo — no account needed.

Free

Self-host it

Run the open-source version on your own infrastructure.

Open

What is FFmpeg Web CLI?

FFmpeg WebCLI is an open-source, browser-based video editor powered by ffmpeg.wasm, created by Tejaswi Gowda. Licensed under the GPL-3.0 license and boasting 1100 stars on GitHub, it solves the privacy and security issues inherent in cloud-based conversion tools like CloudConvert, Kapwing, Ezgif, and Otter. While traditional cloud tools require uploading files to external servers where they are exposed to data breaches, subpoenas, and shifting privacy policies, FFmpeg WebCLI ensures all video processing happens entirely on your device with zero data collection. The tool offers over 30 video operations, including format conversion, GIF creation, compression, trimming, effects, filters, and auto-captioning. It supports multi-format handling for MP4, WebM, MKV, MOV, AVI, GIF, MP3, AAC, WAV, OGG, FLAC, JPG, and PNG. Advanced capabilities include raw ffmpeg command access, subtitle embedding, concatenation, picture-in-picture, and audio mixing. Furthermore, it features batch processing for handling multiple files or entire operation chains at once, real-time progress tracking, per-file previews, individual downloads, ZIP-all options, and graceful fallbacks. The application operates as an offline-first PWA, includes a Screen Wake Lock to keep screens active during processing, and delivers fast, responsive background performance using Web Workers.

How it works

FFmpeg WebCLI is an open-source project built around ffmpeg.wasm, leveraging WebAssembly to run multimedia processing code directly within web browsers. It utilizes Web Workers for background processing to keep the UI fast and responsive. The application runs as an offline-first Progressive Web App (PWA), enabling it to function completely offline after the initial load. Operationally, it makes use of SharedArrayBuffer, which requires hosting environments to serve content with specific security headers: Cross-Origin-Opener-Policy (COOP) set to same-origin and Cross-Origin-Embedder-Policy (COEP) set to require-corp. Developers can run the tool locally by cloning the GitHub repository and using Node.js via server.js or an npx static server to serve the docs/ directory with the required headers.

How to use it

  1. 1Open the FFmpeg Web CLI page
  2. 2Use the tool directly in your browser
  3. 3Results appear instantly — no waiting, no downloads

What it can do

  • Conversion
  • Optimization

Use cases

Assumptions and limitations

Assumptions

  • source: https://github.com/tejaswigowda/ffmpeg-webCLI
  • license: GPL-3.0 — free to use
  • privacy: Opens an external demo

Limitations

  • Requires a browser and environment that supports SharedArrayBuffer, necessitating specific Cross-Origin headers (COOP/COEP) if self-hosted.
  • Processing heavy video tasks depends entirely on the local device's CPU and hardware capabilities via WebAssembly.
  • Works completely offline only after the initial online load fetches and caches the ffmpeg assets.
  • Installation as a native-like app is dependent on browser support for Progressive Web Apps (PWAs).

Understanding the result

Browser-based video editor powered by ffmpeg.wasm. Convert, trim, compress, and add effects.

Tool details

  • Clearly flagged when a network request is needed.
  • No account, no sign-up, and no tracking of your content.
  • Powered by ffmpeg-webCLI (GPL-3.0).
Built with
ffmpeg-webCLI (tejaswigowda/ffmpeg-webCLI)
License
GPL-3.0
Runs locally
No — requires a network request
Verification
Not yet verified
Input
Text Input
Output
Converted Output, Compressed File
Open-source source & license

Built with tejaswigowda/ffmpeg-webCLI. OpenToolVault provides the discovery and browser interface while crediting the original project maintainers.

Built with
ffmpeg-webCLI
License
GPL-3.0
View source on GitHub

Open-source project

OpenToolVault is an independent directory. We are not affiliated with or endorsed by this project.

References

Frequently asked

How does FFmpeg WebCLI process videos without uploading them to a server?

It uses ffmpeg.wasm, running WebAssembly and Web Workers directly in your browser so that all video processing happens entirely on your local device.

What server headers are required if I want to host FFmpeg WebCLI locally?

You must serve the docs/ folder with a server that sets Cross-Origin-Opener-Policy: same-origin and Cross-Origin-Embedder-Policy: require-corp headers, which are required for SharedArrayBuffer.

Can I process multiple files or execute complex workflows at once?

Yes, it supports batch processing where you can apply the same operation or an entire operation chain to multiple videos, complete with real-time progress and a ZIP-all download option.

How does FFmpeg WebCLI compare to cloud converters like CloudConvert or Kapwing?

Unlike cloud tools that upload your files to external servers and expose them to data breaches or shifting privacy policies, FFmpeg WebCLI performs all conversions locally in your browser for free with zero data collection.

What happens to my screen while a long video is processing?

The app includes a Screen Wake Lock feature that automatically keeps your device's screen active during video processing to prevent interruptions.

Spotted something wrong with FFmpeg Web CLI, or want to maintain it? See how to help.