If all you want is stereo to mono, -ac 1 is the whole answer. What’s rarely explained is how -ac 1 mixes the two channels, what changes when you write the mix yourself with pan, and why the mono file is no smaller than the stereo one. For this article we converted the same audio each way and measured the level with volumedetect to show the differences.

Verified: FFmpeg 8.1 on Windows — all 15 commands in this article were executed by the verification script and passed (2026-09-06).

Stereo → mono: -ac 1

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

To make only a video’s audio mono, leave the picture alone with -c:v copy.

ffmpeg -i input.mp4 -c:v copy -ac 1 -c:a aac output.mp4

-ac 1 adds the channels at 0.5 each

We took a stereo file with identical content on both sides (−19.1 dB), converted it to mono each way, and measured the mean volume with volumedetect.

Method Mean volume Change
Original stereo −19.1 dB
-ac 1 −19.1 dB 0
pan=mono|c0=0.5*c0+0.5*c1 −19.1 dB 0
aformat=channel_layouts=mono −19.1 dB 0
pan=mono|c0<c0+c1 −19.1 dB 0
pan=mono|c0=c0+c1 −13.0 dB +6.1 dB

-ac 1 is equivalent to “L at 0.5 plus R at 0.5” ((L+R)/2) and leaves the level alone. Writing c0+c1 in pan is a plain sum, so anything present on both sides comes out 6 dB louder.

c0+c1 clips

To see how dangerous +6 dB is, we ran c0+c1 on a stereo file peaking at −0.1 dBFS (almost full scale). volumedetect reported a maximum of 0.0 dB with 310,400 of 441,000 samples (about 70%) in the 0 dB bin — most of the audio is pinned to the ceiling and distorted.

When you add channels in pan, keep the coefficients summing to at most 1 (0.5*c0+0.5*c1) or use <.

ffmpeg -i input.mp3 -af "pan=mono|c0=0.5*c0+0.5*c1" output.mp3
ffmpeg -i input.mp3 -af "pan=mono|c0<c0+c1" output.mp3

The < in c0<c0+c1 means “normalise the coefficients so they sum to 1”, so c0+c1 becomes 0.5 each. It’s the safe choice when you want to preserve the level.

Keep only one channel

When the right channel has noise on it, or the mic only recorded on the left, send one channel to both sides.

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

That makes a mono file from the left channel (c0) alone. To stay stereo with the left on both sides:

ffmpeg -i input.mp3 -af "pan=stereo|c0=c0|c1=c0" output.mp3

Channel names FL/FR work in place of c0/c1 (pan=stereo|c0=FL|c1=FL). For a video, add -c:v copy.

ffmpeg -i input.mp4 -c:v copy -af "pan=stereo|c0=c0|c1=c0" -c:a aac output.mp4

Swap left and right

ffmpeg -i input.mp3 -af "pan=stereo|c0=c1|c1=c0" output.mp3

channelmap=map=FL-FR|FR-FL does the same but errors unless the input is actually stereo. pan works regardless of the input channel count, so it’s the one worth remembering.

Mono → stereo

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

The same signal is copied to both sides; there is no added width. The file size does not change at the same bitrate (see below). For a wider feel there are extrastereo and stereotools, but they have almost no effect on a source that was mono to begin with.

ffmpeg -i input.mp3 -af "extrastereo=m=2.5" output.mp3

extrastereo amplifies the difference between L and R: m=1 is the original, m>1 widens, m<1 narrows. It’s for making an already-stereo mix a bit wider; push it too far and the phase falls apart and centred sounds (vocals) thin out.

Split L / R into separate files and back

channelsplit has two outputs, so it goes in -filter_complex, not -af. In -af it fails with an error about filters with multiple outputs.

ffmpeg -i input.mp3 -filter_complex "channelsplit=channel_layout=stereo[left][right]" -map "[left]" left.wav -map "[right]" right.wav

To rebuild stereo from two mono files use join.

ffmpeg -i left.wav -i right.wav -filter_complex "[0:a][1:a]join=inputs=2:channel_layout=stereo[a]" -map "[a]" output.wav

amerge also combines them, but it only concatenates channels in order and carries no layout information, so you’d add -ac 2 to be explicit. This split/join pair is the entry point for processing one channel differently from the other (denoising only the left, for instance).

Fine-tune a stereo image (bleed a little L into R)

For a hard-panned source (vocals only on the left, guitar only on the right, as in some old recordings), mix a little of each side into the other.

ffmpeg -i input.mp3 -af "pan=stereo|c0=0.8*c0+0.2*c1|c1=0.2*c0+0.8*c1" output.mp3

Keep each row’s coefficients summing to 1.0 and the level stays the same.

Downmix 5.1 to stereo

For 5.1 sources such as film audio, -ac 2 uses FFmpeg’s built-in downmix coefficients, but dialogue in the centre channel can end up quiet. To bring it forward, write the coefficients yourself with pan.

ffmpeg -i input.mkv -c:v copy -af "pan=stereo|FL=0.5*FC+0.707*FL+0.707*BL+0.5*LFE|FR=0.5*FC+0.707*FR+0.707*BR+0.5*LFE" -c:a aac output.mp4

FC (centre) and LFE (bass) go to both sides at 0.5; the surrounds at 0.707 (−3 dB). The coefficients sum to more than 1, so clipping is possible in principle, but in a 5.1 mix all channels rarely peak together and these values are widely used. If in doubt, normalise with the < form (FL<...).

Why a mono file isn’t smaller

A CBR 128 kbps MP3 converted to mono came out at exactly the same 160,958 bytes (30 s). Bitrate is “data per second”, so fewer channels at the same bitrate is the same size.

To save space when going mono, lower the bitrate or use VBR. Mono needs roughly half the bitrate for the same quality, so specify -b:a 64k or -q:a 5 explicitly.

ffmpeg -i input.mp3 -ac 1 -b:a 64k output.mp3

FAQ

-ac 1 or pan=mono|c0=0.5*c0+0.5*c1?

Same result. When you’re combining with other filters (loudnorm, say), pan inside -af lets you control the order; for a plain mono conversion -ac 1 is enough.

Mixing to mono makes the sound disappear

If L and R carry the same signal in opposite polarity (you can create this with pan=stereo|c0=c0|c1=-1*c0), summing them cancels to silence. This happens with old “pseudo-stereo” recordings; the fix is to keep one channel (pan=mono|c0=c0).

What’s the difference between stereotools and pan?

pan is a matrix — which input channel, multiplied by what, goes to which output. stereotools bundles the functions of a DAW stereo tool: Mid/Side conversion, phase inversion, balance, stereo width. stereotools=mode=lr>ms converts L/R to Mid/Side, but for ordinary conversion pan is all you need.