updated Aug 12, 2026 87.8MB file size 171.7K downloads

FFmpeg is the open source multimedia framework that sits underneath most video software, decoding, encoding, transcoding, filtering and streaming almost every format ever made from a command line, free under the GPL.

It decodes, encodes, transcodes, muxes, demuxes, filters, streams and plays back virtually every audio and video format ever created.

Most of the video software on your PC already runs it in the background, including HandBrake and yt-dlp.

Installing it yourself gives you the same engine those tools rely on, with nothing sitting in front of it.

There is no setup wizard and no window. You get three small programs - ffmpeg.exe for processing, ffprobe.exe for inspecting files and ffplay.exe for playback - and you drive them from a command prompt. Version 9.0.1 is the current stable release.

Which FFmpeg Build Should You Download?

The FFmpeg download page lists builds from the two compilers the FFmpeg project itself points people to: GyanD and BtbN.

Both compile 64-bit Windows binaries from the same official source, so the difference is not quality. It comes down to what is bundled, how the build is licensed, and how often it is rebuilt.

Neither project ships a 32-bit Windows build, so a 64-bit version of Windows is required either way.

GyanD Builds, the Default Choice for Most People

GyanD publishes two variants. Essentials carries the commonly used libraries and covers nearly every conversion, encoding and streaming job people actually do. Full adds most of the remaining optional libraries, including AviSynth+ input and the wider set of hardware and image codecs.

Each variant then comes in two flavours. The release builds are cut from the current stable branch, while the git builds are built from the development branch and carry features that have not reached a numbered release yet.

Worth knowing: GyanD actually recommends the git builds over the release builds, on the grounds that FFmpeg releases exist for the convenience of Linux distributions and package managers rather than as a stability milestone.

All GyanD builds are static and licensed as GPLv3, so there is no LGPL option from this compiler. Both variants ship as .7z and .zip archives - take the .7z if you have 7-Zip installed, otherwise use the .zip.

BtbN Builds, for Automation and Commercial Use

BtbN rebuilds FFmpeg daily and publishes under stable, predictable filenames, which is exactly what a script or a CI pipeline wants. Two licensing variants are on offer, and the difference between them is not cosmetic.

  • GPL - includes the GPL-licensed encoders, x264 and x265 among them, giving you the widest encoding coverage for personal and open source work.
  • LGPL - drops the GPL-only libraries, which in practice means no x264 and no x265, in exchange for being safe to bundle inside closed-source software.

If you are shipping FFmpeg inside a product you sell, the LGPL build is the one your lawyer will ask for. If you are converting your own files, the GPL build is strictly more capable.

Which Windows Versions Still Work

The two projects do not agree here, so it is worth being precise. GyanD states Windows 7 and above for everything it publishes, with no split between essentials and full.

BtbN targets Windows 7 and newer only when the UCRT update is installed, and formally supports nothing older than Windows 10 22H2. Older systems may still run those builds, but they are not covered.

On Windows 7 or 8, take a GyanD release essentials build and skip BtbN entirely.

Quick Selection Guide

What you need Build to pick Why
Everyday converting and encoding GyanD release essentials Smallest download, covers almost everything
Rare codecs, extra filters, AviSynth+ input GyanD release full Adds the optional libraries essentials leaves out
New features as soon as they land GyanD git essentials or full Built from the development branch, ahead of any release
Scripts, scheduled jobs, CI pipelines BtbN GPL Daily rebuilds under filenames that never change
Bundling inside software you sell BtbN LGPL No GPL libraries, so no x264 and no x265
Windows 7 or Windows 8 GyanD release essentials The only builds whose vendor still states Windows 7 support
Staying on the older 8.x branch GyanD 8.1.2 build Last 8.x build kept on the download page

What FFmpeg Is Used For

FFmpeg covers the whole media pipeline, from the source file to the finished output.

Conversion and transcoding. Almost any container and codec combination works, whether that is MP4 to MKV, AVI to HEVC or MOV to WebM, in a single command.

If you would rather click than type, HandBrake and Shutter Encoder both wrap the same engine in a drag-and-drop interface.

Encoding with external encoders. FFmpeg hands off to standalone encoders such as x265 for high-quality HEVC and SVT-AV1 for AV1.

It can also push the work onto your graphics card instead, through NVEnc on NVIDIA hardware, which trades a little quality for a large jump in speed.

FastFlix and StaxRip put a front end on that same setup if the command line is not for you.

Filtering and frameserving. For scripted filtering, AviSynth+ can serve processed frames straight into FFmpeg for the final encode. It is the usual answer for deinterlacing, denoising and resizing work that needs frame-level control.

Downloads and stream merging. yt-dlp calls FFmpeg automatically whenever it has to join a separate video and audio stream into one file. Without FFmpeg on your PATH, it simply leaves you the pieces.

Container work without re-encoding. To add subtitles, strip an audio track or join clips losslessly, pair FFmpeg with MKVToolNix. For trimming with a timeline in front of you, LosslessCut drives FFmpeg under the hood.

Recording, streaming and serving. OBS Studio uses FFmpeg in its recording and output pipelines, and Jellyfin Server uses it for every transcode it sends to a client.

For quick cuts and format changes after a recording session, AviDemux is a lighter FFmpeg-backed editor. Older AVI projects are still VirtualDub2 territory.

How to Install FFmpeg on Windows

  1. Download your chosen build and extract the archive somewhere permanent, such as C:\ffmpeg.
  2. Add the bin subfolder to your PATH: open System Properties, then Advanced, then Environment Variables, edit Path under System variables and add C:\ffmpeg\bin.
  3. Open a new Command Prompt and run ffmpeg -version. If it prints a version number, you are done.

Do the PATH step. Once FFmpeg is on your PATH, every tool that depends on it finds it automatically - yt-dlp, FastFlix, StaxRip and the rest - with nothing else to configure.

Who Should Look Elsewhere

The tell is simple: if you opened this page hoping for a window with an Open button, FFmpeg on its own will frustrate you. There is no interface to learn, only options to look up.

For a queue of files and a quality slider, start with HandBrake instead. For a single audio file you need converting right now, the site's online audio converter does it in the browser with nothing to install.

If you are not sure what your file even contains, the Codec Finder will tell you before you go any further. Our guide on when a command line beats a GUI is worth a read if you are still deciding.

What Changed in FFmpeg 9.0

  • 9.0.1, 12 August 2026 - point release on the 9.0 branch, bug and security fixes only, no new features.
  • 9.0 "Lei", 4 August 2026 - native animated WebP decoding at last, TLS certificate verification enabled by default, a rewritten swscale with a Vulkan backend, Dolby Vision Profile 7 layer splitting and an ONNX Runtime backend for the DNN filters.
  • 9.0 removals - the deprecated -vsync, -top and -filter_complex_script options are gone, along with the OpenMAX encoders and the NPP filters.
  • 8.1.2 "Hoare", 17 June 2026 - maintenance release on the 8.1 branch.
  • 8.0.3 "Huffman", 18 June 2026 - maintenance release on the long-lived 8.0 branch.

Check your scripts before upgrading. Version 9.0 removed -vsync in favour of -fps_mode and now verifies TLS certificates by default, so an old batch file that talks to a server with a broken certificate will stop working rather than warn you.

Quick questions

Is FFmpeg really free?

Yes. FFmpeg is open source with no paid tier, no trial and no feature you have to unlock, and the Windows builds here are licensed as GPLv3 or LGPL depending on which one you take.

Which file should I download if I just want to convert videos?

The GyanD release essentials .zip. It is the smallest download, it handles the overwhelming majority of conversion work, and it needs no extra software to open.

Do I need to install FFmpeg?

There is no installer. You extract the archive, add the bin folder to your PATH, and that is the whole process.

What is the difference between the git and release builds?

Release builds come from the current stable branch and change slowly. Git builds come from the development branch, so they get new features first and are the ones the compiler himself recommends.

Does FFmpeg still work on Windows 7?

GyanD states Windows 7 and above for its builds, so take one of those. BtbN only guarantees Windows 10 22H2 and later, so it is the wrong choice on an older machine.

Do I need FFmpeg if I already have HandBrake?

Not for ordinary conversions, since HandBrake carries its own copy. You want FFmpeg separately when a tool such as yt-dlp asks for it, or when you need something the GUI does not expose.

Still weighing it against a paid encoder? Our comparison of FFmpeg against Adobe Media Encoder covers where each one wins, and StaxRip against HandBrake does the same for the two most popular front ends.

Download FFmpeg 9.0.1 and see how it handles your files, or tell us how you got on if you have used it before.

WA
WashedUpAudio
on 07 January 2026
Review #1
Wonderful. I use it to run a Drag'n'Drop .bat script (created in chatGPT4) to convert any video format/codec to streaming FROM Telegram format without needing to download it from Telegram first. Copy below text to a .txt file on your desktop on PC only and rename the extension to .bat , then Drag'n'Drop your video onto it and it will convert automatically leaving the streaming version in the same folder as the original. Easier than Handbrake tool:

@echo off
setlocal enabledelayedexpansion

:: Drag-and-drop batch script for FFmpeg
:: Converts any video to Telegram-ready .mp4

if "%~1"=="" (
echo Drag and drop a video file onto this script to convert it.
pause
exit /b
)

set "input=%~1"
set "name=%~n1"
set "ext=%~x1"
set "dir=%~dp1"
set "output=%dir%%name%_telegram.mp4"

echo Converting "%input%" to "%output%"...
ffmpeg -i "%input%" -c:v libx264 -preset fast -crf 23 -c:a aac -b:a 128k -movflags +faststart "%output%"
echo Done!
pause
ST
Steve
on 26 April 2025
Review #2
Cool very helpful works great
Share your thoughts on FFmpeg 9.0.1 2026-08-12.
Verification Code
Click the image or refresh button to get a new code.
Quick heads up: Reviews & comments get a fast check before posting - no spam allowed.
ALTERNATIVES TO FFMPEG