How to Use the FFmpeg Noise Filter
This guide explains how to use the noise filter in
FFmpeg to add video noise or digital grain to your video files. You will
learn the fundamental syntax, key parameters for controlling noise
intensity, and practical command-line examples to help you simulate film
grain or generate test patterns.
Understanding the FFmpeg Noise Filter
The noise filter in FFmpeg allows you to introduce
random noise into the luma (brightness) and chroma (color) channels of a
video. It is commonly used to simulate analog film grain, hide
compression artifacts, or create placeholder test footage.
The basic syntax for applying the noise filter is:
ffmpeg -i input.mp4 -vf "noise=parameter_options" output.mp4Key Filter Parameters
To control how the noise looks, you can configure several parameters.
These can be applied to all channels at once, or targeted specifically
at luma (l) or chroma (c) channels.
alls/all_strength: Sets the noise strength (0 to 100) for all channels.allf/all_flags: Sets the noise flags for all channels.t: Temporal noise (the noise pattern changes with every frame, creating active static/grain).u: Uniform noise (if omitted, Gaussian noise is used instead).p: Patterned noise.
ls/luma_strength: Sets the noise strength specifically for the luma channel (brightness).lf/luma_flags: Sets the flags for the luma channel.cs/chroma_strength: Sets the noise strength for the chroma channels (color).cf/chroma_flags: Sets the flags for the chroma channels.
Practical Examples
1. Add Subtle Film Grain (Luma Only)
To simulate natural-looking film grain, you should only add temporal noise to the luma channel. This keeps the color channels clean while adding texture to the brightness.
ffmpeg -i input.mp4 -vf "noise=luma_strength=8:luma_flags=t" -c:a copy output.mp42. Add Heavy Color Static (Temporal Noise)
If you want to create a heavy “retro TV” static effect, apply strong temporal noise to all channels (both brightness and color).
ffmpeg -i input.mp4 -vf "noise=alls=30:allf=t" -c:a copy output.mp43. Add Uniform Static (Noisy Overlay)
By default, FFmpeg uses Gaussian noise, which looks like natural
grain. If you want harsh, digital pixel noise, add the u
flag to enable uniform noise.
ffmpeg -i input.mp4 -vf "noise=alls=20:allf=t+u" -c:a copy output.mp44. Add Stationary Noise (Frozen Grain)
If you omit the t flag, the noise pattern will remain
static on the screen while the video plays underneath.
ffmpeg -i input.mp4 -vf "noise=alls=15" -c:a copy output.mp4