A 12 TB Plex library is not a hard drive problem. It is a codec problem. Half of it is probably still H.264 in mkv containers pulled from a Blu-ray a decade ago, and the other half is a mix of AVIs, VOBs, and whatever the last remux dropped. Batch converting all of that to HEVC or AV1 by hand is a lost weekend. The apps below do it while you sleep.
We looked at eight desktop tools that automate video library transcoding: the ones that watch folders and process new files on their own, the ones that plow through a whole archive in one pass, and the manual encoders you still reach for when a single file needs surgery. Every pick runs locally on Windows, macOS, or Linux, most of them are free, and none of them ship media anywhere else.
What to look for in a media transcoding app
Automatic file discovery matters more than raw speed. A tool that watches your library folders and picks up new episodes without a nudge saves more time than one that encodes 20% faster. Look for:
- Folder watchers and library scanners with per-path rules
- FFmpeg or HandBrake under the hood so codec support is real, not marketing
- GPU acceleration (NVENC, QSV, VideoToolbox, VA-API) with per-preset toggles
- Health-check passes that flag corrupt files before you delete originals
- A distributed mode if you have a second machine sitting idle
- Direct output to your existing library layout, no rename dance
Quick comparison
| App | Best for | Platforms | License | Starting price | Auto-watch folders |
|---|---|---|---|---|---|
| Tdarr | Distributed home-server encoding | Windows, macOS, Linux, Docker | Free (V1 open-source) | Free | Yes |
| Unmanic | Simple set-and-forget Plex/Jellyfin flow | Linux, Docker | Open-source | Free | Yes |
| FileFlows | Flow-based pipelines with a visual editor | Windows, macOS, Linux, Docker | Free tier | Free / paid tiers | Yes |
| HandBrake | Manual precision and batch queue | Windows, macOS, Linux | GPL open-source | Free | No, batch queue |
| FFmpeg | Scripted everything | Windows, macOS, Linux | LGPL open-source | Free | Only via scripts |
| Shutter Encoder | GUI on top of FFmpeg | Windows, macOS, Linux | GPL open-source | Free | No |
| StaxRip | Windows-first quality-focused encoding | Windows | Open-source | Free | No |
| MediaCoder | Broad codec support with tuning knobs | Windows | Free/paid | Free / paid | No |
1. Tdarr — best for distributed home-server encoding
Tdarr is what most people mean when they say “automated Plex transcoder.” It sits on your server, watches your library paths, and runs the plugin stack you configure against every file. When it finds a 1080p H.264 remux that could be a 40% smaller HEVC file, it re-encodes it, verifies the output, and swaps it in. A second machine can join as a Tdarr Node, so a beefy desktop with an NVENC card can absorb work from a low-power NAS overnight.
The V1 codebase is open source (GPL-3.0). V2 is closed but still free for personal use.
Where it falls short: The web UI is dense. First-time setup takes an evening of reading the wiki before the plugins do what you expect.
Pricing: Free for personal use. Business licenses available.
Platforms: Windows, macOS, Linux, Docker.
Download: Tdarr website · GitHub
Bottom line: Pick Tdarr if you run Plex or Jellyfin on a home server and want a background service, not a foreground app.
2. Unmanic — best for a simple set-and-forget flow
Unmanic is Tdarr’s smaller cousin. Point it at a directory, tell it what containers and codecs you want everything to end up as, and it works through the tree. Where Tdarr expects you to build a plugin stack, Unmanic ships with sensible defaults and a plugin store that adds features one checkbox at a time.
Where it falls short: Windows and macOS users are second-class. It runs, but Docker on Linux is the intended target.
Pricing: Free, open source.
Platforms: Linux, Docker (Windows/macOS via containers).
Download: Unmanic website · GitHub
Bottom line: The right pick if you want the results Tdarr gives you without spending a Saturday learning it.
3. FileFlows — best for flow-based pipelines
FileFlows treats transcoding as a pipeline. Files enter, run through nodes (probe, decide, encode, move, notify), and exit. The visual editor is genuinely useful when you have branch logic, such as “if this file is already HEVC and under 5 GB, skip; else re-encode with NVENC at CRF 22 and move to /media/tv.”
Where it falls short: The free tier is generous but caps some advanced flow features behind a paid plan.
Pricing: Free personal tier. Paid tiers for larger deployments.
Platforms: Windows, macOS, Linux, Docker.
Download: FileFlows website
Bottom line: Best if you think in graphs. The visual editor makes complex rules easier to reason about than YAML or plugin chains.
4. HandBrake — best for manual precision and small batches
HandBrake is the encoder everyone starts with. It uses FFmpeg internally, gives you presets for common targets, and its batch queue chews through a folder of files while you go to lunch. It does not watch folders, and it does not run headless as a service. What it does, it does well.
Where it falls short: No folder watching, no automatic library maintenance. You pick files, hit start.
Pricing: Free, GPL open source.
Platforms: Windows, macOS, Linux.
Download: HandBrake website
Bottom line: The pick when you want to convert a specific set of files with control, not automate a library.
5. FFmpeg — best for scripted everything
FFmpeg is the engine most other tools on this list wrap. On its own, it is a command-line utility that can decode, encode, remux, filter, and analyze almost any media file. Pair it with a shell script and a cron job, and you have an automation pipeline that outlives any GUI tool.
Where it falls short: No GUI. The flag syntax is famously terse and you will read the docs more than once.
Pricing: Free, LGPL open source.
Platforms: Windows, macOS, Linux.
Download: FFmpeg website
Bottom line: The right pick if you already write shell scripts and want zero abstraction between you and the codec.
6. Shutter Encoder — best FFmpeg GUI for one-off conversions
Shutter Encoder is a video editor’s FFmpeg frontend. It groups functions by task (encode, edit metadata, extract, cut, subtitle burn-in), which is easier than tracing FFmpeg arguments through a bash history. It handles library-sized batches well enough, though it still expects you to select files.
Where it falls short: Not a watch-folder service. It is a workbench.
Pricing: Free, GPL open source.
Platforms: Windows, macOS, Linux.
Download: Shutter Encoder website
Bottom line: The GUI to reach for when HandBrake presets are not detailed enough and FFmpeg’s flags are too raw.
7. StaxRip — best Windows-first quality encoder
StaxRip is a Windows tool built around a chain of filters and encoders. It supports x264, x265, AV1 via SVT-AV1 and rav1e, plus most of the third-party encoders you would pick manually. The community leans toward archive-quality output rather than fast batch conversion.
Where it falls short: Windows only, and no automation loop. It expects a human at the wheel.
Pricing: Free, open source.
Platforms: Windows.
Download: StaxRip on GitHub
Bottom line: The pick if you want per-file quality control and the tuning knobs Handbrake hides.
8. MediaCoder — best for broad codec tuning on Windows
MediaCoder has more format toggles than most people will use in a lifetime. It exposes low-level encoder parameters for x264, x265, AV1, Opus, and dozens more, and its batch mode handles queues of a few hundred files.
Where it falls short: The free build is ad-supported, and development has slowed. The interface looks its age.
Pricing: Free with ads, paid version removes them.
Platforms: Windows.
Download: MediaCoder website
Bottom line: Worth a look if you need a specific codec configuration the other tools do not expose.
How to pick the right one
- If you run a Plex or Jellyfin server: Tdarr. It is built for this and scales across machines.
- If you want Tdarr’s results without the learning curve: Unmanic.
- If you think in pipelines with branches: FileFlows.
- If you convert files by hand once in a while: HandBrake.
- If you already script the rest of your NAS: FFmpeg.
- If you want a friendlier FFmpeg wrapper: Shutter Encoder.
- If you obsess over per-title quality: StaxRip on Windows.
- If you need codec settings the others hide: MediaCoder.
Two takes that overlap. If disk space is the actual problem, Tdarr with an HEVC or AV1 preset is the fastest way to reclaim it. If quality is the problem, HandBrake or StaxRip with a slow preset gets you the best per-bit result at the cost of encode time.
FAQ
What is the best free transcoding app for Plex?
Tdarr for a server-first setup, Unmanic if you want less to configure, HandBrake if you are transcoding by hand. All three are free.
Does Tdarr keep the original files?
By default it replaces them once the new encode passes a health check. You can configure it to keep originals or move them aside, and always run a health-check step before deletion.
Can we use a GPU for library transcoding?
Yes. Tdarr, Unmanic, FileFlows, HandBrake, and StaxRip all support NVENC (Nvidia), QuickSync (Intel), VideoToolbox (Apple silicon), and VA-API (AMD/Linux). Quality per bit is lower than software x265 slower presets, but throughput is much higher.
Is HEVC or AV1 better for shrinking a library?
AV1 gives smaller files at the same visual quality but encodes slower and needs a modern GPU or CPU for reasonable speed. HEVC is faster to encode, more universally supported, and still cuts library size by roughly 40% versus H.264.
Will re-encoding damage the video?
Every generation adds loss. Pick a target codec and preset once, keep the source if you can, and do not re-encode already re-encoded files. Tdarr’s health checks catch broken outputs before they replace originals.