How to Install Handbrake on Debian (13, 12, 11)

Last updated January 24, 2026 6:45 pm Joshua James 11 min read

This guide shows you how to install HandBrake on Debian using either APT (Debian’s default repositories) or Flatpak (Flathub). HandBrake converts video files from nearly any format into modern, widely supported formats, which makes it useful for shrinking large libraries, creating device-friendly copies, or transcoding rips you’ve already made. The steps apply to Debian 13 (Trixie), Debian 12 (Bookworm), and Debian 11 (Bullseye), with verification commands so you can confirm what you installed.

HandBrake includes device-specific presets for quick conversions, batch processing for multiple files, video filters like deinterlacing and denoising, and support for both soft and hard subtitle tracks. The live preview feature lets you verify encoding settings before committing to a full transcode, which is particularly useful when working with large video files.

Installation Methods Comparison

HandBrake is available through Debian’s official repositories and Flathub. Choose the method that best fits how you prefer to update software and how much you care about having the newest features.

MethodBest ForVersion UpdatesProsCons
APT (Default Repos)Most users who want Debian-native packagingUpdates follow Debian’s repository cadenceBest system integration, updates through normal APT maintenance, no extra frameworksVersion is tied to your Debian release (Debian 13: 1.9.x, Debian 12: 1.6.x, Debian 11: 1.3.x)
Flatpak (Flathub)Users who want newer releases on stable DebianUpdates independent of Debian’s release cycleOften newer app versions, sandboxing, consistent packaging across distributionsRequires Flatpak, updates are managed separately, review sandbox permissions before using

If you want set-and-forget updates with the rest of your system, use APT. If you want a newer HandBrake release on stable Debian without switching repositories, use Flatpak.

Before You Start

These checks are optional but help prevent common surprises. Some Debian derivatives (like LMDE or Devuan) have different package availability, and confirming your architecture ensures you’re looking at the right package builds.

cat /etc/os-release
uname -m

Look for ID=debian and confirm the codename matches your expected release. Architecture is typically x86_64 on standard PCs and laptops, or aarch64 on ARM-based systems like Raspberry Pi 4 or cloud ARM instances.

ID=debian
VERSION_CODENAME=bookworm

x86_64

If you’re running a headless server (no GUI), install the CLI package only (handbrake-cli) and use HandBrakeCLI to encode from the terminal.

Install HandBrake on Debian

Method 1: Install from Debian Repositories (APT)

Step 1: Update Package Lists

Refresh your package lists so APT can see the latest packages available for your Debian release:

sudo apt update

A full system upgrade (sudo apt upgrade) is a good maintenance habit, but it’s not required just to install HandBrake. If you run it, expect other packages on your system to update too.

Step 2: Install HandBrake

Install the GUI package plus the optional CLI package. The CLI is useful for scripts, remote servers, or batch jobs:

sudo apt install handbrake handbrake-cli

Verify the installation by confirming the packages are installed:

dpkg -l handbrake handbrake-cli 2>/dev/null | awk '/^ii/ {print $2, $3}'

Your output shows the package names and versions installed on your system:

handbrake 1.x.x+ds1-...
handbrake-cli 1.x.x+ds1-...

If you want to compare what you installed against what Debian offers per release, Debian’s package search currently lists HandBrake at 1.9.2+ds1-1 (Debian 13), 1.6.1+ds1-1 (Debian 12), and 1.3.1+ds1-2 (Debian 11). Patch-level build suffixes (for example, +b1) can differ by architecture and rebuilds.

For a quick check that the binaries exist, you can also run:

command -v ghb
command -v HandBrakeCLI

Method 2: Install from Flathub (Flatpak)

Flatpak provides HandBrake in a sandboxed environment with more frequent version updates independent of Debian’s release cycle. This method is a common choice if you want a newer HandBrake release on stable Debian without touching your APT sources.

If Flatpak is not already installed on your Debian system, follow our Flatpak installation guide for Debian to set up Flatpak and enable Flathub. Return here to install HandBrake.

Step 1: Enable Flathub Repository

Add the Flathub remote at the system level. Flathub’s recommended .flatpakrepo URL redirects to the download host, so using the direct download URL avoids redirect edge cases in some environments:

sudo flatpak remote-add --if-not-exists --system flathub https://dl.flathub.org/repo/flathub.flatpakrepo

Step 2: Install HandBrake via Flatpak

Install HandBrake from Flathub at the system level, making it available to all users:

sudo flatpak install --system flathub fr.handbrake.ghb -y

The --system flag targets the default system-wide Flatpak installation. The -y flag auto-confirms prompts.

Verify the Flatpak installation by showing the installed app metadata:

flatpak info --system fr.handbrake.ghb

You should see output showing the application name, version, and installation details:

HandBrake - fr.handbrake.ghb

          ID: fr.handbrake.ghb
         Ref: app/fr.handbrake.ghb/x86_64/stable
        Arch: x86_64
      Branch: stable
     Version: 1.x.x
     License: GPL-2.0-only
      Origin: flathub
  Collection: org.flathub.Stable
Installation: system
   Installed: ...

If you want to review sandbox permissions (recommended before using any Flatpak app with file access), you can inspect them directly:

flatpak info --show-permissions --system fr.handbrake.ghb

Launch HandBrake

Launch HandBrake from the terminal or through your desktop environment’s application menu. The launch command depends on your installation method.

Launch HandBrake from Terminal

If you installed HandBrake via APT, launch the GTK interface using ghb:

ghb

For command-line work (useful for servers and scripts), the binary is HandBrakeCLI. Start by checking available options:

HandBrakeCLI --help | less

A basic CLI transcoding example that converts a video to H.264 MP4 using the “Fast 1080p30” preset:

HandBrakeCLI -i /path/to/input.mkv -o /path/to/output.mp4 --preset="Fast 1080p30"

List all available presets with HandBrakeCLI --preset-list to see the full range of built-in encoding profiles.

For the Flatpak installation, use the full application ID:

flatpak run fr.handbrake.ghb

Launch HandBrake from Applications Menu

To launch HandBrake graphically, search for “HandBrake” in your desktop environment’s application menu. The exact steps vary by desktop environment:

  1. Open your application menu (Activities, Menu, or Show Applications depending on your desktop environment)
  2. Type “HandBrake” in the search field
  3. Click the HandBrake icon to launch the application
HandBrake icon displayed in GNOME Activities search results on Linux desktop
Search for HandBrake in your desktop environment’s application menu to launch the video transcoder

Getting Started with HandBrake

HandBrake offers extensive encoding options that can seem overwhelming at first. These practical tips help you start transcoding efficiently while avoiding common mistakes.

Essential HandBrake Workflow Tips

  • Start with presets: HandBrake includes device-specific presets for quick conversions. Select your target device (smartphone, tablet, TV) from the presets menu to automatically configure optimal encoding settings without manual adjustment.
  • Use the preview feature: Before starting a lengthy transcode, generate a preview to verify quality settings. The preview renders a short section using your current settings, letting you catch problems before committing to the full encode.
  • Enable batch scanning: When processing multiple files, drag an entire folder into HandBrake rather than adding files individually. The batch scan feature detects all video files and queues them for sequential processing.

Quality and Performance Settings

  • Use presets, then iterate: Start with a built-in preset that matches your target (for example, a general H.264 preset). Then change one thing at a time (quality, resolution, audio) and use the preview feature so you can see the trade-offs before committing to a long encode.
  • Create custom presets: If you frequently encode with the same settings, save a custom preset with your preferred codec, resolution, and quality settings. This eliminates repetitive manual configuration for recurring transcoding tasks.
  • Speed vs quality is a choice: Faster encodes usually trade off compression efficiency (or quality at the same size). If your goal is archival quality, prioritize consistency and repeatability over speed, and test settings on a short clip first.

Advanced Encoding Workflows

  • Subtitle handling: HandBrake supports both embedded (hard-coded) and separate (soft) subtitle tracks. Hard-coded subtitles are burned directly into the video and cannot be disabled, while soft subtitles remain as selectable tracks in the output file. For maximum flexibility, use soft subtitles unless you need compatibility with devices that don’t support external subtitle tracks.
  • Video filters: The Filters tab includes options for deinterlacing (essential for converting DVD content), denoising, and detelecine. Apply these filters only when needed; unnecessary filtering can degrade quality or increase encoding time.
  • Audio pass-through: When the source audio codec matches your target format (for example, AAC or AC3), enable pass-through to avoid re-encoding. This preserves original audio quality and significantly reduces processing time.

For related video processing workflows, see our guides on installing FFmpeg for Debian (command-line video manipulation) and MakeMKV for Debian (DVD and Blu-ray ripping). These tools complement HandBrake for comprehensive media processing pipelines.

HandBrake application interface showing video encoding settings and preset options
HandBrake’s interface displays encoding presets, video settings, and output configuration options for video transcoding

Manage HandBrake

Update HandBrake

Update APT HandBrake Installation

For HandBrake installed via APT, update to the latest version available in the Debian repositories:

sudo apt update
sudo apt install --only-upgrade handbrake handbrake-cli

This refreshes package metadata, then upgrades only HandBrake packages if they’re already installed. If you prefer updating everything at once, use sudo apt upgrade (no package name) after sudo apt update.

Update Flatpak HandBrake Installation

For HandBrake installed via Flatpak, update specifically HandBrake or all Flatpak applications:

sudo flatpak update --system fr.handbrake.ghb

To update all installed Flatpak applications at once:

sudo flatpak update --system

Remove HandBrake

To uninstall HandBrake, use the removal command that matches your installation method.

Remove APT HandBrake Installation

Remove HandBrake installed via APT:

sudo apt purge handbrake handbrake-cli

Remove dependencies that were installed automatically and are no longer needed:

sudo apt autoremove

If you also want to remove per-user settings (presets, queues, preferences), find the configuration directory created under your home directory after you’ve launched HandBrake at least once:

ls -d ~/.config/*handbrake* ~/.config/*ghb* 2>/dev/null

Only delete a configuration directory if you’re sure it belongs to HandBrake and you want to lose that data. Back it up first if you want to preserve presets or preferences for a future reinstall.

Remove Flatpak HandBrake Installation

Remove HandBrake installed via Flatpak:

sudo flatpak uninstall --system fr.handbrake.ghb

If you also want to remove the app’s Flatpak data directory (stored under ~/.var/app/) and related permissions, uninstall with --delete-data. This is optional and is a more complete cleanup.

sudo flatpak uninstall --delete-data --system fr.handbrake.ghb

Remove unused Flatpak runtimes and dependencies that are no longer needed:

sudo flatpak uninstall --unused --system

Troubleshooting

If something fails, the fastest path is to confirm which method you installed and whether the relevant package/app is actually present.

APT: Package Not Found or Launch Fails

If you see E: Unable to locate package handbrake, refresh package metadata and confirm APT can see the package for your release:

sudo apt update
apt-cache policy handbrake handbrake-cli

If ghb or HandBrakeCLI isn’t found after installation, confirm the packages are installed and the binaries exist:

dpkg -l handbrake handbrake-cli 2>/dev/null | awk '/^ii/ {print $2, $3}'
command -v ghb
command -v HandBrakeCLI

Flatpak: App ID Not Found or Permission Errors

If flatpak install can’t find fr.handbrake.ghb, confirm the Flathub remote exists for the system installation:

flatpak remotes --system

If updates or removals fail with a “system installation” permission message, re-run the command with sudo and --system (this guide uses a system-wide Flatpak install so all users can run HandBrake).

GUI Fails to Start or Shows Display Errors

If HandBrake’s GUI (ghb) fails to launch with display-related errors, confirm you have a working display environment and the required GTK libraries:

echo $DISPLAY
dpkg -l libgtk-3-0 2>/dev/null | awk '/^ii/ {print $2, $3}'

If $DISPLAY is empty, you’re likely in a headless session (SSH without X forwarding, or a server without a desktop environment). In that case, use HandBrakeCLI instead of the GUI, or set up X11 forwarding if you need the graphical interface remotely.

Encoding Fails or Produces Corrupted Output

If encoding jobs fail partway through or produce unplayable files, check available disk space on the output drive and verify the source file isn’t corrupted:

df -h /path/to/output/directory
ffprobe /path/to/input.mkv 2>&1 | head -20

HandBrake needs enough free space for the entire output file, plus temporary workspace. If disk space is tight, encoding can fail mid-job. If ffprobe reports errors reading the source file, the input may be damaged.

Frequently Asked Questions

Can I use HandBrake to rip copy-protected DVDs or Blu-rays?

HandBrake does not handle disc decryption. If your disc is copy-protected, you generally need a separate tool to produce an unencrypted file first and then transcode that file with HandBrake. You are responsible for complying with local laws and the terms that apply to media you own.

Which HandBrake version should I choose: APT or Flatpak?

Use APT if you want HandBrake to integrate with your system and receive updates through normal Debian maintenance. Choose Flatpak if you want a newer HandBrake release on stable Debian without changing your APT sources. The Flatpak version updates independently from Debian’s release cycle.

Does HandBrake support hardware-accelerated encoding on Debian?

HandBrake on Linux may offer hardware encoders depending on the build, your drivers, and the codecs you select. If you see hardware encoder options in the Video tab, you can test them on a short clip first to confirm compatibility and quality for your workload.

Why does HandBrake take so long to encode videos?

Video encoding is CPU/GPU intensive. Speed depends on your hardware, the encoder you choose, quality settings, resolution, filters, and whether you enable hardware acceleration. The most reliable way to predict time on your system is to run a short test encode (or use HandBrake’s preview) with the settings you plan to use.

Can I use HandBrake via the command line (CLI) on Debian?

Yes. Install the CLI package with APT (sudo apt install handbrake-cli), then run HandBrakeCLI --help to see available options. This is the most practical approach for headless servers and automation.

Does the Debian version of HandBrake support AV1 encoding?

Codec and encoder availability depends on the HandBrake version you install and the libraries it’s built against. If you need the newest encoders and formats on stable Debian, the Flatpak method is usually the simplest way to get a newer HandBrake release without changing your Debian repositories.

Why don’t my subtitles appear in the output video?

HandBrake does not include subtitle tracks by default. Add a subtitle track in the Subtitles tab. If you need subtitles always visible, enable burn-in; if you want selectable subtitles, keep them as a separate track in a compatible container (for example, MKV).

Conclusion

You now have HandBrake installed on Debian using either the Debian-packaged APT method or the Flatpak method from Flathub. If you’re new to HandBrake, start with a preset close to your goal, use the preview feature, and only change one setting at a time until you learn how each option affects quality, file size, and time. For broader media workflows, pairing HandBrake with FFmpeg (automation and inspection) and MakeMKV (creating rips to transcode) can make your process more reliable and repeatable.

Found this guide useful?

Support LinuxCapable to keep tutorials free and up to date.

Buy me a coffee Buy me a coffee

Before commenting, please review our Comments Policy.
Formatting tips for your comment

You can use basic HTML to format your comment. Useful tags:

You type Result
<code>command</code> command
<pre>block of code</pre> code block
<strong>bold</strong> bold
<em>italic</em> italic
<a href="URL">link</a> link
<blockquote>quote</blockquote> quote block

Leave a Comment

We read and reply to every comment — let us know how we can help or improve this guide.

Let us know you are human: