hbpldecode
Decode HPGL files
SYNOPSIS
hbpldecode [options] <playlist.hbpl>
PARAMETERS
-h, --help
Display usage summary and exit
-o, --output=<FILE>
Write JSON to FILE (default: stdout)
-v, --version
Print version information and exit
DESCRIPTION
The hbpldecode command is a utility from the HandBrake open-source video transcoder project. It converts binary-encoded HandBrake Playlist (.hbpl) files into human-readable JSON format.
HandBrake uses .hbpl files to store batch encoding queues, presets, and job configurations. These files are compact and efficient for the GUI (like ghb or HandBrake.app) but not easily editable by hand due to their encoded nature. hbpldecode allows users to inspect, modify, or debug these playlists by outputting structured JSON, making it ideal for scripting, automation, or troubleshooting complex encoding jobs.
Common use cases include extracting job details from saved queues, converting playlists for use with HandBrakeCLI, or integrating into CI/CD pipelines for video processing. It pairs well with hbplencode for round-trip editing. The tool is lightweight, dependency-free, and available in HandBrake source releases or packages like handbrake-cli.
CAVEATS
Only supports official HandBrake .hbpl format; invalid files cause errors without fallback. No validation of JSON output semantics.
EXAMPLE
hbpldecode queue.hbpl > queue.json
Converts queue.hbpl to readable queue.json.
INSTALLATION
Build from HandBrake source contrib/hbpl/ or install via package managers: apt install handbrake-cli (includes tools).
HISTORY
Introduced in HandBrake 1.0.0 (2018) as part of CLI tools to support playlist workflows. Evolved in 1.4+ with JSON improvements for better interoperability.
SEE ALSO
HandBrakeCLI(1), hbplencode(1), ffmpeg(1)


