HandBrake is the de-facto open-source video transcoder for desktop. Millions of people use it to compress video, rip DVDs, and prepare files for streaming. But it has one cost that gets in the way for many casual users: you have to install it, learn the GUI, and keep it updated.

This guide compares HandBrake with FFmpeg Cookbook’s browser-based compressor — a free, install-free way to compress video with the same H.264/H.265 codecs HandBrake uses internally — and helps you decide which fits your workflow.

Tested: HandBrake 1.8.2 · FFmpeg 7.1 · ffmpeg.wasm 0.12.15 · Chrome 124 / Safari 17 / Firefox 125


Quick comparison

HandBrakeFFmpeg Cookbook
Install requiredYes (Win/Mac/Linux)No — runs in browser
Account requiredNoNo
File upload to serverNo (local)No (local, ffmpeg.wasm)
Encoderx264 / x265 / SVT-AV1 / NVENC / QSVx264 (H.264) via ffmpeg.wasm
CRF / 2-passBothCRF or target file-size mode
Hardware accelerationYes (NVENC, QSV, VideoToolbox)No (browser sandbox)
Batch queueYesOne file at a time
DVD / Blu-ray rippingYesNo
Subtitles burn-inYesUse Subtitle tool
Watermark on outputNeverNever
Mobile / tabletNoYes
PriceFree, open-sourceFree, open-source frontend

When HandBrake is the right choice

HandBrake genuinely wins on a handful of fronts. If any of these matter, install it.

  • Hardware acceleration: NVENC / QSV / VideoToolbox encode 4–10× faster than software-only x264. Browser-based tools cannot reach the GPU.
  • Batch queues: HandBrake’s queue lets you set up 50 conversion jobs and walk away.
  • HEVC (H.265) and AV1: HandBrake ships modern encoders. ffmpeg.wasm currently bundles libx264 only.
  • DVD / Blu-ray ripping: HandBrake decodes physical media; browser tools cannot.
  • Long videos (> 30 minutes / > 1 GB): ffmpeg.wasm holds frames in browser memory and gets unstable at large sizes. HandBrake reads from disk.

If you are an editor or content producer who compresses video weekly, HandBrake is the right tool. Install it and learn one GUI well.


When the browser tool wins

  • One-off compression: You don’t want to install a 50 MB app for one file. Open a tab, drop the file, download the result.
  • Privacy is critical: Both tools are technically local-only, but with the browser tool there is no installer, no telemetry, no auto-update mechanism — only HTML and WebAssembly running on a tab you can close.
  • Public / shared computers: You can’t install software on a library / school / work machine.
  • Sharing instructions: It is dramatically easier to send https://ffmpeg-cookbook.com/en/tools/compress/ than to walk a non-technical friend through “download HandBrake → install → ignore Gatekeeper warning → click these settings…”.
  • Discord / SNS-bound files: The Discord Compressor targets exact byte limits (10 / 25 / 50 MB) that HandBrake can only approximate via two-pass.
  • Mobile: HandBrake has no mobile build. The browser tool runs on iPad / Android tablets.

Quality and file size: are they identical?

Both tools ultimately call libx264, the same H.264 encoder. With identical CRF, preset, and resolution, the output is bit-for-bit close — you will not see a quality difference at any sane viewing distance.

The expected behaviour for a typical 1080p, 60-second talking-head clip is roughly the following — these are representative figures based on documented libx264 behaviour and our own informal tests, not a single controlled benchmark; treat them as ballpark, not exact:

SettingApprox. sizeApprox. VMAF
CRF 23 / preset medium45–55 MB~94–96
CRF 20 / preset slow65–80 MB~96–98
CRF 28 / preset fast25–35 MB~88–91

The few-percent size difference between HandBrake and ffmpeg.wasm comes from HandBrake’s container muxer and metadata defaults, not the encoder. For a given CRF/preset/resolution the encoded video quality is functionally the same — both call the same libx264 build family.

Want exact numbers for your footage? Run our reproducible benchmark recipe (or the desktop FFmpeg -i input.mp4 -c:v libx264 ... -ssim and vmaf filters). Numbers in this table are not a substitute for measuring your specific source.

What HandBrake gets wrong about ffmpeg.wasm: it is not slower because of the browser. The bottleneck is the lack of hardware acceleration — pure x264 software encoding runs at the same speed in both tools.


Equivalent FFmpeg commands

Every HandBrake setting maps to a FFmpeg argument. Once you know the mapping, you can reproduce HandBrake’s output anywhere — desktop CLI, browser, server.

CRF compression (what most people want)

# Equivalent to HandBrake's "Constant Quality 23, x264, Medium preset"
ffmpeg -i input.mp4 -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k output.mp4

The browser tool exposes the same three knobs — CRF, preset, audio bitrate — in a UI. No command memorization required.

Target file size (what HandBrake hides under “Avg Bitrate, 2-pass”)

# Target 25 MB output for a 60s video → ~3.3 Mbps video bitrate
ffmpeg -i input.mp4 -c:v libx264 -b:v 3200k -pass 1 -an -f null /dev/null && \
ffmpeg -i input.mp4 -c:v libx264 -b:v 3200k -pass 2 -c:a aac -b:a 128k output.mp4

The Discord Compressor does this math automatically when you pick “10 MB” or “25 MB”.

Resize and compress in one step

ffmpeg -i input.mp4 -vf "scale=1280:-2" -c:v libx264 -crf 23 -preset medium -c:a aac output.mp4

-2 keeps the height divisible by 2 (required by libx264). The browser tool exposes this as a “1080p / 720p / 540p” dropdown.


What you give up by going browser-only

Honesty matters — the browser tool is not a HandBrake clone.

  • No HEVC encode: Browser shipping libx265 in WASM is too large. Use H.264 (libx264) only.
  • No NVENC / QSV / VideoToolbox: GPU access from a browser tab is restricted by the sandbox.
  • No Subtitles tab equivalent in one tool: HandBrake has subtitle import in the same dialog; we split that into the dedicated Subtitle tool and Watermark tool.
  • 500 MB practical limit: Beyond that you’ll hit browser memory limits. HandBrake reads from disk and is unbounded.

If any of those is a hard requirement, install HandBrake.


Migration recipe — HandBrake → browser

Common HandBrake workflows and how to replicate them in the browser:

HandBrake workflowBrowser-tool equivalent
”Web Optimized” presetCompress with CRF 23, preset medium, +faststart (default)
“Discord 25 MB” targetDiscord Compressor with 25 MB selected
”Vimeo 1080p” presetCompress at 1080p, CRF 20, preset slow
Subtitle burn-inSubtitle tool — drop SRT, choose style, burn
Audio extract from videoAudio Extractor — MP3 / WAV / AAC
Trim before encodingVideo Trimmer → output → Compress

Frequently Asked Questions

Is FFmpeg Cookbook actually free?

Yes — every tool is free with no account, no watermark, no upload. To cover operating costs, the site may use ads or referral links in some long-form articles, but the tools themselves do not have a paid tier.

Why doesn’t the browser tool support HEVC / H.265?

The libx265 WebAssembly build is roughly twice the size of libx264, and Safari’s HEVC decoder availability is uneven on older devices. We chose to keep ffmpeg.wasm small and ubiquitous rather than ship HEVC encode. For HEVC you need HandBrake or desktop FFmpeg.

Will my file ever be uploaded?

No. ffmpeg.wasm runs entirely in your browser tab — your file is read from your local disk into JavaScript memory and written back the same way. You can verify this by opening DevTools → Network: zero outbound traffic with the file payload.

Does the browser tool work for 4K / long videos?

Up to about 500 MB / 30 minutes. Beyond that, browser memory limits start causing instability. For 4K master files or feature-length content, HandBrake on desktop is the right tool.

Can I use the browser tool offline?

Yes after first load — ffmpeg.wasm and the page assets are cached by the service worker. Once you’ve used the tool once, you can disconnect and re-use it on the same machine.

How do I learn the FFmpeg commands HandBrake hides?

Every browser tool page shows the equivalent FFmpeg CLI command in the “Equivalent FFmpeg commands” section. Run those locally and you’ve reproduced what HandBrake does.

Which is faster?

For software encoding (x264 only), they’re equivalent. HandBrake wins decisively when you enable hardware acceleration (NVENC, QSV, VideoToolbox) — the browser sandbox cannot use those.


Recommendation

  • Use HandBrake when: you compress video weekly, need HEVC/AV1, want hardware acceleration, or are processing long-form / DVD content.
  • Use FFmpeg Cookbook when: you compress occasionally, value zero-install, work on shared machines, target Discord/SNS sizes, or simply want to share a link with someone who can’t install software.

Both are free, open-source-aligned tools. They solve overlapping problems with different trade-offs. The browser tool is the lighter weight choice; HandBrake is the heavier hammer.



Tested: HandBrake 1.8.2 · FFmpeg 7.1 · ffmpeg.wasm 0.12.15 · Ubuntu 24.04 / Windows 11 / macOS 14 Primary sources: HandBrake Docs · FFmpeg libx264 Wiki