What FFmpeg is and why you need it
FFmpeg is a free command-line tool that converts, edits, and plays audio and video files. It handles nearly every media format — MP4, MKV, WAV, FLAC, and hundreds of others — and runs on Windows, Mac, and Linux. Most people install it because they need to convert video files, trim audio, change resolution, or combine media files, often as part of a larger workflow or script.
FFmpeg itself has no graphical interface. You run it by typing commands into a terminal or command prompt. That means installation is straightforward — you download a file, put it in the right place, and verify it works. This guide walks through the steps for each operating system.
Key Takeaways
- FFmpeg is a free command-line tool for converting and editing audio and video files across Windows, Mac, and Linux.
- On Windows, download the build from ffmpeg.org, extract the folder, and add its location to your system PATH so you can run it from any terminal.
- On Mac, the easiest route is Homebrew, a package manager that installs FFmpeg and handles updates automatically.
- On Linux, use your distribution's package manager — apt on Ubuntu and Debian, dnf on Fedora — to install in one command.
- After installation, open a terminal and type ffmpeg -version to confirm it works.
Installing FFmpeg on Windows
Download a pre-built FFmpeg binary from ffmpeg.org. Go to the Downloads page, select Windows builds, and choose either the full or essentials version. The full version includes more libraries; essentials is smaller and sufficient for most tasks. Download the ZIP file.
Extract the ZIP file to a folder on your computer. A common location is C:\ffmpeg. Inside you will find three folders: bin, doc, and presets. The bin folder contains the actual ffmpeg executable.
Add FFmpeg to your system PATH so you can run it from any terminal window. Right-click This PC or My Computer, select Properties, then click Advanced System Settings. Click Environment Variables at the bottom. Under System Variables, find the variable named Path, select it, and click Edit. Click New and type the full path to your FFmpeg bin folder — for example, C:\ffmpeg\bin. Click OK three times to close all windows.
Open a new Command Prompt or PowerShell window and type ffmpeg -version. If installation worked, you will see the version number and build information. If you see "ffmpeg is not recognized", the PATH was not set correctly — go back and check the folder path you entered.
Installing FFmpeg on Mac
The easiest method on Mac is Homebrew, a package manager that handles installation and updates. If you do not have Homebrew installed, open Terminal and paste this command:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Follow the on-screen prompts. Once Homebrew is ready, type this command in Terminal:
brew install ffmpeg
Homebrew downloads and installs FFmpeg automatically. When it finishes, type ffmpeg -version to confirm. You should see version information and a list of enabled libraries.
If you prefer not to use Homebrew, you can download a pre-built binary from ffmpeg.org, extract it, and move the ffmpeg file to /usr/local/bin using Terminal. This requires more manual steps and does not include automatic updates, so Homebrew is the recommended approach for most users.
Installing FFmpeg on Linux
Most Linux distributions include FFmpeg in their package repositories. The installation command depends on which distribution you use.
On Ubuntu and Debian, open a terminal and type:
sudo apt update && sudo apt install ffmpeg
On Fedora, CentOS, or RHEL, type:
sudo dnf install ffmpeg
On Arch Linux, type:
sudo pacman -S ffmpeg
Your package manager downloads and installs FFmpeg and its dependencies. When the command finishes, type ffmpeg -version to verify the installation. You will see the version number and a list of enabled codecs and formats.
Verifying your installation and running a test
After installation on any operating system, open a terminal or command prompt and type ffmpeg -version. The output should show the FFmpeg version, the build date, and a list of enabled libraries. If you see this output, installation is complete.
To run a simple test, download a small video or audio file and try a basic conversion. For example, to convert an MP4 file to WebM format, type:
ffmpeg -i input.mp4 output.webm
Replace input.mp4 with the name of your actual file. FFmpeg will show progress as it converts. When it finishes, you will have a new output.webm file in the same folder. This confirms that FFmpeg can read input files, process them, and write output files.
Updating FFmpeg after installation
On Mac with Homebrew, type brew upgrade ffmpeg to update to the latest version. Homebrew checks for newer releases and installs them automatically if you run brew upgrade without specifying a package.
On Linux, use your package manager's update command. On Ubuntu and Debian, type sudo apt upgrade ffmpeg. On Fedora, type sudo dnf upgrade ffmpeg. These commands update FFmpeg along with other installed packages.
On Windows, there is no automatic update. To update, download the latest build from ffmpeg.org, extract it to a new folder, and update your PATH to point to the new bin folder. Alternatively, if you use a package manager like Chocolatey or Scoop on Windows, you can type choco upgrade ffmpeg or scoop update ffmpeg to update automatically.
Troubleshooting common installation problems
If you type ffmpeg -version and see "command not found" or "is not recognized", the PATH is not set correctly. On Windows, double-check that you added the correct folder path to your system PATH and that you opened a new terminal window after making the change. On Mac and Linux, verify that the ffmpeg binary is in a folder listed in your PATH by typing echo $PATH.
If FFmpeg installs but fails to convert files, you may be missing a required codec or library. Some distributions ship FFmpeg with a minimal set of codecs. On Linux, you can install additional codec packages — for example, sudo apt install libavcodec-extra on Ubuntu adds more audio and video codecs. Check the error message FFmpeg displays; it usually names the missing codec or format.
If you downloaded FFmpeg on Mac or Linux and it will not run, the file may not have execute permission. Open Terminal, navigate to the folder containing ffmpeg, and type chmod +x ffmpeg. This grants execute permission so you can run the program.
Frequently Asked Questions
Do I need to install FFmpeg if I only want to watch videos?
No. FFmpeg is for converting, editing, and processing media files from the command line. If you only watch videos, media players like VLC or your operating system's built-in player are sufficient. Install FFmpeg only if you need to convert formats, trim files, or automate media tasks.
Can I use FFmpeg with a graphical interface instead of the command line?
FFmpeg itself has no GUI, but many third-party applications use FFmpeg as their engine. Programs like Handbrake, OBS Studio, and Shotcut all rely on FFmpeg for encoding and conversion. If you prefer not to use the terminal, these tools provide buttons and menus instead of typed commands.
What is the difference between the full and essentials FFmpeg builds on Windows?
The full build includes additional libraries for encoding and decoding less common formats. The essentials build is smaller and covers the most widely used codecs and formats. For most users, essentials is sufficient. Download full only if you work with specialized or older video formats.
Will installing FFmpeg slow down my computer?
No. FFmpeg is a small program that runs only when you execute a command. It does not run in the background, does not consume memory when idle, and does not affect system performance. Installation takes only a few megabytes of disk space.
Can I run FFmpeg on a Chromebook or mobile device?
FFmpeg does not run natively on Chromebooks or phones. On a Chromebook, you can enable Linux support and install FFmpeg in the Linux environment. On Android or iOS, you would need a third-party app that includes FFmpeg, since you cannot install command-line tools directly.