Convert Stereo Audio to Mono Using FFmpeg

This article provides a quick guide on how to convert stereo audio files to mono format using the FFmpeg command-line tool on Linux. You will learn the most efficient commands to downmix your channels, understand how the conversion parameters work, and discover how to batch-process multiple files at once.

Converting stereo audio to mono is a common task when you need to reduce file size, prepare audio for specific single-channel playback systems, or fix phase issues. FFmpeg handles this seamlessly by mixing the left and right channels into a single, balanced channel.

The Standard Downmix Command

The most reliable way to convert a stereo file to mono without losing audio information from either channel is by using the -ac 1 option. This tells FFmpeg to set the audio channels to one, automatically mixing the left and right channels together.

ffmpeg -i input.mp3 -ac 1 output.mp3

In this command:

Advanced Control Using Audio Filters

If you need more precise control over how the channels are mixed, you can use FFmpeg’s audio filter (-af) flag with the pan filter. This is highly useful if you only want to keep the audio from one specific side (for example, just the left channel) instead of mixing them together.

To keep only the left channel and discard the right:

ffmpeg -i input.wav -af "pan=mono|c0=FL" output.wav

To keep only the right channel and discard the left:

ffmpeg -i input.wav -af "pan=mono|c0=FR" output.wav

Batch Converting Multiple Files

If you have an entire folder of stereo tracks that need to be converted on Linux, you can combine FFmpeg with a standard bash loop to process them all automatically.

for file in *.mp3; do ffmpeg -i "$file" -ac 1 "mono_${file}"; done

This loop looks for every .mp3 file in your current working directory, applies the mono conversion, and saves a new version prefixed with “mono_”, leaving your original stereo files completely untouched.