Handbrake
Description
HandBrake is a free and open-source video transcoder that converts video files from almost any format into a smaller set of modern and widely supported output formats. The project started in 2003 when the developer Eric Petit developed it for BeOS as a tool for ripping DVDs to a storage device. Development stalled in 2006, then briefly continued as a community fork known as MediaFork, and resumed under the HandBrake name with version 1.0.0 being released in December 2016. The project has been maintained by open source contributors ever since, with regular major releases adding new codecs, presets, and platform-specific improvements.
HandBrake is suitable for many types of users. Casual users use it to reduce the size of large video files for storage, to convert recordings to a format that will play on a phone or tablet, or to back up personal DVD and Blu-ray collections to files on a hard drive. More advanced users use it for batch processing large video libraries, fine-tuning codec settings for archival quality, or preparing video for streaming and online sharing. The program is free, has no advertising and requires no registration.
INPUT SOURCES
HandBrake accepts video from a wide range of sources. It reads common digital video file formats such as MP4, M4V, MKV, AVI, WMV, MOV, MPG, MPEG, TS, M2TS, FLV, and WebM. It opens production formats used by professional cameras and nonlinear editing software, such as MXF, MPEG-TS, and QuickTime containers, as well as professional video codecs, such as CineForm, DNxHD, DNxHR, ProRes, XAVC, and XDCAM.
For disc-based sources, HandBrake reads unencrypted DVD discs, DVD ISO image files, and VIDEO_TS folder structures directly. It also works with Blu-ray BDMV folders and Blu-ray ISO images. HandBrake does not defeat or circumvent copy protection of any kind. It cannot read commercially pressed DVDs or Blu-rays protected by DRM without separately installed third-party library. The most common method for encrypted DVDs is to install the libdvdcss library along with HandBrake, which takes care of the decryption layer separately. Encrypted Blu-ray discs need an additional step of decryption with an external tool before HandBrake can read the output.
When opening disc-based sources or multi-title video files, HandBrake will scan the source and display a list of the titles it has found, giving the user the option to select which content to transcode. Users can specify a maximum scan time to accelerate the scanning of large or complex disc sources.
OUTPUT FORMATS AND CODECS
HandBrake produces output in three container formats: MP4 (also saved as M4V when the content requires it), MKV (Matroska) and WebM. Each container supports a different range of video and audio codecs.
For video encoding, HandBrake provides software-based encoders and hardware-accelerated encoding depending on the system. Software video encoders include x264 (H.264/AVC), x264 10-bit, x265 (H.265/HEVC) in standard, 10-bit and 12-bit variants, SVT-AV1 and SVT-AV1 10-bit for the AV1 codec, VP8, VP9 and VP9 10-bit, MPEG-4, MPEG-2, Theora and FFV1 for lossless archival. Hardware-accelerated encoders use the GPU or dedicated fixed function hardware and encode much faster than software encoders at the cost of slightly lower compression efficiency. Intel Quick Sync Video supports H.264 and H.265 hardware encoding on Intel CPUs with integrated graphics. Nvidia NVENC is H.264 and H.265 hardware encoding on Nvidia GPUs. AMD Video Coding Engine is H.264 and H.265 hardware encoding on AMD GPUs. On macOS, Apple’s VideoToolbox supports hardware-accelerated H.264, H.265 and AV1 encoding and decoding.
For audio encoding, HandBrake supports AAC, HE-AAC (macOS only via CoreAudio), MP3, FLAC, AC-3, E-AC-3, Opus and Vorbis. It also passes through existing audio tracks without re-encoding, preserving the original AC-3, E-AC-3, DTS, DTS-HD, AAC, MP3, TrueHD and Dolby Atmos tracks from the source file. Users can add multiple audio tracks to a single output file and set up each track individually.
HandBrake is flexible in dealing with subtitles. It imports SRT, SSA, VOBSUB and PGS subtitle files and supports subtitles extracted from DVD and Blu-ray sources. Subtitles can be burned directly into the video image so that they always appear no matter what player is used, or they can be kept as soft subtitle tracks, which viewers can turn on and off in a compatible player. Users can control the pass-through of audio and subtitle track names to the output, and disable Dolby Vision and HDR10+ passthrough from the command line.
QUALITY and ENCODing SETTings
HandBrake has two methods to control the quality of the output and the file size. Constant Quality (CQ/RF) mode is aimed at a constant level of visual quality throughout the encode. The RF (Rate Factor) slider is used to control the aggressiveness of the encoder in compressing the video: lower values preserve more detail and generate larger files, whereas higher values compress more aggressively at the expense of visual quality. Average Bitrate (ABR) mode instead targets a specific bitrate, which results in more predictable file sizes but variable quality. A two-pass encoding option available with ABR mode improves quality at a given bitrate by analyzing the video in a first pass before encoding in a second.
The encoder speed preset is used to control the amount of processing time the encoder spends looking for compression opportunities. Slower presets will result in smaller files at the same quality level but take much longer. Faster presets complete faster but at a larger file size. The Tune option is used to adjust the behavior of the encoder for certain types of content, such as film, animation, or grain-heavy material. Profile and Level settings to ensure compatibility with certain devices or standards.
HandBrake offers a variety of filters that are used to process video prior to encoding. These include deinterlacing (removing the combing artifacts in interlaced video from broadcast recordings or DVDs), detelecine (reversing 3:2 pulldown from film-to-video transfers), denoise (reducing grain or digital noise), deblock (smoothing compression blocking artifacts from low-quality sources), sharpening and rotation. The Framerate Shaper is used to control how HandBrake performs frame rate conversion, with different settings for constant and peak frame rates. Users can also crop the picture to eliminate black bars, and resize the output to any resolution.
PRESETS
HandBrake has a library of built-in presets divided into categories. The General category offers presets at common resolutions ranging from 480p to 2160p (4K) with H.264 or H.265 encoding with the aim of broad device compatibility. The Web category is aimed at streaming and download scenarios. The Devices category includes presets that are optimized for use on specific hardware such as phones, tablets, game consoles, and media players, with settings selected to ensure maximum compatibility on each target device. The Matroska category generates MKV output. The Production category offers high-quality presets that are appropriate for video editing workflows.
The Social category includes presets for sharing short video clips on the Internet. Social 25MB presets, added in 2024, generate clips sized for platforms with 25MB upload limits. Social 10MB presets, introduced in version 1.10, are aimed at the 10MB upload limit of free accounts on Discord, and include clips of 30 seconds, 1 minute, and 2 minutes in length. These presets use H.264 encoding at 360p to 720p with AAC stereo audio, with a slower encoder speed setting to ensure quality at the reduced bitrate.
Users can create their own settings as custom presets and group them into categories. Custom presets can be exported and shared or imported on another computer. When updating HandBrake, custom presets may need to be recreated or updated for compatibility with the new version.
QUEUE AND BATCH PROCESSING
HandBrake has a job queue for batch encoding. Users add jobs to the queue with individual settings per job — different source files, output paths, codec settings, and presets for each entry. The queue does not require any user intervention to process the jobs sequentially. Jobs can be paused and resumed, and HandBrake can optionally pause encoding automatically when the computer enters a power save mode. A Start Later option in the queue allows users to schedule when the queue starts. Users can also set HandBrake to perform a custom action when the queue is finished, such as shutting down or sleeping the computer.
HandBrake’s automatic file naming system creates output filenames based on variables such as source title, chapter information, creation date, and codec settings, which reduces the manual work of naming files during large batch jobs.
METADATA
HandBrake passes through metadata from source files to output files where the output container supports it. Version 1.10 extended metadata preservation to include creation date, cover art and location data. Chapter markers from the source are retained in the output, enabling media players to present chapters and enable viewers to skip from one section to another. Users can import custom chapter names from a file or type them in.
INTERFACE AND COMMAND LINE
HandBrake displays its tools in a graphical interface structured around a source selection area, output settings tabs (Summary, Dimensions, Filters, Video, Audio, Subtitles, Chapters), a preview window, and the queue. The interface scales with the display settings of the operating system up to some limits; very high display scaling may require a proportionately higher screen resolution to accommodate the interface.
A command-line interface (HandBrakeCLI) gives access to all of HandBrake’s encoding functions without the graphical interface. The CLI accepts the same settings as the GUI and supports preset names for quick configuration. This makes it practical to integrate HandBrake into automated workflows, scripts, and server-side processing pipelines where a graphical interface is unavailable or impractical.
PLATFORM-SPECIFIC FEATURES
On macOS, HandBrake is a Universal Binary that runs natively on both Intel and Apple Silicon processors. VideoToolbox offers hardware-accelerated encoding and decoding, including AV1 decoding in version 1.10. A Metal-accelerated Render Sub filter is used to improve subtitle rendering performance. HandBrake integrates with the macOS Time Machine and supports the system’s native dark and light modes.
On Windows, HandBrake needs Microsoft .NET Desktop Runtime 8.0, which is available separately from Microsoft for both x64 and Arm64 systems. ARM devices benefit from DirectX-based AV1 video decoding and optimizations for the Arm64 instruction set. Intel Quick Sync Video hardware encoding and decoding is available on compatible Intel processors, HandBrake automatically disables these if outdated drivers are detected. Users with 13th or 14th generation Intel processors should make sure their system bios is up to date to prevent stability problems during encoding.
On Linux, HandBrake is available as a Flatpak package via Flathub, which is the preferred installation method for most distributions. Ubuntu users should use the Flatpak instead of the unofficial Snap package, which has not been updated since 2019. Linux-specific improvements in recent versions include stability fixes for Opus and Vorbis passthrough in WebM output and hiding presets for hardware encoders that are not available on the current system.
LIMITATIONS
HandBrake does not record and capture video from live sources such as webcams, capture cards, or screen capture. It transcodes existing files only. It does not do video editing such as trimming, cutting, combining multiple clips, adding text overlays, or color grading beyond its filter set. It is not able to rip copy-protected commercial DVDs or Blu-rays without additional third-party software. Output is restricted to MP4, MKV, and WebM containers, which excludes formats such as AVI, WMV, MOV, and MXF for output. Users who require these output formats, or more complete video editing capabilities, will require additional or alternative software.